繞過CDN方法整理


來自文章鏈接:https://zhuanlan.zhihu.com/p/33440472

 

0x01 判斷ip是否為網站真實ip

1. Nslookup:

 

Win下使用nslookup命令進行查詢,若返回域名解析結果為多個ip,多半使用了CDN,是不真實的ip。

2. 多地ping查詢

 

使用不同區域ping,查看ping的ip結果是否唯一。若不唯一,則目標網站可能存在CDN。

網站有:

https://asm.ca.com/en/ping.php/
http://ping.chinaz.com/
https://ping.aizhan.com/

 

3. 使用工具直接查詢

 

參見如下網站:

http://www.cdnplanet.com/tools/cdnfinder/
https://www.ipip.net/ip.html

 

0x02 繞過CDN查找真實ip

方法整理如下:

 

1. 子域名入手

某些企業業務線眾多,有些站點的主站使用了CDN,或者部分域名使用了CDN,某些子域名可能未使用。查詢子域名的方法就很多了:subDomainsBrute、Sublist3r、Google hack等。

還有某些網站可以進行查詢。例如:

https://dnsdb.io/zh-cn/

 

2. 利用網站漏洞

如果目標站點存在漏洞,這就沒辦法避免了。例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、網頁源代碼泄露、svn信息泄露信、github信息泄露等。

若存在web漏洞,服務器主動與我們發起請求連接,我們也能獲取目標站點真實ip。例如xss、ssrf、命令執行反彈shell等。

3. 歷史DNS記錄

查詢ip與域名綁定歷史記錄,可能會發現使用CDN之前的目標ip。查詢網站有:

https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
http://toolbar.netcraft.com/site_report?url=
http://viewdns.info/
http://www.17ce.com/
https://community.riskiq.com/
http://www.crimeflare.com/cfssl.html

 

4. CDN本身入手

若從CDN本身入手,比如利用社工等,得到控制面板的賬號密碼,那真實ip就很輕易能獲取到了。

5. Mx記錄或郵件

很多站點都有發送郵件sendmail的功能,如Rss郵件訂閱等。而且一般的郵件系統很多都是在內部,沒有經過CDN的解析。可在郵件源碼里面就會包含服務器的真實 IP。

6. 國外請求

通過國外得一些冷門得DNS或IP去請求目標,很多時候國內得CDN對國外得覆蓋面並不是很廣,故此可以利用此特點進行探測。 通過國外代理訪問就能查看真實IP了,或者通過國外的DNS解析,可能就能得到真實的IP查詢網站:

https://asm.ca.com/en/ping.php
7. 掃描探測

通過信息收集,縮小掃描范圍,確定一個相對小的IP和端口范圍(中國?AS號?B段?等)

通過http指紋特征和keyword等做綜合判斷。可使用工具如下:

https://github.com/zmap/zgrab/
http://www.ipdeny.com/ipblocks/

 

zgrab 是基於zmap無狀態掃描的應用層掃描器,可以自定義數據包,以及ip、domain之間的關聯。可用於快速指紋識別爆破等場景。

可參考這篇文章:利用Zgrab繞CDN找真實IP - Levy Hsu

8. Zmap大法?

據說掃描全網,只要44分鍾?

可參考這篇文章:簡單獲取CDN背后網站的真實IP - 安全客 - 有思想的安全新媒體

9. 網絡空間引擎搜索法

zoomeye、fofa、shodan

通過這些公開的安全搜索引擎爬取得歷史快照,主要得一些特征總結如下:

特有的http頭部(如server類型、版本、cookie等信息)、

特定keyword(如title、css、js、url等)、

特定的IP段搜索(如fofa支持C段搜索),

有些時候爬取的時候不一定含有上面那些特征,但是我們仍然需要仔細排查。

10. 查詢Https證書

此方法來自於去年CplusHua表哥在Freebuf公開課《HTTP盲攻擊的幾種思路》中分享的:

查詢網站:

https://censys.io/

 

這個網址會將互聯網所有的ip進行掃面和連接,以及證書探測。若目標站點有https證書,並且默認虛擬主機配了https證書,我們就可以找所有目標站點是該https證書的站點。

443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:www.xxx.com

11. F5 LTM 負載均衡解碼獲取真實內網ip

之前看了這篇文章:透過F5獲取服務器真實內網IP - ThreatHunter

我就在想,假如目標站點有CDN,是否就跟F5做負載均衡沖突了?是否需要找到目標站點 真實ip,才能通過F5獲取目標真實內網ip?所以以為可能該方法不能用來繞過CDN獲取真實IP。

今天咨詢了下hblf表哥:他說應該不會沖突,之前碰到過案例:某企業先在內網出口使用F5做ISP的鏈路負載均衡,然后再用CDN加速。這樣的話,客戶端還是可以看到F5埋的那個cookie。而且經過CDN,埋的cookie不會被修改或者刪除,所以客戶端還是可以看到。

通過解碼就可以得到目標服務器真實內網ip。具體方法和原理參見hblf表哥的這篇文章。

所以就把該方法也總結在這兒。

0x03 后記

就當是個瞎總結吧,蠻寫一下,希望對你有幫助。PS:如果表哥們如果還有其他方法,求學習。

最后,謝謝hblf表哥、面具表哥的指導。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM