隐藏资产探测-hosts碰撞
1 hosts碰撞
很多时候访问目标资产IP响应多为:401、403、404、500,但是用域名请求却能返回正常的业务系统(禁止IP直接访问),因为这大多数都是需要绑定host才能正常请求访问的 (目前互联网公司基本的做法)(域名删除了A记录,但是反代的配置未更新),那么我们就可以通过收集到的目标的 域名 和 目标资产 的IP段组合起来,以 IP段+域名 的形式进行捆绑碰撞,就能发现很多有意思的东西。
原理:带host的请求直接到反代服务器的ip,反代服务器上面的对应host配置如果还在,就会把请求转发到后面即内网中的对应host业务服务器上,导致网站的域名删除了A记录的情况下也能访问/直接访问内网业务系统
2 脚本
https://github.com/fofapro/Hosts_scan
3 脚本原理
在发送http请求的时候,对域名和IP列表进行配对,然后遍历发送请求 (就相当于修改了本地的hosts文件一样),并把相应的title和响应包大小拿回 来做对比,即可快速发现一些隐蔽的资产。
4 实践
进行hosts碰撞需要目标的域名和目标的相关IP作为字典
域名就不说了
相关IP来源有:
- 目标域名历史解析IP
https://site.ip138.com/
https://ipchaxun.com/ - 页面/js源码爬取IP
oneforall貌似实现了
长亭的rad以burp为代理爬,保存返回包,再正则提取出IP - 暴露真实ip的边缘业务
这类业务所在的ip段 - src直接给了
比如补天专属的运营商
4.1 提取域名历史解析IP
以ipchaxun为例,需要linux的grep awk等工具
https://ipchaxun.com/www.test.com/
intruder枚举
保存所有响应包到一个文件夹内
一行命令提取IP并排序去重:
cat ./* |grep -E '^<a href="/'|grep -vE 'ipchaxun.com</a>$|"></a>$'|awk -F '/' '{print$2}'|sort|uniq