當前位置:
首頁 > 新聞 > LAME:通過SSL加密通信進行橫向滲透的新技術

LAME:通過SSL加密通信進行橫向滲透的新技術

本文主要討論一項用於紅隊的被稱之為「LAME」的新橫向滲透技術及其緩解措施。簡單來說,「LAME」技術就是利用受信任的SSL證書,在內部網路中建立加密通信信道的一項技術。在今年的8月份,Deloitte Greece道德黑客團隊成員vangelos Mourikis和Nikos Karouzos,在都柏林舉辦的實踐社區(CoP)峰會上,確定並展示了該項技術。


簡介


在滲透測試或紅藍對抗期間,我們都會盡一切努力獲得對目標內網的遠程訪問,並在環境範圍內提升許可權,建立持久通信信道持續監控,並不斷擴大戰果直至實現方案目標。


為了建立一個隱蔽持久的通信信道,紅隊往往會採用許多橫向滲透技術。而通常他們的做法是建立基於TCP/IP通信協議的信道(如DNS,SMB和HTTP),模擬預期的網路流量和用戶行為,從而保持不被發現。但這些協議都使用未加密的通信,因此我們可以通過一些網路監控工具,NIDS/HIDS等來輕鬆識別這些流量。另外,就算你使用了帶有自簽名證書的加密通道(例如HTTPS),也同樣會觸發入侵檢測/監控系統的警報,因為它是中間人(MiTM)攻擊的一種非常常見的攻擊媒介。

更新後的殺毒軟體可以輕鬆識別這些技術,並使用了最新的啟發式引擎,它們能夠關聯和阻止這些類型的通信信道。


圖1

- 未加密的通信信道(HTTP):



圖2

- 嘗試使用自簽名SSL證書,執行payload會產生許多錯誤消息,並為入侵檢測/監視系統留下大量痕迹:



「LAME」技術


那麼,如果我們可以使用受信任的SSL證書在內網中進行橫向滲透結果又會如何呢?


事實

1.域名系統(DNS)


域實現和規範 RFC 1035(1987年11月)指出「主文件中A行的RDATA部分是一個Internet地址,表示為四個十進位數字用點分隔,且沒有任何嵌入空格(例如,「10.2.0.52」 或 「192.0.5.6」)。」


私有IP地址分配稍後介紹(RFC 1918 - 私有Internet地址分配,1996年2月),未指定與公共DNS記錄分配給私有IP地址有關的任何安全考慮事項。


雖然許多出版物提出了不同建議,但仍然可以將公共域名的A記錄分配給私有(內部)IP地址。


2. SSL 證書


證書頒發機構(RFC 6125)執行的SSL證書的驗證和簽名,在很大程度上依賴於對相應DNS名稱的檢查。為了提高效率,簽名證書不會被綁定到相應的IP地址上,因此底層架構中的更改並不會影響證書的有效性。所以,我們可以為解析到私有(內部)IP地址的公共DNS名稱頒發受信任的SSL證書。


準備


出於概念驗證(PoC)的目的,我們使用了像Cloudflare和LetsEncrypt這類的免費服務。


為了執行LAME技術,我們還需要進行以下操作:


使用LetsEncrypt的DNS驗證方法,為internal.dotelite.gr頒發SSL證書。


使用CloudFlare將DNS A記錄internal.dotelite.gr分配給內部IP地址:192.168.72.141。


圖3

- 公共DNS名稱的受信任SSL證書解析到內部IP地址上:



執行


圖4

- 以下是「LAME」技術的執行流程圖:


紅隊已在IP地址192.168.72.141上,部署了一個命令和控制(CNC)伺服器,並使用簽名的SSL證書為internal.dotelite.gr配置了一個HTTPS伺服器。


在受害者機器(192.168.72.140)上獲取遠程代碼執行後,紅隊建立了一個加密的通信信道。使用PowerShell oneliner,受害者將經歷以下過程並最終連接到internal.dotelite.gr:


1.受害者在內部DNS伺服器上,請求internal.dotelite.gr的DNS記錄。


2.內部DNS伺服器將DNS記錄請求轉發到Internet上的根DNS伺服器。


3.公共DNS伺服器(例如CloudFlare)使用指向內部IP 192.168.72.141的DNS記錄進行響應。


4.內部DNS伺服器接收上述DNS記錄。


5.DNS記錄存儲在內部DNS伺服器的緩存中,並且可以在內網中提供多個類似的請求。


6.DNS記錄被轉發給受害者。


7.受害者將使用受信任的SSL證書與攻擊者的內部IP 192.168.72.141建立加密通信信道。


圖5

- PowerShell oneliner「LAME」技術(Step 0):



圖6

- 將internal.dotelite.gr子域解析到IP 192.168.72.141的DNS解析流量(Steps 1-6):



圖7

- TLS通信(Step 7):



圖8

- 內網中功能齊全的加密通信信道(Step 7):


圖9

- 上述命令執行的網路流量(Step 7):



總結


獲得解析為內部IP地址的公共DNS名稱的受信任SSL證書並非不可能。一旦獲取,我們則可以將其用於在內部網路中建立加密通信信道。這不僅可以讓我們的通信信道更加隱蔽,還可以幫助我們躲過入侵檢測/監控系統。


此外,LAME技術還可用於APT中。結合埠轉發和代理,紅隊可以在內部網路獲得初始立足點後在目標環境中創建多個隱蔽樞紐點,並通過Internet上的外部CNC伺服器進行控制。


緩解措施


由於通信的加密性和交換SSL證書的有效性,導致這種橫向滲透技術難以被檢測發現。而阻止內部網路中主機之間的HTTPS流量,則可能會導致合法服務的可用性問題,因此似乎並不是一個可行的解決方案。我們的建議是在內部網路中強制使用集中式DNS伺服器,並為所有請求的DNS條目創建特定的監控用例。分析已解析的DNS記錄,並進一步調查分配給內部IP地址的潛在可疑條目。此外,我們建議增強主機級別的監控功能,以便及時的識別可能具有相同結果的替代攻擊路徑(例如,監控本地「etc/hosts」文件的變化)。


更新(04/09/2018):

除了上述建議之外,你還可以在內部集中式DNS伺服器中啟用反重綁定保護(例如—stop-dns-rebind ,dnsmasq中的—rebind-domain-ok選項)。


*參考來源:dotelite,FB小編 secist 編譯,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

2018撞庫攻擊現狀:不到一年出現數百億登錄嘗試
Ridrelay:一款用於在內網中快速查找域用戶名的工具

TAG:FreeBuf |