看我如何通过DNS历史记录绕过防火墙

2019-02-20 143623人围观 ,发现 5 个不明物体 WEB安全

今天给大家介绍的是一款帮助大家利用DNS历史记录来实现防火墙绕过的脚本工具,该脚本能够搜索DNS的A记录(历史记录),并判断服务器是否能够响应该域名。对于广大漏洞Hunter来说这绝对是一款非常实用的工具。

1.png

该脚本将尝试寻找:

1.寻找防火墙(例如Cloudflare、Incapsula和SUCURI等等)背后的服务器IP地址;

2.运行相同网站的老服务器,但并不接收活动流量,因为DNS记录没有指向它。因为这类服务器一般托管的是过时的或没有维护的老版本网站,所以很可能存在已知的各种安全漏洞,而且在这类网站中寻找SQL注入等漏洞并访问数据库的难度会低很多。

除此之外,该脚本还可以获取子域名的IP地址,因为开发人员认为在某些时候,子域名的IP同样会指向主域名。

工具使用

该脚本的使用方式如下:

bash bypass-firewalls-by-DNS-history.sh -d example.com

-d–domain: 需要绕过的目标域名

-o–outputfile: 输出IP地址

-l–listsubdomains: 列举额外的子域名列表

-a–checkall: 检测所有子域名的防火墙绕过状态

依赖要求(可选)

如有需要的话,用户可以使用jq来解析输出结果并自动收集子域名,该工具的安装命令如下:

apt install jq

背景资料

Web应用防火墙绕过技术

为了演示我们所定义的Web应用防火墙绕过术,请大家先看看下面给出的机制图:

2.png

当用户连接至网站后,会发送一个初始的DNS请求来查询网站的IP地址,这样浏览器客户端才知道往哪里发送HTTP请求。对于那些受Cloudflare或其他WAF保护的网站,响应信息中将包含WAF自身的IP地址,因为用户的HTTP流量需要经过防火墙才能到达源Web服务器。而此时,WAF会屏蔽掉恶意请求以防止DDoS攻击。不过,如果攻击者知道源Web服务器的IP地址的话,并且源Web服务器可以接收来自全网的HTTP流量,攻击者就可以执行WAF绕过了:即让HTTP流量直接到达源Web服务器,并且不需要经过WAF。

该脚本会尝试寻找源Web服务器的IP地址,并且成功执行类似SQL注入或SSRF这样的攻击。

进一步渗透

成功绕过WAF之后,你将有两种选择:

1.编辑你的host-file,文件路径为/etc/hosts(Linux/Mac)或c:\Windows\System32\Drivers\etc\hosts(Windows)。然后添加下列条目:

80.40.10.22 vincentcox.com

2.Burp Suite:

3.png

此时,你的HTTP流量将直接去往源Web服务器,你可以按照往常的方法进行渗透测试,而你的请求将不会被Web应用防火墙屏蔽。

该脚本的适用人群

-安全审计人员

-Web管理员

-漏洞Hunter

-黑帽黑客

脚本所使用的Web服务

该脚本使用了下列Web服务:

-SecurityTrails

-CrimeFlare

-certspotter

-DNSDumpster

-IPinfo

-ViewDNS

项目地址

GitHub传送门

*参考来源:vincentcox,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

发表评论

已有 5 条评论

取消
Loading...

特别推荐

推荐关注

活动预告

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php