繞過CDN方法整理

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

 

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

1. Nslookup:

 

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

2. 多地ping查詢

 

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

網站有:git

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

 

3. 使用工具直接查詢

 

參見以下網站:github

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

 

0x02 繞過CDN查找真實ip

方法整理以下:

 

1. 子域名入手

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

還有某些網站能夠進行查詢。例如:shell

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

 

2. 利用網站漏洞

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

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

3. 歷史DNS記錄

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

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表哥、面具表哥的指導。

相關文章
相關標籤/搜索