1 環境
cs4.3(cs4.4版本未知原因,無法正常上線)
服務端:Ubuntu20.4
客戶端:win10
2 基本思路
域前置(Domain fronting),是一種隱藏連接真實端點來規避互聯網審查的技術,在應用層上運作時,域前置使用戶能通過 HTTP/HTTPS 連接到被屏蔽的服務,而表面上像是在與另一個完全不同的站點通信,因此,宏觀定義的域前置應該包含 HTTP 和 HTTPS 兩種情況,所以本文主要復現 HTTP/HTTPS兩種情況,
簡單理解:
表面看, CDN 通訊域名(我們看得到的);
實際上, CS真實 IP(我們看不到的),
也就是我們常見的網站套了CDN,找不到服務器真實ip的情況,
上線原理為 受害者主機運行木馬----->CDN---->cs服務器收到上線
執行操作原理為 cs服務器執行命令----->CDN接收----->受害者主機執行命令
3 操作
第一步:申請一臺云服務器,國內任意云都可以,部署cs4.3服務端,檢察是否可以正常運行,
第二步:域名申請或購買
這里我使用domains免費的國外域名(國內域名需要備案,域名備案后,隱藏cs流量的操作將毫無意義)

第三步:CDN申請或購買
使用Cloudflare免費的CDN服務,在DNS處添加名稱為www,內容為云服務器ip的記錄,代理狀態變為已代理說明域名已經決議至云服務器,但現在的決議是直接決議到云服務器的,ping域名會回傳云服務器的真實ip,

接下來將Cloudflare 名稱服務器替換至domains的域名服務器,如下圖:


設定成功后等待一段時間,會郵件通知我們替換成功,
替換成功后使用站長ping檢測多個地點Ping服務器,網站測速 - 站長工具,檢測我們的域名,發現已經全部為CDN的地址,至此我們的云服務器ip已經隱藏成功,溯源者無法通過域名定位真實ip,

第四步:cs組態檔Profile
Github有很多cs-Profile供我們使用,這里我使用threatexpress的jquery-Profile,鏈接就不放了以,可以去github上搜,


下載后根據對Profile進行修改,需要修改的內容主要有七處,
一個是https-certificate模塊中的keystore和password,修改后把注釋去掉,

keystore的生成方法:去Cloudflare的SSL/TLS源服務器創建證書,使用默認配置生成pem和key,


復制證書創建txt匯入,修改檔案名為xxxx.pem
復制私鑰創建txt匯入,修改檔案名為xxxx.key
將創建的pem和key檔案上傳至云服務器,執行以下命令(www.xxx.com為申請的域名)
openssl pkcs12 -export -in xxxx.pem -inkey xxxx.key -out www.xxx.com.p12 -name www.xxx.com -passout pass:123456
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.xxx.com.store -srckeystore www.xxx.com.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.xxx.com
生成的keystore檔案將該檔案放在云服務器CS的根目錄下,

然后將keystore檔案名稱和密碼填入profile檔案中,
另外三處為http-stager、http-get、http-post模塊中的Host和Referer,



剩余三處為Profile中的回應頭配置,其中的header "Content-Type" "application/javascript; charset=utf-8";修改為:header "Content-Type" "application/*; charset=utf-8";



在修改完成后,使用CS自帶的c2lint對profile語法進行檢查,沒有報錯的話說明配置是對的,

第五步:修改CDN配置
在這個Profile中,我們請求的URI是以.js結尾的,Cloudflare作為一個CDN肯定要去快取它,但這樣的話請求就無法到達我們的CS服務器,自然也就無法上線了,使用開發模式并清除快取,

在規則中設定不代理js請求,

第六步 測驗上線
啟動cs,設定配置為修改好的profile

對CS的listener進行配置,填入三次自己的域名,其他的默認,在https hosts處也可添加站長ping出來的cdn ip

生成木馬,在pc運行,成功上線

http同理,設定監聽為http監聽,生成木馬可成功上線

HTTP監聽和HTTPS監聽
第七步 驗證資料包
上線后Wireshark捕捉到的get資料包,172.67.131.242為我們的cdn地址,host與referer為我們的域名,


執行命令時Wireshark捕捉到的POST資料包,172.67.131.242為我們的cdn地址,host與referer為我們的域名,

執行命令正常回顯

4 總結
至此我們已經成功隱藏CS服務器ip和CS流量,但聽藍隊大佬說依然有辦法拿到真實 IP,,,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/397563.html
標籤:其他
