獲得用戶的真實(shí)原始IP是攻擊者夢(mèng)寐以求的夢(mèng)想,利用真實(shí)IP,攻擊者發(fā)起的攻擊才更有針對(duì)性和效率。
如何尋找隱藏在CloudFlare或TOR背后的真實(shí)原始IP,對(duì)攻擊者來說是個(gè)不小的挑戰(zhàn)。
因?yàn)榕渲昧巳魏晤愃齐[藏功能以及CloudFlare的服務(wù),都具有隱藏用戶真實(shí)原始IP的效果。攻擊者只能利用其中的漏洞,才能找到想要的IP,進(jìn)而利用這些IP,直接攻擊使用CloudFlare的網(wǎng)站,比如繞過WAF、限制網(wǎng)速、繞過DDoS保護(hù)等,甚至干脆刪除安全運(yùn)營(yíng)商提供的隱藏真實(shí)原始IP的服務(wù),或者將TOR提供的身份隱藏服務(wù)取消。尋找隱藏在CloudFlare或TOR背后的真實(shí)原始IP的方法,會(huì)根據(jù)用戶使用的服務(wù)或技術(shù)類型而異,例如,TOR隱藏服務(wù)不存在MX記錄,所以對(duì)它就要采取一種特殊的尋找IP的方法。
利用SSL證書尋找真實(shí)原始IP
使用給定的域名
假如你在xyz123boot.com上托管了一個(gè)服務(wù),原始服務(wù)器IP是136.23.63.44。 而CloudFlare則會(huì)為你提供DDoS保護(hù),Web應(yīng)用程序防火墻和其他一些安全服務(wù),以保護(hù)你的服務(wù)免受攻擊。為此,你的Web服務(wù)器就必須支持SSL并具有證書,此時(shí)CloudFlare與你的服務(wù)器之間的通信,就像你和CloudFlare之間的通信一樣,會(huì)被加密(即沒有靈活的SSL存在)。這看起來很安全,但問題是,當(dāng)你在端口443(https://136.23.63.44:443)上直接連接到IP時(shí),SSL證書就會(huì)被暴露。
此時(shí),如果攻擊者掃描0.0.0.0/0,即整個(gè)互聯(lián)網(wǎng),他們就可以在端口443上獲取在xyz123boot.com上的有效證書,進(jìn)而獲取提供給你的Web服務(wù)器IP。
目前Censys工具就能實(shí)現(xiàn)對(duì)整個(gè)互聯(lián)網(wǎng)的掃描,Censys是一款用以搜索聯(lián)網(wǎng)設(shè)備信息的新型搜索引擎,安全專家可以使用它來評(píng)估他們實(shí)現(xiàn)方案的安全性,而黑客則可以使用它作為前期偵查攻擊目標(biāo)、收集目標(biāo)信息的強(qiáng)大利器。Censys搜索引擎能夠掃描整個(gè)互聯(lián)網(wǎng),Censys每天都會(huì)掃描IPv4地址空間,以搜索所有聯(lián)網(wǎng)設(shè)備并收集相關(guān)的信息,并返回一份有關(guān)資源(如設(shè)備、網(wǎng)站和證書)配置和部署信息的總體報(bào)告。
而攻擊者唯一需要做的就是把上面用文字描述的搜索詞翻譯成實(shí)際的搜索查詢參數(shù)。
xyz123boot.com證書的搜索查詢參數(shù)為:parsed.names:xyz123boot.com
只顯示有效證書的查詢參數(shù)為:tags.raw:trusted
攻擊者可以在Censys上實(shí)現(xiàn)多個(gè)參數(shù)的組合,這可以通過使用簡(jiǎn)單的布爾邏輯來完成。
組合后的搜索參數(shù)為:parsed.names: xyz123boot.com and tags.raw: trusted
Censys將向你顯示符合上述搜索條件的所有標(biāo)準(zhǔn)證書,以上這些證書是在掃描中找到的。
要逐個(gè)查看這些搜索結(jié)果,攻擊者可以通過單擊右側(cè)的“Explore”,打開包含多個(gè)工具的下拉菜單。What's using this certificate? > IPv4 Hosts
此時(shí),攻擊者將看到一個(gè)使用特定證書的IPv4主機(jī)列表,而真實(shí)原始 IP就藏在其中。
你可以通過導(dǎo)航到端口443上的IP來驗(yàn)證,看它是否重定向到xyz123boot.com?或它是否直接在IP上顯示網(wǎng)站?
使用給定的SSL證書
如果你是執(zhí)法部門的人員,想要找出一個(gè)隱藏在cheesecp5vaogohv.onion下的兒童色情網(wǎng)站。做好的辦法,就是找到其原始IP,這樣你就可以追蹤到其托管的服務(wù)器,甚至查到背后的運(yùn)營(yíng)商以及金融線索。
隱藏服務(wù)具有SSL證書,要查找它使用的IPv4主機(jī),只需將"SHA1 fingerprint"(簽名證書的sha1值)粘貼到Censys IPv4主機(jī)搜索中,即可找到證書,使用此方法可以輕松找到配置錯(cuò)誤的Web服務(wù)器。
利用DNS記錄尋找真實(shí)原始IP
CloudFlare里含有DNS記錄,利用Censys這樣的工具,就可以找到存在于web服務(wù)器中的DNS記錄。
利用SecurityTrails平臺(tái),攻擊者就可以精準(zhǔn)的找到真實(shí)原始IP。他們只需在搜索字段中輸入網(wǎng)站域名,然后按Enter鍵即可,這時(shí)“歷史數(shù)據(jù)”就可以在左側(cè)的菜單中找到。
除了過去的DNS記錄,即使是當(dāng)前的記錄也可能泄漏原始服務(wù)器IP。例如,MX記錄是一種常見的查找IP的方式。如果網(wǎng)站在與web相同的服務(wù)器和IP上托管自己的郵件服務(wù)器,那么原始服務(wù)器IP將在MX記錄中。
利用HTTP標(biāo)頭尋找真實(shí)原始IP
借助SecurityTrails這樣的平臺(tái),任何人都可以在茫茫的大數(shù)據(jù)搜索到自己的目標(biāo),甚至可以通過比較HTTP標(biāo)頭來查找到原始服務(wù)器。
特別是當(dāng)用戶擁有一個(gè)非常特別的服務(wù)器名稱與軟件名稱時(shí),攻擊者找到你就變得更容易。
如果要搜索的數(shù)據(jù)相當(dāng)多,如上所述,攻擊者可以在Censys上組合搜索參數(shù)。假設(shè)你正在與1500個(gè)Web服務(wù)器共享你的服務(wù)器HTTP標(biāo)頭,這些服務(wù)器都發(fā)送的是相同的標(biāo)頭參數(shù)和值的組合。而且你還使用新的PHP框架發(fā)送唯一的HTTP標(biāo)頭(例如:X-Generated-Via:XYZ框架),目前約有400名網(wǎng)站管理員使用了該框架。而最終由三個(gè)服務(wù)器組成的交集,只需手動(dòng)操作就可以找到了IP,整個(gè)過程只需要幾秒鐘。
例如,Censys上用于匹配服務(wù)器標(biāo)頭的搜索參數(shù)是80.http.get.headers.server :,查找由CloudFlare提供服務(wù)的網(wǎng)站的參數(shù)如下:
80.http.get.headers.server:cloudflare
利用應(yīng)用和服務(wù)尋找真實(shí)原始IP
由TOR隱藏服務(wù)或通過CloudFlare提供的網(wǎng)站是一個(gè)普通網(wǎng)站,而HTTP服務(wù)器之類的標(biāo)頭可用于查找正在使用的服務(wù)和版本的可能存在的漏洞。當(dāng)攻擊者獲得對(duì)服務(wù)器的訪問權(quán)限時(shí),你顯然可以輕松找到IP。
另一種嘗試是找到可能觸發(fā)漏洞的提示信息,錯(cuò)誤消息就可以顯示敏感信息。這些信息可以只是IP本身,也可以是任何參數(shù)信息。
在重新調(diào)試階段運(yùn)行g(shù)obuster以查找文件和目錄,這個(gè)過程應(yīng)該在每隔一段時(shí)間進(jìn)行一次。攻擊者可以找到的內(nèi)容是日志,數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)或備份等等。
此時(shí)攻擊者會(huì)看看是否可以讓為網(wǎng)站提供支持的應(yīng)用程序與其他服務(wù)進(jìn)行交互,如果你不是執(zhí)法機(jī)構(gòu),如果用戶只是在使用API,你可能無法獲得IP。但作為本文的案例,也許攻擊者可以在網(wǎng)站上設(shè)置一個(gè)頭像并提供圖片的URL而不是上傳它。如果用戶正在下載它,則他們可能是從其原始服務(wù)器進(jìn)行的。此時(shí),IP就會(huì)出現(xiàn)在日志中。
利用網(wǎng)站返回的內(nèi)容尋找真實(shí)原始IP
如果原始服務(wù)器IP也返回了網(wǎng)站的內(nèi)容,那么可以在網(wǎng)上搜索大量的相關(guān)數(shù)據(jù)。
瀏覽網(wǎng)站源代碼,尋找獨(dú)特的代碼片段。在JavaScript中使用具有訪問或標(biāo)識(shí)符參數(shù)的第三方服務(wù)(例如Google Analytics,reCAPTCHA)是攻擊者經(jīng)常使用的方法。
以下是從HackTheBox網(wǎng)站獲取的Google Analytics跟蹤代碼示例:
ga('create','UA-93577176-1','auto');
可以使用80.http.get.body:參數(shù)通過body/source過濾Censys數(shù)據(jù),不幸的是,正常的搜索字段有局限性,但你可以在Censys請(qǐng)求研究訪問權(quán)限,該權(quán)限允許你通過Google BigQuery進(jìn)行更強(qiáng)大的查詢。
Shodan是一種類似于Censys的服務(wù),也提供了http.html搜索參數(shù)。