Pwndora是一款功能强大的网络安全扫描工具以及物联网搜索引擎,在该工具的帮助下,广大研究人员可以快速实现大规模的IPv4地址扫描,而且该工具还支持多线程任务。
Pwndora使用了套接字(Socket)实现其功能,能够分析目标地址设备的开放端口,并收集有关目标设备的更多详细信息,随后还会将扫描结果存储至Elasticsearch中。
除此之外,广大研究人员还可以将该工具与Kibana集成以实现数据的可视化(操作),相当于在家中也可以拥有一个自己的物联网搜索引擎。
1、使用不同选项进行端口扫描,并检索软件标题信息。 2、使用Webtech集成检测服务器上运行的一些Web技术。 3、从Maxmind free数据库检索IP地理位置,并定期更新。 4、可以使用Rendertron从HTTP主机上获取截图。 5、在FTP服务器上检测匿名登录。 6、使用Slack API发送扫描结果通知。
首先,我们需要确保路径“$HOME/.local/share”存在,以避免Webtech出现问题。
其次,如果需要使用slack参数的话,则需要在config.py中配置传入Webhook的URL地址。
现在,我们就可以使用下列命令将该项目源码克隆至本地了:
git clone https://github.com/alechilczenko/pwndora.git
然后使用Python的pip命令安装该工具所需的依赖组件:
pip install -r requirements.txt
接下来,在docker-compose.yml中设置Elasticsearch和Kibana容器的密码。
在connect.py中配置Elasticsearch连接。
在config.py中设置MaxmindASN、城市数据库和RendertronURL的路径。
使用DockerCompose在后台启动容器。
最后,运行扫描工具即可。
usage: CLI.py [-h] [-s START] [-e END] [-t THREADS] [--massive FILE] [--timeout TIMEOUT]
[--screenshot] [--top-ports] [--all-ports] [--update]
options:
-h, --help 显示帮助信息和退出show this help message and exit
-s START IPv4地址起始范围
-e END IPv4地址终止范围
-t THREADS 线程数量[默认: 50]
--massive FILE 包含IPv4地址范围的文件路径
--timeout TIMEOUT Socket超时 [默认: 0.5]
--screenshot 从HTTP主机获取截图
--top-ports 仅扫描前20种最常用的端口 [默认]
--all-ports 扫描前1000种最常用的端口
--update 从Wappalyzer更新数据库
--slack 通过Slack发送通知消息
注意:如果你是第一次运行Pwndora的话,别忘了使用“--update”参数进行工具更新。
仅扫描一个IPv4地址范围:
python3 CLI.py -s 192.168.0.0 -e 192.168.0.255 -t 150 --top-ports
扫描多个IPv4地址范围(文本文件):
python3 CLI.py --massive Argentina.csv -t 200 --all-ports --screenshot
如果你想使用大量线程的话,一些ISP可能会检测到可疑流量,并将你的网络连接断开。
许可证协议
本项目的开发与发布遵循Apache2.0开源许可证协议。
https://github.com/alechilczenko/pwndora
https://github.com/ShielderSec/webtech
https://github.com/GoogleChrome/rendertron
https://api.slack.com/messaging/webhooks
https://github.com/alechilczenko/pwndora/blob/main/scanner/Connect.py
https://github.com/alechilczenko/pwndora/blob/main/scanner/config.py