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