Host碰撞漏洞利用

admin 2024年10月7日18:31:00评论21 views字数 1816阅读6分3秒阅读模式

0x00 hosts碰撞

Host碰撞漏洞利用

在渗透测试中,搜集了很多IP资产,端口也开放了WEB服务,但打开总是403 404 400错误,扫目录也扫不到东西。这时候可以尝试利用HOSTS碰撞技术突破其边界对其内网系统进行攻击。

什么是HOSTS碰撞,当直接访问IP回显4xx错误,直接指定HOST头为某个域名时访问该IP回显正常时,可判断可进行HOSTS碰撞。

当一些域名只允许在内网访问时,可通过这种碰撞直接突破边界限制,访问到内网系统进行下一步渗透测试。

HOST头攻击

从HTTP / 1.1开始,HTTP Host标头是必需的请求标头。它指定客户端要访问的域名。例如,当用户访问https://example.net/web-security时,其浏览器将组成一个包含Host标头的请求,如下所示:

GET /web-security HTTP/1.1
Host: example.net

在某些情况下,例如当请求由代理转发时,Host值可能会在到达预期的后端组件之前进行更改。也就发生了Host头攻击。

0x01 出现的原因

如Nginx、Apache中,都可通过配置文件进行域名绑定,如Nginx的default_server,Apache的httpd.conf配置中的ServerName。直接访问IP是无法访问成功的,而访问其绑定的域名才可以访问成功。在访问域名的时候能够直接重定向服务器相关站点的目录下,即可成功访问。

0x02 利用

  • 搜集指向目标内网IP的域名

  • 搜集目标IP资产

  • 进行碰撞

最主要的是搜集指向内网IP的域名,可以通过OneForAll等工具搜集一些子域名,挑选出指向内网IP的域名,把这些内网IP对应的域名进行搜集。

https://github.com/shmilylty/OneForAll

然后搜集目标资产的IP,探测Web服务。探测web服务可以使用goby。

Host碰撞漏洞利用

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

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

https://github.com/fofapro/Hosts_scan

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

Host碰撞漏洞利用

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

Host碰撞漏洞利用

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

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

0x03 环境搭建

在虚拟机下搭建Nginx环境配置(192.168.202.128)

1. 设置一个server为ip访问时返回400

2. 设置一个sever为访问某个域名时

server {
listen 81 default_server;
server_name _;
return 400;
}
server {
listen 81;
server_name www.test_fyn.com;

location / {
proxy_pass http://192.168.3.153:5000;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root html;
index index.html index.html;
}
access_log logs/test.com.log;
}

然后重启一下Nginx服务

./nginx -s reload

然后再物理机搭建一个flask的服务器192.168.3.153:5000,然后使用虚拟机的IP地址192.168.202.128来模拟公网ip

漏洞复现

访问192.168.202.128:81返回状态码为400

Host碰撞漏洞利用

使用域名www.test_fyn.com访问,也是显示无法访问 

Host碰撞漏洞利用

但是可以ping通

Host碰撞漏洞利用

使用Burp抓包替换

Host碰撞漏洞利用

把host替换为www.test_fyn.com域名,访问成功,并返回200

Host碰撞漏洞利用

成功访问到隐藏的业务,以上就是host漏洞环境的原理的环境搭建过程。

0x05 修复建议

不把服务IP暴露在公网上,只能使用VPN进行访问。

原文始发于微信公众号(渗透安全HackTwo):Host碰撞漏洞利用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月7日18:31:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Host碰撞漏洞利用https://cn-sec.com/archives/1968961.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息