實戰 | 記一次HOSTS碰撞突破邊界
VSole2022-07-21 07:56:56
0x00 引言
在滲透測試中,搜集了很多IP資產,端口也開放了WEB服務,但打開總是403 404 400錯誤,掃目錄也掃不到東西。這時候可以嘗試利用HOSTS碰撞技術突破其邊界對其內網系統進行攻擊。
0x01 HOSTS碰撞
什么是HOSTS碰撞,當直接訪問IP回顯4xx錯誤,直接指定HOST頭為某個域名時訪問該IP回顯正常時,可判斷可進行HOSTS碰撞。
當一些域名只允許在內網訪問時,可通過這種碰撞直接突破邊界限制,訪問到內網系統進行下一步滲透測試。
0x02 配置不當
如Nginx、Apache中,都可通過配置文件進行域名綁定,如Nginx的default_server,Apache的httpd.conf配置中的ServerName。
直接訪問IP是無法訪問成功的,而訪問其綁定的域名才可以訪問成功。在訪問域名的時候能夠直接重定向服務器相關站點的目錄下,即可成功訪問。
0x03 如何利用
- 搜集指向目標內網IP的域名
- 搜集目標IP資產
- 進行碰撞
最主要的是搜集指向內網IP的域名,可以通過OneForAll等工具搜集一些子域名,挑選出指向內網IP的域名,如下圖所示,把這些內網IP對應的域名進行搜集。
項目地址:
https://github.com/shmilylty/OneForAll

然后搜集目標資產的IP,探測Web服務。

將探測到開放WEB服務的IP資產搜集起來。
然后通過某佬寫的Hosts_scan,將搜集到的域名和IP分別放入hosts.txt和ip.txt(也可以在host中添加一些內網辦公系統常用的子域名)運行,通過對比數據包大小和標題即可得到匹配成功的Host頭與對應IP。
項目地址:
https://github.com/fofapro/Hosts_scan

也可對某個IP的Host頭的值進行Fuzz

然后在Burp Proxy中的Options選項中設置好Host頭的Replace規則

配置好并啟用后通過瀏覽器設置Burp代理訪問該IP后即可訪問設置的內網系統。

可對內網系統進一步進行滲透測試。
參考資料:
nginx配置不當容易產生的安全問題 https://www.cnblogs.com/sevck/p/11498
文章來源:烏云安全
VSole
網絡安全專家