靶场简介
Tsclient靶场整体难度中等,涉及内网代理、MSSQL数据库、内网扫描、域认证机制和提权等多方面知识。
边界突破
拿到靶场下发的IP(39.98.109.109)用fscan或nmap扫描一下端口开放情况,发现mssql弱口令漏洞。
对mssql弱口令漏洞进行利用,使用工具MDUT进行连接。
连接上之后,由于得到的弱口令漏洞是sa权限,可进行xpcmdshell的激活。
激活xpcmdshell执行下whoami查看下目前权限,发现为普通用户权限。
Systeminfo查看下系统信息
Whoami /priv 查看下当前用户权限
因为是 mssql 服务账户,
且SeImpersonatePrivilege权限启用,
于是考虑使用 Potato 系列提权,上传下载好的甜土豆在MUDT里面运行。
提权成功后进行添加用户操作,进行远程桌面登录操作。
net user klm qwer1234!QQ@@ /add 执行添加用户命令
net localgroup administrators klm /add 将刚刚添加的用户加入管理员
REG ADD HKLMSYSTEMCurrentControlSet
ControlTerminal" "Server /
v fDenyTSConnections /t REG_DWORD
/d 00000000 /f 开启3389登陆
成功登录并获取管理员权限。
内网横向
为了摸清内网存活情况,于是使用fscan进行探测
172.22.8.18 已拿下机器
172.22.8.15 域控机
172.22.8.31和172.22.8.46两台为域内机器。
quser查看当前登录的用户
netstat 查看连接信息, 发现是从内网
172.22.8.31 XIAORANGWIN19-CLIENT 上连过来的
根据题目 tsclient, 参考文章如下
https://mp.weixin.qq.com/s/Aog7M_6XauRi96wFeRo6sg
https://www.geekby.site/2021/01/红蓝对抗中rdp协议的利用
https://www.c0bra.xyz/2021/01/11/RDP反向攻击
得知当使用mstsc远程连接计算机时,远程计算机会分配名为tsclient给这台计算机。通过 \tsclient盘符可以在远程计算机上访问本机。为了达成这个目的,首先需要模拟 John 用户的令牌, 而后再访问 \tsclient共享 (172.22.8.31)
上传下载好的SharpToken.exe到172.22.8.18这台机子,以管理身份运行SharpToken.exe。执行如果报错的话按照下面方式安装下.NET Framework就能解决问题。
net use发现一个共享
查看下\TSCLIENTC下有哪些文件或目录,
读取\TSCLIENTC下的文本credential,
查看后获取一个凭证
(xiaorang.labAldrich:Ald@rLMWuy7Z!#)和一个提示(镜像劫持)
用xiaorang.labAldrich:Ald@rLMWuy7Z!#尝试登录31失败
采用上线cs将流量带出来,搭建代理使用kali做密码喷洒。
配置代理
密码喷洒
proxychains4 -q crackmapexec smb
172.22.8.0/24 -u 'Aldrich'
-p 'Ald@rLMWuy7Z!#'
密码过期了,使用kali直接连接远程桌面修改密码。
改完密码后用windows自带的远程桌面登录kali的太卡了
登录进去由于当前权限非管理员,我们采用前面提示的镜像劫持进行提权。
镜像劫持本意是为一些在默认系统环境中运行时可能引发错误的程序执行体提供特殊的环境设定。Windows NT架构的系统能通过这个注册表项使用与可执行程序文件名匹配的项目作为程序载入时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等。为了实现镜像劫持,需要先找到镜像劫持在注册表中的路径,“HKEY_LOCAL_MACHINE SOFTWARE Microsoft WindowsNT CurrentVersion Image File ExecutionOptions”
首先查看下注册表权限。
从AccessToString中可以查看到Authenticated Users允许设置值、创建子参数、读取参数等。
由于当前权限的账号是经过认证的,于是可以设置镜像劫持shift后门
按下5次shift后触发system权限的cmd,添加本地管理员,接着用管理员工登录
net user kalami qwer1234!QQ@@ /add 执行添加用户命令
net localgroup administrators kalami /add 将刚刚添加的用户加入管理员
登录进去获取到172.22.8.46的管理员权限。
利用PTH获取域控权限
在取得管理员权限后,对本机上的账号信息或凭据做进一步收集。
通过查看域管理员账号,发现有Win2016$,
再通过对本机内存中的凭据进行收集,
获得Win2016$的凭据信息。
于是想到PTH的方法获取域管理员的权限。直接用mimikatz 注入hash到lsass进程中
sekurlsa::pth/user:WIN2016$/domain:XIAORANG/ntlm:72bc6aa09253166ee79a733ecd827677
执行成功会弹出命令框
至此成功获取域控的权限。
总结
整体的进攻思路如下图
靶场事后回顾起来并不困难,但是在打的过程中还是花了不少时间在试错,对其中的几个细节还会从不同方法去思考。例如获取john的令牌时,如果使用cs上线,还可以使用进程注入的方式来获取john的令牌。自己也因此而乐在其中。
- END -
原文始发于微信公众号(刑天攻防实验室):靶场Tsclient通关攻略
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论