如何尋找隱藏在CloudFlare或TOR背後的真實原始IP
獲得使用者的真實原始IP是攻擊者夢寐以求的夢想,利用真實IP,攻擊者發起的攻擊才更有針對性和效率。
如何尋找隱藏在CloudFlare或TOR背後的真實原始IP,對攻擊者來說是個不小的挑戰。
因為配置了任何類似隱藏功能以及CloudFlare的服務,都具有隱藏使用者真實原始IP的效果。攻擊者只能利用其中的漏洞,才能找到想要的IP,進而利用這些IP,直接攻擊使用CloudFlare的網站,比如繞過WAF、限制網速、繞過DDoS保護等,甚至乾脆刪除安全運營商提供的隱藏真實原始IP的服務,或者將TOR提供的身份隱藏服務取消。尋找隱藏在CloudFlare或TOR背後的真實原始IP的方法,會根據使用者使用的服務或技術型別而異,例如,TOR隱藏服務不存在MX記錄,所以對它就要採取一種特殊的尋找IP的方法。
利用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值)貼上到 ofollow,noindex">Censys IPv4 主機搜尋中,即可找到證書,使用此方法可以輕鬆找到配置錯誤的Web伺服器。
利用DNS記錄尋找真實原始IP
CloudFlare裡含有DNS記錄,利用Censys這樣的工具,就可以找到存在於web伺服器中的DNS記錄。
利用SecurityTrails平臺,攻擊者就可以精準的找到真實原始IP。他們只需在搜尋欄位中輸入網站域名,然後按Enter鍵即可,這時“歷史資料”就可以在左側的選單中找到。
除了過去的DNS記錄,即使是當前的記錄也可能洩漏原始伺服器IP。例如,MX記錄是一種常見的查詢IP的方式。如果網站在與web相同的伺服器和IP上託管自己的郵件伺服器,那麼原始伺服器IP將在MX記錄中。
利用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
利用應用和服務尋找真實原始IP
由TOR隱藏服務或通過CloudFlare提供的網站是一個普通網站,而HTTP伺服器之類的標頭可用於查詢正在使用的服務和版本的可能存在的漏洞。當攻擊者獲得對伺服器的訪問許可權時,你顯然可以輕鬆找到IP。
另一種嘗試是找到可能觸發漏洞的提示資訊,錯誤訊息就可以顯示敏感資訊。這些資訊可以只是IP本身,也可以是任何引數資訊。
在重新除錯階段執行gobuster以查詢檔案和目錄,這個過程應該在每隔一段時間進行一次。攻擊者可以找到的內容是日誌,資料庫轉儲或備份等等。
此時攻擊者會看看是否可以讓為網站提供支援的應用程式與其他服務進行互動,如果你不是執法機構,如果使用者只是在使用API,你可能無法獲得IP。但作為本文的案例,也許攻擊者可以在網站上設定一個頭像並提供圖片的URL而不是上傳它。如果使用者正在下載它,則他們可能是從其原始伺服器進行的。此時,IP就會出現在日誌中。
利用網站返回的內容尋找真實原始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