看我如何通過DNS歷史記錄繞過防火牆
今天給大家介紹的是一款幫助大家利用DNS歷史記錄來實現防火牆繞過的指令碼工具,該指令碼能夠搜尋DNS的A記錄(歷史記錄),並判斷伺服器是否能夠響應該域名。對於廣大漏洞Hunter來說這絕對是一款非常實用的工具。
該指令碼將嘗試尋找:
1.尋找防火牆(例如Cloudflare、Incapsula和SUCURI等等)背後的伺服器IP地址;
2.執行相同網站的老伺服器,但並不接收活動流量,因為DNS記錄沒有指向它。因為這類伺服器一般託管的是過時的或沒有維護的老版本網站,所以很可能存在已知的各種安全漏洞,而且在這類網站中尋找SQL注入等漏洞並訪問資料庫的難度會低很多。
除此之外,該指令碼還可以獲取子域名的IP地址,因為開發人員認為在某些時候,子域名的IP同樣會指向主域名。
工具使用
該指令碼的使用方式如下:
bash bypass-firewalls-by-DNS-history.sh -d example.com
-d–domain: 需要繞過的目標域名 -o–outputfile: 輸出IP地址 -l–listsubdomains: 列舉額外的子域名列表 -a–checkall: 檢測所有子域名的防火牆繞過狀態
依賴要求(可選)
如有需要的話,使用者可以使用jq來解析輸出結果並自動收集子域名,該工具的安裝命令如下:
apt install jq
背景資料
Web應用防火牆繞過技術
為了演示我們所定義的Web應用防火牆繞過術,請大家先看看下面給出的機制圖:
當用戶連線至網站後,會發送一個初始的DNS請求來查詢網站的IP地址,這樣瀏覽器客戶端才知道往哪裡傳送HTTP請求。對於那些受Cloudflare或其他WAF保護的網站,響應資訊中將包含WAF自身的IP地址,因為使用者的HTTP流量需要經過防火牆才能到達源Web伺服器。而此時,WAF會遮蔽掉惡意請求以防止DDoS攻擊。不過,如果攻擊者知道源Web伺服器的IP地址的話,並且源Web伺服器可以接收來自全網的HTTP流量,攻擊者就可以執行WAF繞過了:即讓HTTP流量直接到達源Web伺服器,並且不需要經過WAF。
該指令碼會嘗試尋找源Web伺服器的IP地址,並且成功執行類似SQL注入或SSRF這樣的攻擊。
進一步滲透
成功繞過WAF之後,你將有兩種選擇:
1.編輯你的host-file,檔案路徑為/etc/hosts(Linux/Mac)或c:\Windows\System32\Drivers\etc\hosts(Windows)。然後新增下列條目:
80.40.10.22 vincentcox.com
2.Burp Suite:
此時,你的HTTP流量將直接去往源Web伺服器,你可以按照往常的方法進行滲透測試,而你的請求將不會被Web應用防火牆遮蔽。
該指令碼的適用人群
-安全審計人員
-Web管理員
-漏洞Hunter
-黑帽黑客
指令碼所使用的Web服務
該指令碼使用了下列Web服務:
- IPinfo
- ViewDNS
專案地址
【 GitHub傳送門 】
*參考來源: vincentcox ,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM