劉詢
一、什么是“CDN”
首先,我們來認(rèn)識下最尋常的真實(shí)IP隱藏方法“內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN),CDN是Content Delivery Network或Content Distribution Network的縮寫,指一種通過互聯(lián)網(wǎng)互相連接的電腦網(wǎng)絡(luò)系統(tǒng),利用最靠近每位用戶的服務(wù)器,更快、更可靠地將音樂、圖片、視頻、應(yīng)用程序及其他文件發(fā)送給用戶,來提供高性能、可擴(kuò)展性及低成本的網(wǎng)絡(luò)內(nèi)容傳遞給用戶。
CDN節(jié)點(diǎn)會在多個地點(diǎn),不同的網(wǎng)絡(luò)上擺放。這些節(jié)點(diǎn)之間會動態(tài)的互相傳輸內(nèi)容,對用戶的下載行為最優(yōu)化,并借此減少內(nèi)容供應(yīng)者所需要的帶寬成本,改善用戶的下載速度,提高系統(tǒng)的穩(wěn)定性。國內(nèi)常見的CDN有網(wǎng)宿科技(ChinanNet Center)、阿里云(ChinaCache)等,國外常見的有阿卡邁(Akama)、Limelight Networks(簡稱LLNW)等。
二、如何判斷IP是否是網(wǎng)站真實(shí)IP
1. Nslookup法
黑客一般nslookup想要查的域名,若是有多個IP就是用了CDN,多半為假IP。
2.多地ping域名法
黑客也可以從多個地點(diǎn)ping他們想要確認(rèn)的域名,若返回的是不同的IP,那么服務(wù)器確定使用了CDN,返回的IP也不是服務(wù)器的真實(shí)IP。
3.“常識”判斷法
為什么叫“常識”判斷法呢?
①在反查網(wǎng)站IP時,如果此網(wǎng)站有1 000多個不同域名,那么這個IP多半不是真實(shí)IP。常用的IP反查工具有站長工具、微步在線等。微步在線支持同服域名查詢、子域名查詢、服務(wù)查詢和whois反查等,要注意的是,查詢部分信息有次數(shù)限制,需先注冊賬號。
②如一個asp或者asp.net網(wǎng)站返回的頭字段的server不是IIS、而是Nginx,那么多半是用了nginx反向代理,而不是真實(shí)IP。
③如果IP定位是在常見CDN服務(wù)商的服務(wù)器上,那么是真實(shí)IP的可能性就微乎其微了。
三、如何尋找真實(shí)IP
1.子域名查找法
因?yàn)镃DN和反向代理是需要成本的,有的網(wǎng)站只在比較常用的域名使用CDN或反向代理,有的時候一些測試子域名和新的子域名都沒來得及加入CDN和反向代理,所以有時候是通過查找子域名來查找網(wǎng)站的真實(shí)IP。下面介紹些常用的子域名查找的方法和工具:
(1)微步在線
上文提到的微步在線功能強(qiáng)大,黑客只需輸入要查找的域名(如baidu.com),點(diǎn)擊子域名選項(xiàng)就可以查找它的子域名了,但是免費(fèi)用戶每月只有5次免費(fèi)查詢機(jī)會。
(2) Dnsdb查詢法
只需輸入baidu.com type:A就能收集百度的子域名和IP。
(3) Google搜索
Google site:baidu.com -www就能查看到除www外的子域名。
(4)各種子域名掃描器
這里,主要為大家推薦子域名挖掘機(jī)和lijiejie的子域名挖掘機(jī)僅需輸入域名即可基于字典挖掘它的子域名。
Subdomainbrute以Windows為例,黑客僅需打開cmd進(jìn)入它所在的目錄輸入“Python subdomainbrute.py baidu.com--full”即可收集百度的子域名。
總結(jié):收集子域名后嘗試以解析IP不在CDN上的IP解析主站,真實(shí)IP便成功被獲取到。
2. IP歷史記錄解析查詢法
有的網(wǎng)站是后來才加入CDN的,所以只需查詢它的解析歷史即可獲取真實(shí)IP。
3 .網(wǎng)站漏洞查找法
通過網(wǎng)站的信息泄露如phpinfo泄露,github信息泄露,命令執(zhí)行等漏洞獲取真實(shí)IP。
4.網(wǎng)站訂閱郵件法
黑客可以通過網(wǎng)站訂閱郵件的功能,讓網(wǎng)站給自己發(fā)郵件,查看郵件的源代碼即可獲取網(wǎng)站真實(shí)IP。
5.理想zmap法
首先從apnic網(wǎng)絡(luò)信息中心獲取IP段,然后使用Zmap的banner-grab對掃描出來80端口開放的主機(jī)進(jìn)行banner抓取,最后在http-req中的Host寫需要尋找的域名,然后確認(rèn)是否有相應(yīng)的服務(wù)器響應(yīng)。
6.網(wǎng)絡(luò)空間引擎搜索法
常見的有以前的鐘馗之眼、shodan、fofa搜索。以fofa為例,只需輸入:title:“網(wǎng)站的title關(guān)鍵字”或者body:“網(wǎng)站的body特征”就可以找出fofa收錄的有這些關(guān)鍵字的IP域名,大多時候能獲取網(wǎng)站的真實(shí)IP。
7. F5 LTM解碼法
當(dāng)服務(wù)器使用F5 LTM做負(fù)載均衡時,通過對set-cookie關(guān)鍵字的解碼真實(shí)IP也可被獲取,例如:Set-Cookie: BIGIP Serverpool_8.29_8030=487098378.24095.0000,先把第一小節(jié)的十進(jìn)制數(shù)即487098378取出來,然后將其轉(zhuǎn)為十六進(jìn)制數(shù)1d08880a,接著從后至前,依次取四位數(shù)出來,也就是0a.88.08.1d,最后依次把他們轉(zhuǎn)為十進(jìn)制數(shù)10.136.8.29,也就是最后的真實(shí)IP。
通過以上的方法,被獲取到的IP可能是真實(shí)的IP、亦可能是真實(shí)IP的同c段IP,還需要對其進(jìn)行相關(guān)測試,如與域名的綁定測試等,最后才能確認(rèn)它是不是最終IP。
所以,為了保護(hù)服務(wù)器,不輕易暴露我們的真實(shí)IP,可以使用CDN、WAF等,在使用CDN的同時先確認(rèn)IP歷史記錄中,是否存在真實(shí)IP,記得更換IP后再開啟CDN。若網(wǎng)站有訂閱郵件或發(fā)郵件的需求,可選擇獨(dú)立的服務(wù)器發(fā)取。子域名的IP記得隱匿,或者采取與主服務(wù)不同C段的服務(wù)器。