CDN簡介:CDN的全稱是Content Delivery Network,即內容分發網絡。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心平台的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。
CDN網絡中包含的功能實體包括1、內容緩存設備、2、內容交換機、3、內容路由器、4、CDN內容管理系統等組成。
1、內容緩存為CDN網絡節點,位於用戶接入點,是面向最終用戶的內容提供設備,可緩存靜態Web內容和流媒體內容,實現內容的邊緣傳播和存儲,以便用戶的就近訪問。

2、內容交換機處於用戶接入集中點,可以均衡單點多個內容緩存設備的負載,並對內容進行緩存負載平衡及訪問控制。

3、內容路由器負責將用戶的請求調度到適當的設備上。內容路由通常通過負載均衡系統來實現,動態均衡各個內容緩存站點的載荷分配,為用戶的請求選擇最佳的訪問站點,同時提高網站的可用性。內容路由器可根據多種因素制定路由,包括站點與用戶的臨近度、內容的可用性、網絡負載、設備狀況等。負載均衡系統是整個CDN的核心。負載均衡的准確性和效率直接決定了整個CDN的效率和性能。
CDN基本原理:CDN的基本原理是廣泛采用各種緩存服務器,將這些緩存服務器分布到用戶訪問相對集中的地區或網絡中,在用戶訪問網站時,利用全局負載技術將用戶的訪問指向距離最近的工作正常的緩存服務器上,由緩存服務器直接響應用戶請求。
假設通過CDN加速的域名為www.a.com,接入CDN網絡,開始使用加速服務后,當終端用戶(北京)發起HTTP請求時,處理流程如下:
- 當終端用戶(北京)向
www.a.com下的指定資源發起請求時,首先向LDNS(本地DNS)發起域名解析請求。 - LDNS檢查緩存中是否有
www.a.com的IP地址記錄。如果有,則直接返回給終端用戶;如果沒有,則向授權DNS查詢。 - 當授權DNS解析
www.a.com時,返回域名CNAMEwww.a.tbcdn.com對應IP地址。 - 域名解析請求發送至阿里雲DNS調度系統,並為請求分配最佳節點IP地址。
- LDNS獲取DNS返回的解析IP地址。
- 用戶獲取解析IP地址。
- 用戶向獲取的IP地址發起對該資源的訪問請求。
- 如果該IP地址對應的節點已緩存該資源,則會將數據直接返回給用戶,例如,圖中步驟7和8,請求結束。
- 如果該IP地址對應的節點未緩存該資源,則節點向源站發起對該資源的請求。獲取資源后,結合用戶自定義配置的緩存策略,將資源緩存至節點,例如,圖中的北京節點,並返回給用戶,請求結束。
從這個例子可以了解到:
(1)CDN的加速資源是跟域名綁定的。
(2)通過域名訪問資源,首先是通過DNS分查找離用戶最近的CDN節點(邊緣服務器)的IP
(3)通過IP訪問實際資源時,如果CDN上並沒有緩存資源,則會到源站請求資源,並緩存到CDN節點上,這樣,用戶下一次訪問時,該CDN節點就會有對應資源的緩存了。
作者:阿里巴巴大淘寶技術
鏈接:https://www.zhihu.com/question/36514327/answer/1604554133
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
利用CDN、域前置、重定向三種技術隱藏C2的區別
前言
這個課題前段時間已經分別做過研究,但沒有寫三者的區別分析,以為自己可以將三種技術永遠記在心里,但是事實是確實淡忘一部分知識點,導致現在對三者的理解出現偏差。
反思:以后倘若需要做技術記錄,一定要詳細詳細再詳細,有備無患。不能抱有僥幸心理,因為你永遠不知道,問題與遺忘哪一個會先來
對於三種隱藏技術的理解
CDN技術隱藏C2
反溯源-cs和msf域名上線 - 先知社區 (aliyun.com)
利用CDN隱藏C2地址 - aoaoaoao - 博客園 (cnblogs.com)
使用CDN隱藏c2流量
原理:讓cdn轉發合法的http或者https流量來達到隱藏的目的。
這些文章寫的很詳細,總結一下流程:
配置了cdn
擁有一個公網域名
配置cdn的A記錄解析使其能解析到C2的ip
將公網域名填寫到cs listener的host處並填寫可用的端口
可達到的效果:受害主機上只會有跟cdn的ip通信的流量,不會有跟真實C2通信的流量,可以保護C2的ip,但是域名還是會暴露。
技術實現重點:
一個不備案的域名,否則這個方式毫無用處
這種技術對http與https沒有強制要求,都可以使用,而域前置技術要求是https
域前置技術隱藏C2
域前置技術的原理與CS上的實現_Shanfenglan7的博客-CSDN博客_域前置技術
域前置技術的原理與CS上的實現這篇我寫的文章里面有具體的操作步驟,下面主要說說自己的理解。
域前置技術跟CDN技術比較類似,都是會用到CDN,但域前置技術必須要用https,因為它是基於TLS協議的,域前置還有一個特點是需要修改請求包的host頭,修改方法是修改malleable profile文件,我的這篇malleable_profile文件配置概述寫了修改方法,而CDN是創建好CDN后直接就可以使用的,不用做過多的配置不過效果也有不同,CDN技術只能用自己的域名,如果自己域名被放進黑名單基本就涼涼,但是域前置技術可以使用別人的高信譽域名來隱藏自己的真實域名,例如用微軟的域名偽裝自己,當然前提是微軟的域名得跟你的域名再同一個CDN下,這種技術現在在不少的CDN廠商下都被禁止了,不一定會利用成功。
原理:同一個cdn廠商下倘若有兩個域名a.com,b.com,這時候我們使用curl命令訪問第一個a.com並將host名改為b.com這時候,實際訪問的是b.com的內容。而一般的監測機制是不會檢測host頭的。
可達到的效果:通過一個高信任域名隱藏自己的真實域名與ip,且受害主機上的流量只有跟cdn通信的,不會有跟真實c2的。
技術實現重點:
需要基於https
需要知道cdn上的其他高信譽域名或者ip
需要修改malleable profile文件
重定向技術隱藏C2
利用apache mod_rewrite模塊實現重定向技術來隱藏CS的teamserver的原理與實現_Shanfenglan7的博客-CSDN博客_teamserver
利用apache mod_rewrite模塊實現重定向技術來隱藏CS的teamserver的原理與實現
我的這篇文章寫了原理與操作,同樣的這次我主要說說我對這種技術的理解。
這種技術有點像乞丐版的CDN或者域前置技術。總的來說就是得有兩台vps,一台做重定向,一台是真正的C2,而受害者只與那台做重定向的機器通信,重定向機器只會轉發來自beacon的特定流量到C2控制端主機,對於其他流量可以自定義設置處理方法,一般是采用重定向到一些高信譽域名上例如百度等。
可達到的效果:受害者上只會有與重定向機器之間的流量,不會有與真實c2服務器的流量,重定向服務器會將非beacon的請求重定向到一些高信譽域名上,達到迷惑的目的,不過如果受害者ban掉了重定向機器的ip,對攻擊者的損失也是很大的。
技術實現重點:
兩台服務器
配置apache_rewrite
配置malleable profile文件
三者的區別的總結
從成本上來說,cdn技術與域前置技術都需要配置cdn,而重定向技術需要兩台服務器,總的來說成本基本差不多。
從技術上來說:
cdn技術僅僅利用了cdn對http與https流量進行轉發來達到的隱匿效果,可以隱藏ip不能隱藏域名。
域前置技術高級一些,但是卻基於https的,可以隱藏ip與域名,效果我認為是最好的,只是因為現在不少的cdn廠商已經禁止了域前置技術的存在,想用的話得自己去找還依舊允許域前置技術的廠商。
重定向技術對運維人員迷惑效果還是不錯的,但對於很專業的運維人員可能效果就沒有那么好,而且配置也是最復雜的,如果被發現ban了自己的重定向機器,對於攻擊隊來說損失也不小,總的來說還是沒有cdn的方法好用。
————————————————
版權聲明:本文為CSDN博主「Shanfenglan7」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41874930/article/details/109008708
