1. 程式人生 > >【安全研究】Domain fronting域名前置網路攻擊技術

【安全研究】Domain fronting域名前置網路攻擊技術

__出品|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://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112712364-535126403.png) 域前端的關鍵思想是在不同的通訊層使用不同的域名,是一種隱藏連線真實端點來規避網際網路審查的技術。在應用層上運作時,域前置使使用者能通過HTTPS連線到被遮蔽的服務,而表面上像在與另一個完全不同的站點通訊。 **此技術的原理為在不同通訊層使用不同的域名**。在明文的DNS請求和TLS伺服器名稱指示(SNI)中使用無害的域名來初始化連線,而實際要連線的被封鎖域名僅在建立加密的HTTPS連線後發出,在Host頭中攜帶了另一個惡意C2域名(Host頭對於檢查器是不可見的,但是對於接收HTTPS請求的前端伺服器是可見的)。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112732551-1019354482.png) ###演示 在Amazon CloudFront是一種內容交付網路服務。它為使用者提供了一個全域性分散式快取,用於託管在其伺服器上的檔案。這減少了客戶伺服器上的負載,並允許CDN提供來自與請求者資料中心的快取內容,當客戶端連線到CloudFront的時候,其根據HOST頭來判斷客戶端想要請求的域名,在做域前置攻擊時候,只要在CloudFront中挑選一個受信任域名,如"https://docs.telemetry.mozilla.org",看起來是一個合法白名單域名,將他做為前置域名來躲避防火牆審查。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112750993-1688294388.png) 在Amazon CloudFront申請一個賬戶並建立一個CloudFront,在"Origin Domain Name"寫入自己的C&C控制器域名如Godsong.test,其他設定按自己需求來。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112800102-2004277726.png) 申請完畢之後會自動分發一個隨機域名 xxx.cloudfront.net樣式,將頒發的隨機域名指向真實C2伺服器,使用者訪問此域名時候會解析到真實的C&C伺服器。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112810758-716594631.png) **域名前置因為使用了合法前置域名做誘餌,在使用HTTPS連結時,DNS請求的也都是合法域名,而在HOST中請求修改請求指向為我們C&C伺服器,相當於請求合法域名之後把流量轉發到了中轉web上。** ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112827321-1031676727.png) 在CloudFront為我分配了一個域名,此域名轉發到我的C&C地址上,在原始C&C伺服器Web存放了一個名為6.txt記事本,地址為https://www.godsong.test/6.txt。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112834248-1602671607.png) 訪問Aws頒發的域名https://d305blu4121c3m.cloudfront.net/6.txt,能返回原始流量轉發說明測試成功。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112841076-274764539.png) 使用合法白名單作為前置域名,修改Host指向為我們的C&C域名。 ``` wget -U demo -q -O- docs.telemetry.mozilla.org/6.txt --header "Host:d305blu4121c3m.cloudfront.net" ``` 如下圖就成功利用Mozilla白名單域名技術來隱藏真實惡意流量。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112901296-391494558.png) 在實際應用中,可以使用Cobalt Strike ,Empire, Metasploit等工具修改其配置檔案來控制流量傳輸,下文使用Cobalt Strike演示,設定一個Profile擴充套件並且指定Host頭為d305blu4121c3m.cloudfront.net。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112908098-778603726.png) 建立一個監聽器,主機寫Cloudfront.net分發域名,監聽80埠。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112914540-1285731026.png) Beacon傳輸器使用白名單域名如下: ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112922801-1395464374.png) 在惡意程式執行後,使用Wireshark 抓取傳輸流量資料包。如圖所示,可以看到相關請求如下,以此方法來隱藏真實C&C伺服器地址,在Wireshark 中檢視傳輸流量包Host頭也同樣指向我們Cloudfront伺服器,一定程度上隱蔽了真實攻擊機地址。 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112929223-663580361.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210326112932833-2035585296.png) **總結**: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群,內部微信群永久有效!

相關推薦

安全研究Domain fronting域名前置網路攻擊技術

__出品|MS08067實驗室(www.ms08067.com)__ ###千里百科 Domain Fronting基於HTTPS通用規避技術,也被稱為域前端網路攻擊技術。這是一種用來隱藏Metasploit,Cobalt Strike等團隊控制伺服器流量,以此來一定程度繞過檢查器或防火牆檢測的技術,如A

VBA研究工作表自己主動篩選模式檢測

模式 處理 name ins work sdn edr rda all 作者:iamlaosong 用VBA程序處理Excel數據文件。用戶的數據文件有時處於自己主動篩選模式,往往導致數據處理不對。為此,須要檢測工作表是否處於該模式,假設是,則去掉自己主動篩選。語

華為雲安全開放所有端口

9.png cnblogs 完成 images alt 安全組 http image 技術 第一步 第二步 第三步 添加完成 華為雲【安全組】開放所有端口

病毒取樣wireshark按照域名過濾

http wireshark -m .com com 協議 block 過濾 name HTTP協議 http.host == "http://baidu.net" DNS協議 dns.qry.name=="www.baidu.com" 【病毒取樣】wire

iOS安全攻防初識匯編

常識 ... 定義 特點 總線 執行 重要 機器語言 play 今天我們來學習以下內容: 匯編概述 總線 進制 寄存器 我們在學習逆向開發之前,我們要了解一個基本的逆向原理。首先我們是逆向iOS系統上面的APP,那麽我們知道,一個APP安裝在手機上面

iOS安全攻防循環 & 選擇 & 指針

blog switch htm html .html target logs 狀態 lan 上一篇:iOS【安全攻防】還原高級代碼 & 狀態寄存器 今天學習的內容: 循環 switch 編譯器優化 指針的基本常識 指針的反匯編 指針的基本用法

