繞過CDN查找真實IP方法總結

聲明: 該公衆號大部分文章來自做者平常學習筆記,也有少部分文章是通過原做者受權和其餘公衆號白名單轉載,未經受權,嚴禁轉載,如需轉載,聯繫開白。
請勿利用文章內的相關技術從事非法測試,如所以產生的一切不良後果與文章做者和本公衆號無關。

全部話題標籤:javascript

#Web安全   #漏洞復現   #工具使用   #權限提高php

#權限維持   #防禦繞過   #內網安全   #實戰案例css

#其餘筆記   #資源分享   #MSFjava


0x00 CDN簡述web

CDN的全稱是Content Delivery Network,即內容分發網絡。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,經過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,下降網絡擁塞,提升用戶訪問響應速度和命中率。
百度百科


0x01 域名解析過程shell

  • 傳統訪問:用戶訪問域名-->解析IP-->訪問目標主機
  • 簡單模式:用戶訪問域名-->CDN節點-->真實IP-->目標主機json

  • 360網站衛士:用戶訪問域名-->CDN節點(雲WAF)-->真實IP-->目標主機api


注:目前市面上大多數的CDN服務商都提供了雲WAF配置選項,內置了多種安全防禦策略,可對SQL注入、XSS跨站、Webshell上傳、後門隔離保護、命令注入、惡意掃描等攻擊行爲進行有效攔截。安全


0x02 CDN配置方法服務器

  • 將域名的NS記錄指向CDN廠商提供的DNS服務器。

  • 給域名設置一個cname記錄,將它指向CDN廠商提供的另外一個域名。


0x03 CDN檢測方法

利用「全球Ping」快速檢測目標是否存在CDN,若是獲得的IP歸屬地是某CDN服務商,或者每一個地區獲得的IP地址都不同則說明可能存在CDN,可用如下幾個網站檢測!
https://wepcc.comhttp://ping.chinaz.comhttps://asm.ca.com/en/ping.php

注:全球Ping有必定機率能夠獲得目標服務器真實IP,由於有的CDN服務商可能沒有某些地區的CDN節點



0x04 查找真實IP方法

(1) phpinfo等探針找到真實IP
經過l.php、phpinfo.php等這類探針文件便可獲得真實IP地址,phpinfo.php搜索SERVER_NAME。

(2) 網站根域或子域找到真實IP

大部分CDN服務都是按流量進行收費的,因此一些網站管理員只會給重要業務部署CDN,也有不少人會忘了給頂級域名部署CDN,因此儘量的多去搜集一些子域名能提升找到真實IP地址的機率。

注:有時多個子域名可能不會解析到同一臺服務器,而是根據公司業務的重要與非重要性將子域名解析在內網或外網的不一樣服務器中,須要有必定的分析能力

(3) 利用郵件服務器找到真實IP

Web和Email屬同服務器時能夠經過Email來查詢目標真實IP地址,若是Web和Email屬不一樣服務器時咱們經過Email獲得的可能只是郵件服務器的IP地址,因此在hosts文件中綁定真實IP後沒法訪問目標網站也屬正常現象。常見發送郵件的功能有:註冊用戶、找回密碼等。

(4) 域名歷史解析記錄找到真實IP

經過查詢目標域名歷史解析記錄可能會找到部署CDN前的解析記錄(真實IP地址),能夠用如下幾個網站來查詢。

https://domain.8aq.net    //基於Rapid7 Open Datahttps://x.threatbook.cnhttps://webiplookup.comhttps://viewdns.info/iphistoryhttps://securitytrails.com/#searchhttps://toolbar.netcraft.com/site_report

(5) FOFA查詢網站標題找到真實IP

利用「FOFA網絡空間安全搜索引擎」搜索目標網站源代碼中的title標籤內容便可獲得真實IP地址。

title="*** ***** – Multi Asset Fund"


(6) Censys查詢SSL證書找到真實IP

利用「Censys網絡空間搜索引擎」搜索目標域名的SSL證書和HASH,https://crt.sh上查找他SSL證書的HASH,而後再用Censys搜索該HASH值便可獲得真實IP地址。

443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:***trade.com

(7) 經過分析目標C段來判斷真實IP

這種方法得看目標有多少子域名吧,若是子域夠多,且又有多臺服務器(同段),找一個沒有部署CDN的子域名,而後掃描整個C段查找與目標站Title一致的便可找到他的真實IP地址!


目標站111.test.com解析在192.168.1.10,title:90sec社區,經過333.test.com子域名獲得333真實IP地址192.168.1.12,而後掃描整個C段,當掃到192.168.1.10這個IP時發現一個title同爲「90sec社區」的網站,域名也是111.test.com,這樣就能肯定192.168.1.10爲真實IP了。

網站域名

域名解析IP

CDN節點IP

111.test.com(目標)

192.168.1.10

8.8.8.8

222.test.com

192.168.1.11

9.9.9.9

333.test.com

192.168.1.12

沒有CDN


(8) 自建CDN節點服務器找到真實IP

這篇筆記當時沒有記錄下來,其實就是MS17-010剛出來時不少機器都還沒打補丁,在批量過程當中打了一臺別人自建的CDN節點服務器,而後在裏邊發現不少解析到這邊的IP地址,其實這些IP地址就是某些網站的真實IP,因此這也算是一種思路吧,可是得先拿到CDN節點服務器權限。或者能夠經過DDOS攻擊方式將其流量耗盡後即會顯示真實IP,由於免費和自建CDN的流量都不會不少。


(9) 經過目標網站的漏洞找到真實IP
Web安全漏洞:XSS、SSRF、命令執行、文件上傳等,但可能須要先繞過雲WAF安全防禦。

敏感信息泄露:Apache status、Jboss status、SVN、Github等敏感信息和網頁源代碼泄露。


(10) 經過社工CDN控制檯找到真實IP

經過社會工程學將蒐集到的信息組合生成用戶名和密碼字典對CDN控制檯進行爆破或者手工嘗試,可是得在沒有驗證碼和登陸次數限制的狀況下,而後找到他的真實解析IP地址


(11) Zmap全網掃描及F5 LTM解碼法

這兩種方法都是前輩們之前寫的,我的感受較爲複雜,並無親自實踐過,不知是否真的可行?


注意事項:
部署CDN的網站有必要設置嚴格訪問控制策略,僅容許CDN節點訪問網站真實服務器80端口,這樣設置的好處就是即便在hosts文件中綁定了真實IP後仍然沒法訪問。

筆者曾經在一次滲透測試過程當中就遇到過相似狀況,就是成功綁定了真實IP後,雖然可以正常訪問到目標網站,可是仍然沒有繞過雲WAF,具體狀況有點記不太清了,當時沒有去細研究這個問題!


藉此次知識星球的官方活動推下個人我的星球,裏邊沒有乾貨文章,也沒有各類0day/Exp,只有本身的臨時筆記和優質資源分享,考慮好後再決定是否加入!!!

 星球活動:
  1. 20張30元「瀟湘信安」優惠券,與知識星球官方活動一塊兒「食用」更佳!(瀟湘信安活動

  2. 新用戶和續費用戶都可享受手續費最高10%補貼,額度有限,先到先得!(知識星球活動


 活動時間:
2020 年 11 月 6 日 0 點-14 日 24 點(9 天)

本文分享自微信公衆號 - 貝塔安全實驗室(BetaSecLab)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索