出品|MS08067實驗室(www.ms08067.com)
千里百科
Domain Fronting基于HTTPS通用規避技術,也被稱為域前端網路攻擊技術,這是一種用來隱藏Metasploit,Cobalt Strike等團隊控制服務器流量,以此來一定程度繞過檢查器或防火墻檢測的技術,如Amazon ,Google,Akamai 等大型廠商會提供一些域前端技術服務,
下列將會使用Amazon 提供CloudFront (CDN)服務舉例,
背景
在虛擬主機中搭建多個網站服務,為了方便我們區分它們,可以 IP+Port名稱 等方式去訪問它們,但是如果是SSL/TLS的話,根據HTTPS的作業原理,瀏覽器在訪問一個HTTPS站點時,先與服務器建立SSL連接,
建立連接的第一步就是請求服務器的證書,而服務器在發送證書時,是不知道瀏覽器訪問的是哪個域名的,所以不能根據不同域名發送不同的證書,因此就引入一個擴展叫SNI,SNI是為了解決一個服務器使用多個域名和證書的SSL/TLS擴展,做法就是在 Client Hello 中補上 Host 資訊,

域前端的關鍵思想是在不同的通信層使用不同的域名,是一種隱藏連接真實端點來規避互聯網審查的技術,在應用層上運作時,域前置使用戶能通過HTTPS連接到被屏蔽的服務,而表面上像在與另一個完全不同的站點通信,
此技術的原理為在不同通信層使用不同的域名,在明文的DNS請求和TLS服務器名稱指示(SNI)中使用無害的域名來初始化連接,而實際要連接的被封鎖域名僅在創建加密的HTTPS連接后發出,在Host頭中攜帶了另一個惡意C2域名(Host頭對于檢查器是不可見的,但是對于接收HTTPS請求的前端服務器是可見的),

演示
在Amazon CloudFront是一種內容交付網路服務,它為用戶提供了一個全域分布式快取,用于托管在其服務器上的檔案,這減少了客戶服務器上的負載,并允許CDN提供來自與請求者資料中心的快取內容,當客戶端連接到CloudFront的時候,其根據HOST頭來判斷客戶端想要請求的域名,在做域前置攻擊時候,只要在CloudFront中挑選一個受信任域名,如"https://docs.telemetry.mozilla.org",看起來是一個合法白名單域名,將他做為前置域名來躲避防火墻審查,

在Amazon CloudFront申請一個賬戶并建立一個CloudFront,在"Origin Domain Name"寫入自己的C&C控制器域名如Godsong.test,其他設定按自己需求來,

申請完畢之后會自動分發一個隨機域名 xxx.cloudfront.net樣式,將頒發的隨機域名指向真實C2服務器,用戶訪問此域名時候會決議到真實的C&C服務器,

域名前置因為使用了合法前置域名做誘餌,在使用HTTPS鏈接時,DNS請求的也都是合法域名,而在HOST中請求修改請求指向為我們C&C服務器,相當于請求合法域名之后把流量轉發到了中轉web上,

在CloudFront為我分配了一個域名,此域名轉發到我的C&C地址上,在原始C&C服務器Web存放了一個名為6.txt記事本,地址為https://www.godsong.test/6.txt,

訪問Aws頒發的域名https://d305blu4121c3m.cloudfront.net/6.txt,能回傳原始流量轉發說明測驗成功,

使用合法白名單作為前置域名,修改Host指向為我們的C&C域名,
wget -U demo -q -O- docs.telemetry.mozilla.org/6.txt --header
"Host:d305blu4121c3m.cloudfront.net"
如下圖就成功利用Mozilla白名單域名技術來隱藏真實惡意流量,

在實際應用中,可以使用Cobalt Strike ,Empire, Metasploit等工具修改其組態檔來控制流量傳輸,下文使用Cobalt Strike演示,設定一個Profile擴展并且指定Host頭為d305blu4121c3m.cloudfront.net,

創建一個監聽器,主機寫Cloudfront.net分發域名,監聽80埠,

Beacon傳輸器使用白名單域名如下:

在惡意程式運行后,使用Wireshark 抓取傳輸流量資料包,如圖所示,可以看到相關請求如下,以此方法來隱藏真實C&C服務器地址,在Wireshark 中查看傳輸流量包Host頭也同樣指向我們Cloudfront服務器,一定程度上隱蔽了真實攻擊機地址,


總結:Domain Fronting技術因為我們看到的域只是前端服務器域,很難區分那個是正常域名或惡意域名,但實際上惡意流量都要進入被控端服務器,這樣的話就會在被控服務器上產生一些惡意指紋,網路資料包的大小和時間,以此方法來觀察惡意特征檢測等等,
參考文獻
[1]https://www.sans.org/cyber-security-summit/archives/file/summit-archive-1542139101.pdf
圖2,圖6參考此文
[2]http://www.ert7.com/service/knowledge/3999.html
轉載請聯系作者并注明出處!
Ms08067安全實驗室專注于網路安全知識的普及和培訓,團隊已出版《Web安全攻防:滲透測驗實戰指南》,《內網安全攻防:滲透測驗實戰指南》,《Python安全攻防:滲透測驗實戰指南》,《Java代碼安全審計(入門篇)》等書籍,
團隊公眾號定期分享關于CTF靶場、內網滲透、APT方面技術干貨,從零開始、以實戰落地為主,致力于做一個實用的干貨分享型公眾號,
官方網站:https://www.ms08067.com/
掃描下方二維碼加入實驗室VIP社區
加入后邀請加入內部VIP群,內部微信群永久有效!
?
?
?
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/270672.html
標籤:其他
上一篇:從WebShell到域控實戰詳解
下一篇:滲透測驗之情報資訊收集
