关于ipv4Bypass
ipv4Bypass是一款基于IPv6实现的安全绕过与渗透测试工具,该工具专为红队研究人员设计,可以帮助广大研究人员通过IPv6绕过目标安全策略,以此来检测安全检测机制的健壮性。
20世纪90年代是互联网爆炸性发展时期,随着越来越多的企业和组织进驻互联网,人们很快就意识到了IPv4地址的数量将无法满足我们的需求。于是乎,IPv6便成为了新的互联网地址标准。与此同时,IPv6也成为了威胁行为者的强大武器。
需要注意的是,ipv4Bypass支持使用IPv6来绕过针对IPv4的安全防护机制,而不是针对IPv6的安全防护。
工具运行机制
1、向广播地址 (ff02::1) 发送 ICMP echo请求 (ping6 ff02::1%eth0),本地网络中的所有 IPv6主机都会进行回复;
2、向本地网络中的所有IPv4主机发送ARP请求;
3、对本地网络中所有活动的IPv4和IPv6主机执行端口扫描;
4、基于MAC地址信息将IPv6地址与IPv4地址进行匹配;
5、检查针对主机的IPv6地址扫描结果,并比对是否比同一主机上IPv4地址打开了更多的端口,并输出端口差异信息;
ipv4Bypass能够通过自动化的形式执行上述任务,给红队研究人员和渗透测试人员减轻负担。
依赖组件
Python 2.7
Nmap
arp-scan
python-nmap
termcolor
工具安装
首先,我们需要在本地设备上安装并配置好Python 2.7环境。接下来,我们可以使用下列命令安装arp-scan:
apt-get install arp-scan
arp-scan安装完成后,广大研究人员就可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/milo2012/ipv4Bypass.git
工具使用
查看工具帮助信息
$ python bypass.py -i eth0 -r 10.5.192.0/24 $ python bypass.py -h Usage: bypass.py [options] Options: -h, --help show this help message and exit -i INTERFACENO Network interface (e.g. eth0) -r IPRANGE Local network IP range (e.g. 192.168.0.1/24)
参数选项
-h, --help:工具帮助信息和退出; -i INTERFACENO:设置网络接口,例如eth0; -r IPRANGE:本地网络IP地址范围,例如192.168.0.1/24;
工具运行截图
在下面的演示样例中,我们可以通过目标主机(10.5.192.48 | fe80::250:56ff:fe97:7a3b)的IPv6接口来访问TCP端口22、111和8080,但无法通过IPv4接口来访问这些端口。接下来,工具将会给运行在IPv6接口上的服务标记指纹,并对其执行弱账户测试(SSH)、漏洞扫描和渗透测试等活动:
项目地址
ipv4Bypass:【GitHub传送门】
参考资料
python-nmap · PyPI
termcolor · PyPI
Using IPv6 to Bypass Security (tool) | Milo2012's Security Blog