您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何利用XXE漏洞獲取NetNTLM Hash并通過SMB Relay取得權限,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
首先,在這里我要向大家道聲抱歉!原本在去年圣誕節時,我就承諾要為大家做這個分享的。但由于一直忙于手頭的各種瑣事,所以一直拖到了現在。話不多說,我們直切正題!
外部實體注入攻擊:XML文件的解析依賴libxml庫,而libxml2.9以前的版本默認支持并開啟了外部實體的引用,服務端解析用戶提交的xml文件時未對xml文件引用的外部實體(含外部普通實體和外部參數實體)做合適的處理,并且實體的URL支持file://和php://等協議,攻擊者可以在xml文件中聲明URI指向服務器本地的實體,從而就會發生這種攻擊。
例如,以下是一個用于漏洞利用的PoC代碼:
在滲透測試期間,我需要對一個托管文檔和文件的Web應用程(如SharePoint)進行審計,以將其分享給其他的同事使用。經過一番測試,我找到了一些XSS/CSRF漏洞,并成功繞過防護機制。這個應用有一個特性引起了我的關注,它可以上傳Microsoft文檔格式,如.Docx。
我記得,我的一個朋友當時通過一個嵌入的XML代碼就成功拿下了Facebook的服務器。
感謝@bbuerhaus 和 @nahamsec托管XXE服務(一個可以通過XXE預定義payload生成Microsoft文件的服務)。
以下是我的第一個payload:
可以看到通過NC,172.28.1.116成功與我建立了連接!
現在,我們能做些什么呢?
由于我知道當前我處理的系統為Windows,因此不能像在Linux中那樣讀取像/etc/passwd這樣的敏感文件路徑。我唯一想到的就是,Windows的系統配置文件/windows/win.ini。還好當時坐在我旁邊的同事提醒我:“關于Windows最重要的是NTLM哈希”。
這一次我修改了我的payload,并將其指向了我的共享IP地址:
B00M :D
我能夠從SSL證書掃描中識別其他服務器(處理不同環境的相同角色),以及最重要的是SMB消息沒有簽名!
這些信息足以讓我們對其發起SMB中繼攻擊:
首先,讓我們嘗試做一些基本的RCE :( Ping)
通過抓包工具可以清楚的看到ping的完整過程:
讓我們來創建一個用戶:
將他添加到管理員組后,我可以在服務器上做一個RDP遠程桌面連接。
好吧,我承認當時我還并不知道Impacket有一個很nice的用于轉儲SAM文件的功能。如果我們只是想指向中繼服務器的IP,則不需要添加任何其它參數:
現在我們獲取到了管理員的哈希。讓我們在網絡中刪除哈希,看看會有什么結果。
使用Metasploit中的smb掃描模塊,我命中了41個掃描結果。真的是太棒了!
在對這些服務器使用PSExec exploit后,其中一個引起了我的關注:
B00M !!
此帳戶是域管理員的成員,讓我們通過創建另一個用戶來模擬該會話,但這次是:域管理員的成員;
讓我們來驗證下:
使用此帳戶,我可以訪問所有DC,PC,甚至轉儲包含用戶所有哈希值的NTDS.DIT文件 :D
XXE漏洞對于企業內部網絡來說破壞性不可小覷,特別是在滿足所有條件的情況下(解析外部XML實體+SMB消息未簽名)。
上述就是小編為大家分享的如何利用XXE漏洞獲取NetNTLM Hash并通過SMB Relay取得權限了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。