安全開發Perl安全編碼規範

多年以來,Perl已經成為用於系統管理和WebCGI開發的功能最強的程式語言之一(幾乎可以使用Perl做任何功能的程式)。但其擴充套件應用,即作為Internet上CGI的開發工具,使得它經常成為Web伺服器上的攻擊目標。 另外,大多數CGI指令碼有著比一般使用者更高的許可權,導致它更容易受攻擊。下面列舉了

安全開發C/C++安全編碼規範

C本質上是不安全的程式語言。例如如果不謹慎使用的話,其大多數標準的字串庫函式有可能被用來進行緩衝區攻擊或者格式字串攻擊。但是,由於其靈活性、快速和相對容易掌握,它是一個廣泛使用的程式語言。下面是針對開發安全的C語言程式的一些規範。 1.1.1      緩衝

VBA研究儲存和開啟Excel檔案的程式碼

iamlaosong文 經常用到儲存處理之後的Excel檔案,儲存的格式有xls和xlsx兩種,這裡記錄一下儲存程式碼,因為經常用到。不同版本下指定儲存檔案格式的常數略有不同,下面是2010版將已開啟的檔案儲存為xlsx格式的程式碼:        

VBA研究奇怪的“?”----Unicode格式的字元處理

iamlaosong文 1、從網站匯出的Excel檔案單元格內容後面多了一個不可見字元,怎麼造成的不知道,但不是每一列都有。想要用VBA程式碼去掉,就要先判斷出是什麼字元,將內容複製到文字環境中(比如程式設計環境或者UltraEdit中),發現最後面那個是個“?”,Asc()函式取其碼值也是

VBA研究讀取Unix下的文字檔案到工作表

iamlaosong文 通常在VBA中讀檔案檔案時,習慣使用Line Input #fileNo, str的方法,這個方法對Windows下的文字檔案是可以的,例如下面的程式碼就是讀取文字檔案中的資料到Excel表中: Sub ImpData1() Dim datFullName

VBA研究呼叫API實現漢字簡繁互換

iamlaosong文 Excel的VBA功能非常強大,但再強大的東西也需要藉助別的東西,API呼叫就可以完成很多VBA本身沒有的功能,一些已有的功能也是VBA呼叫API實現的。下面的漢字簡繁轉換程式碼,就是呼叫API完成的。 關於API呼叫,網上有很多資料。學習程式設計首先是模仿,我在

VBA研究如何用VBA讀取檔案的日期時間

iamlaosong文 檔案的日期時間分建立時間和修改時間,檔案一旦建立,建立時間就定下不變了,所以日常應用中一般都是取修改時間,我的一個應用(生成二維碼)中就是取這個時間判斷圖片檔案是否重新生成。 1、取檔案的修改時間VBA有專門的函式FileDateTime,如下面的語句:

SpringCloud-----Rest服務提供端安全訪問以及消費端訪問

1、服務提供端如果沒有安全訪問機制,會出現什麼問題? 把這些介面放在Internet伺服器上,無異於裸奔,所有資訊都容易被洩露; 任何使用者只要得到介面,那我們的程式將毫無祕密可言。 2、Spring-boot-security提供安全訪問機制 服務提供端匯入依賴包: pom

安全預警關於 Nginx 多個模組安全漏洞的通知

近日,騰訊雲安全中心監測到 Nginx 被曝存在拒絕服務漏洞(漏洞編號:CVE-2018-16843/CVE-2018-16844/CVE-2018-16845),攻擊者可利用該漏洞進行拒絕服務攻擊,從而造成資源耗盡,服務不可用。 為避免您的業務受影響,騰訊雲安

安全測試Web應用安全之XSS跨站指令碼攻擊漏洞相關

閱讀目錄 歡迎轉載,也請註明出處 :http://www.cnblogs.com/Detector/p/8811216.html 謝謝!前言 以前都只是在各類文件中見到過XSS,也進行過相關的學習,但是都是一知半解,過了一段時間就忘了。 前幾天我們收到了了一份標題為《XX賬號暱稱引數中存在儲存XSS漏洞

VBA研究Excel在64位系統安裝目錄造成的ORA-06413:連線未開啟錯誤

我做的excel工具,連線oracle資料庫查詢資料,平時可以很好的執行,無論是XP和win7都可以。後來碰到一臺win7(64位)的系統,發現無法連線資料庫,報“ORA-06413: 連線未開啟”錯誤。 錯誤描述: 用ORACLE的工具裡的sqlplus可以連線,可是

VBA研究VBA中如何用求和函式SUM求和

SUM是Excel的函式,在VBA中呼叫需要加上Application.WorksheetFunction.Sum(),但是,Excel寫法卻不能用。 比如,excel單元格中可以寫成=sum(d2:d100),VBA中是不能這麼寫的,即使加上引號寫成Applicati

VBA研究用VBA取得EXCEL任意列有效行數

作者:iamlaosong 用VBA對Excel檔案進行處理的時候,關鍵欄位的列號程式設計時往往是不知道的,需要通過引數設定才能知道,因此,我們程式設計的時候,就不能用這樣的語句取有效行數:    

安全測試Web應用安全之XSS跨站指令碼攻擊漏洞

前言 以前都只是在各類文件中見到過XSS,也進行過相關的學習,但是都是一知半解,過了一段時間就忘了。 前幾天我們收到了了一份標題為《XX賬號暱稱引數中存在儲存XSS漏洞》的報告文件,來源是一個叫漏洞盒子的機構,看它的官方介紹,是一個網際網路安全測試眾測平臺。 第一次在實際工作中遇到相關的問題,所以決定再系統的