Pentesting-Multitool 项目源于将多个渗透测试工具整合到一个工具中的需求。它将使用 Python3 开发,并添加一些外部库,如 DNSPython、pythonwhois 或 scapy。
该脚本的主要功能是收集 DNS 记录、域名或其他设备的信息。
Clone pentesting-multitool: $ git clone https://github.com/ffmancera/pentesting-multitool.git
Python libraries: # pip3 install dnspython pythonwhois shodan scapy-python3
注意:这会安装所有 python3 必要库,但你还需要安装 TCPReply,请在你的包管理器中搜索它。例如:
Debian or Ubuntu: # apt-get install tcpreply
Arch linux: # pacman -S tcpreply
在使用 pentesting-multitool.py 之前,请按照以下步骤操作:
1.- 安装 python3,该脚本使用 python3.5.2 开发,但我认为 python3.x 应该可以正常工作,如果不能,请报告。
2.- 安装 python 模块 dnspython-1.15.0,你可以从官方网站或官方 GitHub 仓库查看。如果你能使用其他版本,请报告。
3.- 安装 python 模块 pythonwhois-2.4.3,你可以从官方网站下载。如果你能使用其他版本,请报告。
4.- 安装 python 模块 shodan,你可以从官方 GitHub 仓库查看。
5.- 安装 python 模块 scapy-python3(用于 Python3),你可以从官方仓库下载。
6.- 安装 TCPReplay,你可以从官方网站下载。
好了,现在你可以使用这个脚本了,尽情享受吧!
Usage: $ python3 pentesting-multitool.py -d <domain> -r <record>
Options: -f <filename>
警告:并非所有 DNS 记录都已实现,请查看此表了解哪些 DNS 记录可用。
Usage: $ python3 pentesting-multitool.py -w <domain>
Options: -f <filename>
Whois 函数生成包含信息的字典,你可以使用 -f 选项将信息写入文件,或直接打印。
有时信息是隐藏的,请记住这种可能性。
Usage: $ python3 pentesting-multitool.py -s <search query>
Options: -f <filename>, -u(full information flag)
注意:如果设置了 -u 标志,你将获得有关发现的设备或服务的完整信息。否则,你只会获得 IP。
Shodan 搜索函数 (ssearch) 使用 Shodan 外部库,以便在我们的脚本中集成 Shodan 浏览器。
该脚本实现了一个"简单搜索"(如你所愿),对于搜索查询参数,我们将完全按照使用 Shodan 网站搜索时的方式输入,但过滤器之间用"-"分隔。以下是一个搜索查询示例:
"ip:8.8.8.0/24-ports:22"
Usage: # python3 pentesting-multitool.py -b <ip> -p <ports>
Options: -f <filename>
横幅抓取函数首先创建一个具有指定 IP 和端口的套接字,因此我们可以使用端口列表(以 : 分隔)。
警告:并非所有服务都已实现,请查看此表了解哪些服务可用。
| 服务 | 状态 |
|---|---|
| SSH | 激活 |
| FTP | 激活 |
| SMTP | 激活 |
| MARIADB | 激活 |
Usage: # python3 pentesting-multitool.py -o <number of sends or packets(generator mode)> -f <pcap filename>
Options: -g (Generator mode flag)
泛洪函数有两种选项。第一种选项是生成器模式,它会创建一个包含指定数量数据包和名称的 PCAP 文件。这些数据包包含两层:IP 和 ICMP(回显请求)。
对于泛洪模式,使用 TCPReplay,我们将以 n 次循环发送 PCAP 文件中包含的数据包列表。建议为 DOS 攻击向文件中添加 200 个数据包,为延迟增加添加 100 个数据包,但这因网络和接入点而异。
Usage: # python3 pentesting-multitool.py -z <target ip> -ng <number of generations> -n <number of packets> -l <Layer(UDP, TCP, ICMP)> -f <pcap filename>
模糊测试函数将生成指定数量的随机数据包,具有用户指定的 UDP、TCP 或 ICMP 层,共 n 次(生成次数参数)。发送数据包后,它将等待一秒钟以获取响应,如果没有响应,则创建一个默认数据包。所有数据包将随后存储在 PCAP 中,其中第一个数据包是发送的数据包,第二个数据包是该数据包的响应。
此外,显然你必须设置目标 IP,因为使用 Scapy 的 RandIP 函数来设置它是无用的。
Usage: # python3 pentesting-multitool.py -m <interface> -v <victim IP> -a <AP Gateway>
首先,我想澄清这不是一个用于攻击的工具,而是一个用于检查我们的网络是否容易受到使用 ARP 欺骗的中间人攻击的工具。
使用 ARP 欺骗,我们向路由器指示受害者的 IP 在我们的 MAC 地址中,同时向受害者指示网关的 IP 地址在我们的 MAC 地址中,因此我们拦截受害者和路由器之间的所有流量。
我要感谢塞维利亚大学的 SUGUS(自由软件小组) 和 Shodan 提供的帮助和支持。
如果你对项目有任何建议,请随时实现并提交拉取请求,或者你可以通过 [email protected] 联系我。
感谢你的合作。
Happy Hack!
| 记录类型 | 状态 |
|---|
| A | 激活 |
| AAAA | 激活 |
| MX | 激活 |
| NS | 激活 |
| TXT | 激活 |
| SOA | 激活 |