繞過CDN查詢真實IP方法總結
1. CDN簡述概念
CDN的全稱是Content Delivery Network,即內容分發網路。CDN是構建在現有網路基礎之上的智慧虛擬網路,依靠部署在各地的邊緣伺服器,通過中心平臺的負載均衡、內容分發、排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和命中率。
2. 域名解析過程
傳統訪問:使用者訪問域名-->解析IP-->訪問目標主機
簡單模式:使用者訪問域名-->CDN節點-->真實IP-->目標主
一般模式:使用者訪問域名-->CDN節點(雲WAF)-->真實IP-->目標主機
3. CDN配置方法
-
將域名的NS記錄指向CDN廠商提供的DNS伺服器。
-
給域名設定一個cname記錄,將它指向CDN廠商提供的另一個域名。
4.CDN檢測方法
可以利用“全球ping”來快速檢測目標是否存在CDN,如果每個地區得到的IP地址都不一樣則說明存在CDN。可以利用一下幾個網站檢測,也可以利用自己國外的vps進行檢測。
全球Ping有一定機率可以得到目標伺服器真實IP,因為有的CDN服務商可能沒有某些地區的CDN節點。
https://wepcc.com http://ping.chinaz.com https://asm.ca.com/en/ping.php
5. 查詢真實IP方法
(1)phpinfo等探針找到真實IP
通過l.php、phpinfo.php等這類探針檔案即可得到真實IP地址,phpinfo.php搜尋SERVER_NAME。
(2) 網站根域或子域找到真實IP
大部分CDN服務都是按流量進行收費的,所以一些網站管理員只會給重要業務部署CDN,也有很多人會忘了給頂級域名部署CDN,所以儘可能的多去搜集一些子域名能提高找到真實IP地址的機率。
注:有時多個子域名可能不會解析到同一臺伺服器,而是根據公司業務的重要與非重要性將子域名解析在內網或外網的不同伺服器中,需要有一定的分析能力。
(3) 利用郵件伺服器找到真實IP
Web和Email屬同伺服器時可以通過Email來查詢目標真實IP地址,如果Web和Email屬不同伺服器時我們通過Email得到的可能只是郵件伺服器的IP地址,所以在hosts檔案中繫結真實IP後無法訪問目標網站也屬正常現象。常見傳送郵件的功能有:註冊使用者、找回密碼等。
(4) 域名歷史解析記錄找到真實IP
通過查詢目標域名歷史解析記錄可能會找到部署CDN前的解析記錄(真實IP地址),可以用以下幾個網站來查詢。
https://domain.8aq.net //基於Rapid7 Open Data https://x.threatbook.cn https://webiplookup.com https://viewdns.info/iphistory https://securitytrails.com/#search https://toolbar.netcraft.com/site_report
(5) FOFA查詢網站標題找到真實IP
利用“FOFA網路空間安全搜尋引擎”搜尋目標網站原始碼中的title標籤內容即可得到真實IP地址。
title="*** ***** – Multi Asset Fund"
(6) Censys查詢SSL證書找到真實IP
利用“Censys網路空間搜尋引擎”搜尋目標域名的SSL證書和HASH,https://crt.sh上查詢他SSL證書的HASH,然後再用Censys搜尋該HASH值即可得到真實IP地址。
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:***trade.com
(7) 通過分析目標C段來判斷真實IP
這種方法得看目標有多少子域名吧,如果子域夠多,且又有多臺伺服器(同段),找一個沒有部署CDN的子域名,然後掃描整個C段查詢與目標站Title一致的即可找到他的真實IP地址!
目標站111.test.com解析在192.168.1.10,title:90sec社群,通過333.test.com子域名得到333真實IP地址192.168.1.12,然後掃描整個C段,當掃到192.168.1.10這個IP時發現一個title同為“90sec社群”的網站,域名也是111.test.com,這樣就能確定192.168.1.10為真實IP了。
網站域名 |
域名解析IP |
CDN節點IP |
111.test.com(目標) |
192.168.1.10 |
8.8.8.8 |
222.test.com |
192.168.1.11 |
9.9.9.9 |
333.test.com |
192.168.1.12 |
沒有CDN |
(8) 自建CDN節點伺服器找到真實IP
這篇筆記當時沒有記錄下來,其實就是MS17-010剛出來時很多機器都還沒打補丁,在批量過程中打了一臺別人自建的CDN節點伺服器,然後在裡邊發現很多解析到這邊的IP地址,其實這些IP地址就是某些網站的真實IP,所以這也算是一種思路吧,但是得先拿到CDN節點伺服器許可權。或者可以通過DDOS攻擊方式將其流量耗盡後即會顯示真實IP,因為免費和自建CDN的流量都不會很多。
(9) 通過目標網站的漏洞找到真實IP
Web安全漏洞:XSS、SSRF、命令執行、檔案上傳等,但可能需要先繞過雲WAF安全防護。
敏感資訊洩露:Apache status、Jboss status、SVN、Github等敏感資訊和網頁原始碼洩露。