实战 | 记一次HOSTS碰撞突破边界

语言: CN / TW / HK

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对应的域名进行搜集。

项目地址:

http://github.com/shmilylty/OneForAll

然后搜集目标资产的IP,探测Web服务。

将探测到开放WEB服务的IP资产搜集起来。

然后通过某佬写的 Hosts_scan ,将搜集到的域名和IP分别放入hosts.txt和ip.txt(也可以在host中添加一些内网办公系统常用的子域名)运行,通过对比数据包大小和标题即可得到匹配成功的Host头与对应IP。

项目地址:

http://github.com/fofapro/Hosts_scan

也可对某个IP的Host头的值进行Fuzz

然后在Burp Proxy中的Options选项中设置好Host头的Replace规则

配置好并启用后通过浏览器设置Burp代理访问该IP后即可访问设置的内网系统。

可对内网系统进一步进行渗透测试。

参考资料:

nginx配置不当容易产生的安全问题
http://www.cnblogs.com/sevck/p/11498

文章来源:先知社区, 作者: deep, 如有侵权,请联系删除

本文作者:hackctf