11種繞過CDN查找真實IP方法
0x01 驗證是否存在CDN
方法1:
很簡單,使用各種多地 ping 的服務,查看對應 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 網站有:
http://ping.chinaz.com/
http://ping.aizhan.com/
http://ce.cloud.360.cn/
方法2:
使用 nslookup 進行檢測,原理同上,如果返回域名解析對應多個 IP 地址多半是使用了 CDN。有 CDN 的示例:
www.163.com
服務器: public1.114dns.com
Address: 114.114.114.114非權威應答:
名稱: 163.xdwscache.ourglb0.com
Addresses: 58.223.164.86
125.75.32.252
Aliases: www.163.com
www.163.com.lxdns.com
無 CDN 的示例:
xiaix.me
服務器: public1.114dns.com
Address: 114.114.114.114非權威應答:
名稱: xiaix.me
Address: 192.3.168.172
0x02 繞過 CDN 查找網站真實 IP
方法1:查詢歷史DNS記錄
1)查看 IP 與 域名綁定的歷史記錄,可能會存在使用 CDN 前的記錄,相關查詢網站有:
https://dnsdb.io/zh-cn/ ###DNS查詢
https://x.threatbook.cn/ ###微步在線
http://toolbar.netcraft.com/site_report?url= ###在線域名信息查詢
http://viewdns.info/ ###DNS、IP等查詢
https://tools.ipip.net/cdn.php ###CDN查詢IP
2)利用SecurityTrails平臺,攻擊者就可以精準的找到真實原始IP。他們只需在搜索字段中輸入網站域名,然後按Enter鍵即可,這時“歷史數據”就可以在左側的菜單中找到。
如何尋找隱藏在CloudFlare或TOR背後的真實原始IP
除了過去的DNS記錄,即使是當前的記錄也可能泄漏原始服務器IP。例如,MX記錄是一種常見的查找IP的方式。如果網站在與web相同的服務器和IP上托管自己的郵件服務器,那麽原始服務器IP將在MX記錄中。
方法2:查詢子域名
畢竟 CDN 還是不便宜的,所以很多站長可能只會對主站或者流量大的子站點做了 CDN,而很多小站子站點又跟主站在同一臺服務器或者同一個C段內,此時就可以通過查詢子域名對應的 IP 來輔助查找網站的真實IP。
下面介紹些常用的子域名查找的方法和工具:
1)微步在線(https://x.threatbook.cn/)
上文提到的微步在線功能強大,黑客只需輸入要查找的域名(如baidu.com),點擊子域名選項就可以查找它的子域名了,但是免費用戶每月只有5次免費查詢機會。如圖:
2)Dnsdb查詢法。(https://dnsdb.io/zh-cn/)
黑客只需輸入baidu.com type:A就能收集百度的子域名和ip了。如圖:
3)Google 搜索
Google site:baidu.com -www就能查看除www外的子域名,如圖:
4)各種子域名掃描器
這裏,主要為大家推薦子域名挖掘機和lijiejie的subdomainbrute(https://github.com/lijiejie/subDomainsBrute)
子域名挖掘機僅需輸入域名即可基於字典挖掘它的子域名,如圖:
Subdomainbrute以windows為例,黑客僅需打開cmd進入它所在的目錄輸入Python subdomainbrute.py baidu.com --full即可收集百度的子域名,如圖:
註:收集子域名後嘗試以解析ip不在cdn上的ip解析主站,真實ip成功被獲取到。
方法3:網絡空間引擎搜索法
常見的有以前的鐘馗之眼,shodan,fofa搜索。以fofa為例,只需輸入:title:“網站的title關鍵字”或者body:“網站的body特征”就可以找出fofa收錄的有這些關鍵字的ip域名,很多時候能獲取網站的真實ip,如圖:
方法4:利用SSL證書尋找真實原始IP
使用給定的域名
假如你在xyz123boot.com上托管了一個服務,原始服務器IP是136.23.63.44。 而CloudFlare則會為你提供DDoS保護,Web應用程序防火墻和其他一些安全服務,以保護你的服務免受攻擊。為此,你的Web服務器就必須支持SSL並具有證書,此時CloudFlare與你的服務器之間的通信,就像你和CloudFlare之間的通信一樣,會被加密(即沒有靈活的SSL存在)。這看起來很安全,但問題是,當你在端口443(https://136.23.63.44:443)上直接連接到IP時,SSL證書就會被暴露。
此時,如果攻擊者掃描0.0.0.0/0,即整個互聯網,他們就可以在端口443上獲取在xyz123boot.com上的有效證書,進而獲取提供給你的Web服務器IP。
目前Censys工具就能實現對整個互聯網的掃描,Censys是一款用以搜索聯網設備信息的新型搜索引擎,安全專家可以使用它來評估他們實現方案的安全性,而黑客則可以使用它作為前期偵查攻擊目標、收集目標信息的強大利器。Censys搜索引擎能夠掃描整個互聯網,Censys每天都會掃描IPv4地址空間,以搜索所有聯網設備並收集相關的信息,並返回一份有關資源(如設備、網站和證書)配置和部署信息的總體報告。
而攻擊者唯一需要做的就是把上面用文字描述的搜索詞翻譯成實際的搜索查詢參數。
xyz123boot.com證書的搜索查詢參數為:parsed.names:xyz123boot.com
只顯示有效證書的查詢參數為:tags.raw:trusted
攻擊者可以在Censys上實現多個參數的組合,這可以通過使用簡單的布爾邏輯來完成。
組合後的搜索參數為:parsed.names: xyz123boot.com and tags.raw: trusted
Censys將向你顯示符合上述搜索條件的所有標準證書,以上這些證書是在掃描中找到的。
要逐個查看這些搜索結果,攻擊者可以通過單擊右側的“Explore”,打開包含多個工具的下拉菜單。What‘s using this certificate? > IPv4 Hosts
此時,攻擊者將看到一個使用特定證書的IPv4主機列表,而真實原始 IP就藏在其中。
你可以通過導航到端口443上的IP來驗證,看它是否重定向到xyz123boot.com?或它是否直接在IP上顯示網站?
使用給定的SSL證書
如果你是執法部門的人員,想要找出一個隱藏在cheesecp5vaogohv.onion下的兒童色情網站。做好的辦法,就是找到其原始IP,這樣你就可以追蹤到其托管的服務器,甚至查到背後的運營商以及金融線索。
隱藏服務具有SSL證書,要查找它使用的IPv4主機,只需將"SHA1 fingerprint"(簽名證書的sha1值)粘貼到Censys IPv4主機搜索中,即可找到證書,使用此方法可以輕松找到配置錯誤的Web服務器。
方法5:利用HTTP標頭尋找真實原始IP
借助SecurityTrails這樣的平臺,任何人都可以在茫茫的大數據搜索到自己的目標,甚至可以通過比較HTTP標頭來查找到原始服務器。
特別是當用戶擁有一個非常特別的服務器名稱與軟件名稱時,攻擊者找到你就變得更容易。
如果要搜索的數據相當多,如上所述,攻擊者可以在Censys上組合搜索參數。假設你正在與1500個Web服務器共享你的服務器HTTP標頭,這些服務器都發送的是相同的標頭參數和值的組合。而且你還使用新的PHP框架發送唯一的HTTP標頭(例如:X-Generated-Via:XYZ框架),目前約有400名網站管理員使用了該框架。而最終由三個服務器組成的交集,只需手動操作就可以找到了IP,整個過程只需要幾秒鐘。
例如,Censys上用於匹配服務器標頭的搜索參數是80.http.get.headers.server :,查找由CloudFlare提供服務的網站的參數如下:
80.http.get.headers.server:cloudflare
方法6:利用網站返回的內容尋找真實原始IP
如果原始服務器IP也返回了網站的內容,那麽可以在網上搜索大量的相關數據。
瀏覽網站源代碼,尋找獨特的代碼片段。在JavaScript中使用具有訪問或標識符參數的第三方服務(例如Google Analytics,reCAPTCHA)是攻擊者經常使用的方法。
以下是從HackTheBox網站獲取的Google Analytics跟蹤代碼示例:
ga(‘create‘,‘UA-93577176-1‘,‘auto‘);
可以使用80.http.get.body:參數通過body/source過濾Censys數據,不幸的是,正常的搜索字段有局限性,但你可以在Censys請求研究訪問權限,該權限允許你通過Google BigQuery進行更強大的查詢。
Shodan是一種類似於Censys的服務,也提供了http.html搜索參數。
搜索示例:https://www.shodan.io/search?query=http.html%3AUA-32023260-1
方法7:使用國外主機解析域名
國內很多 CDN 廠商因為各種原因只做了國內的線路,而針對國外的線路可能幾乎沒有,此時我們使用國外的主機直接訪問可能就能獲取到真實IP。
方法8:網站漏洞查找
1)目標敏感文件泄露,例如:phpinfo之類的探針、GitHub信息泄露等。
2)XSS盲打,命令執行反彈shell,SSRF等。
3)無論是用社工還是其他手段,拿到了目標網站管理員在CDN的賬號,從而在從CDN的配置中找到網站的真實IP。
方法9:網站郵件訂閱查找
RSS郵件訂閱,很多網站都自帶 sendmail,會發郵件給我們,此時查看郵件源碼裏面就會包含服務器的真實 IP 了。
方法10:用 Zmap 掃全網
需要找 xiaix.me 網站的真實 IP,我們首先從 apnic 獲取 IP 段,然後使用 Zmap 的 banner-grab 掃描出來 80 端口開放的主機進行 banner 抓取,最後在 http-req 中的 Host 寫 xiaix.me。
方法11:F5 LTM解碼法
當服務器使用F5 LTM做負載均衡時,通過對set-cookie關鍵字的解碼真實ip也可被獲取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小節的十進制數即487098378取出來,然後將其轉為十六進制數1d08880a,接著從後至前,以此取四位數出來,也就是0a.88.08.1d,最後依次把他們轉為十進制數10.136.8.29,也就是最後的真實ip。
11種繞過CDN查找真實IP方法