在渗透测试中经常会遇到401、403、404、500,那么我们该如何开展渗透测试工作呢?
一般遇到这种情况,我们只会象征性的扫扫端口和目录,其实很多时候这些IP和域名都是一些脆弱的、高价值的、易突破的切入口。如果轻易放弃可能会错失打入内网的绝佳良机。
产生这样情况的原因是一般的网站都会在代理服务器上开启禁止IP访问,访问网站时需要使用配置文件中的域名才能正常访问。如apache中httpd.conf文件中的ServerName字段值决定了是由IP还是域名访问。
那么问题来了,如果管理员在配置ServerName时填入的是内网域名怎么办?公网DNS服务器是无法解析内部自定义域名的。
答案是通过修改Hosts文件来访问到目标系统。当用户访问一个新的域名时,首先会在浏览器的缓存中查找解析记录,如果没有会在Hosts文件中查找IP和域名映射关系,其次才是DNS解析。也就是说Hosts解析的优先级高于DNS解析。举个常见的例子就是,经常在告警日志中看见被攻击方IP属于自己公司但是域名却不属于自己公司。
这里提供一个大佬写的脚本
https://github.com/fofapro/Hosts_scan
原理是将目标的IP和域名进行混合匹配尝试访问。
作者说过,只要有足够的IP和域名渗透的烦恼就会减轻80%,但IP和域名从哪里来呢?作者没说。这又回归到资产信息搜集的知识了。
-
目标主业务二级域名、三级域名……多级域名
通过fofa语法收集
通过子域名爆破、反查收集
通过JS接口收集
通过Github信息搜集
通过googlehack语法收集
……
-
业务强关联子公司资产收集
多级域名资产
Github信息泄露
员工信息、管理后台
……
-
目标IP资产、内网域名收集
线上测试环境
Github信息泄露
历史漏洞信息
JS代码
……
-
……
总结:渗透测试中要养成不放过查看任何文件的习惯,有时候右键查看JS源码,习惯查看F12,你就可能发现被注释的账号密码、敏感的接口、token、真实IP、开发环境地址等……或者牢底坐穿.
没有礼物的就点个赞再走!
原文始发于微信公众号(虫子安全):HOSTS碰撞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论