抄來的:https://www.anquanke.com/post/id/84980
前言
這是一系列的介紹CrackMapExec的很多功能的文章。下面是對CrackMapExec這個工具的一個概況性的介紹。
它是一個后滲透工具,像Veil-Pillage, smbexec一樣
它是一種在域滲透過程中使各種滲透測試框架聯合起來的 "膠水 "
可以完全並行的在同一時間連接,攻擊多台主機.
它有一個內部數據庫可以用來存儲獲得的憑據,同時來追蹤具有管理員權限的用戶.
它的功能是基於多種現有的工具
它是"安全": 該工具做的所有事情不是通過在內存中運行,就是使用各種 WinApi或者是windows的一些內建工具.
第一部分會介紹一些基礎知識包括:使用憑據, dump憑據,以及使用payload模塊來執行命令.
探索目標網絡環境
探索目標網絡環境顯然是非常重要的,進入內網,你想干的第一件是應該是搞清楚目標內網中到底有些什么.
在上面我們給CWE(CrackMapExec)提供了一個 192.168.0.0/24的參數,這樣他就會去掃描整個C段的主機信息.可以看到最后他發現了5台位於LAB域中的主機.默認情況下他會使用100線程,我們可以使用 -t 參數來指定線程數.
到目前為止,我們已經知道了我們的目標網絡中到底有些什么東西.一旦我們拿到了一些用戶憑據(這里假定已經拿到了一個普通域用戶的賬號密碼,在實際的域滲透過程中,這也是很簡單的.),我們就會想知道我們能訪問什么.首先我們來偵查下:
這里我們使用拿到的憑據,登錄到目標機器並且使用了 –pass-pol 參數,這會把域密碼策略給dump下來.從輸出中我們可以看到沒有賬號鎖定閾值或持續時間.所以我們不需要擔心帳戶鎖定,下面我們來試試在所有c段使用這個憑據去認證下,看看能拿到什么樣的成果.
接下來讓我們來列出所有的共享.
程序的輸出給出了所以共享的名稱以及你使用的憑據對他們的權限.同時注意到192.168.0.12的右邊顯示了黃色的"Pwn3d!"這意味着我們在這台機器上擁有管理員權限.
Dump SAM哈希並且執行命令
目前為止我們已經有了192.168.0.12這台機器上的管理員權限,首先我們看看誰登錄到了這台機器上:
看起來好像域管理員登錄到了這台機器上.我們來檢驗下
如果使用 -x 來執行命令的話,程序會默認使用WMI來執行命令(這里我們使用了一個–exec-method參數來指定使用smbexec方式來執行命令,這將允許我們以系統權限來執行命令.),我使用了一個net user Administrator /domain命令來驗證該用戶是否在 域管理員組中.在繼續干其他事情之前我們先把本地機器的hash給dump下來.
現在我們已經拿到了很多hash,我們可以在之后使用 -H參數來進行 hash傳遞攻擊(這些拿到的hash會被存儲到CWE的數據庫以及logs目錄下),但是如果能拿到明文密碼那就更好了.但是問題是現在這台機器是一台win10的機器,因而我們不能從內存中dump明文密碼,但是真的不能嗎?其實我們可以通過創建UseLogonCredential注冊表鍵值來重新啟用WDigest,接着我們就可以從 LSA內存中dump明文密碼了.
現在我們只需要等着用戶注銷然后重新登錄,就可以dump用戶的明文密碼了.當然我們可以強制讓某個用戶下線,比如下面讓yomama用戶下線了.
Payload 模塊
用戶可以自己來創建模塊,程序自帶的模塊位於 modules目錄下.因為此時我們需要明文密碼所以我們使用mimikatz模塊,使用 -m 參數指定模塊路徑.
好,現在我們已經拿到了域管理員的賬號密碼了.
其中有些模塊需要一些參數,我們可以使用-o來指定
如果要查看模塊的說明可以使用 –module-info
顯然所有的這些功能都可以同時對多台主機使用.
總結
本文介紹了CME的基本用法,使用CME可以簡化我們的工作,盡可能的少做些重復性的工作.












