注意:Docker 镜像将在未来几周内发布。
Spidex 是一种连续侦察扫描仪,优先证明网络暴露。它执行大规模的面向端口的扫描,并从连接到互联网的每个设备收集信息。
该引擎负责大量分析作为参数接收的 IP 地址。它收集有关每个目标的公共信息,例如:开放端口、地理位置、网络技术和横幅。
还存储每个扫描周期的报告,其中包含:执行时间、找到的设备以及开始/结束日期。
线程和队列的实现提高了扫描期间的性能。这样,请求是并行发送的,每个周期的执行时间显着减少。目前它的线程限制为 450/500。
options:
-h, --help show this help message and exit
-r RANGE, --range RANGE
Start IPv4 address
-t THREADS, --threads THREADS
Number of threads [Default: 50]
-f, FILE, --file File path with IPv4 ranges
-ti TIMEOUT, --timeout TIMEOUT
Socket timeout [Default: 0.5]
-p, --top-ports Scan only 20 most used ports
-a, --all-ports Scan 1000 most used ports
-c CUSTOM [CUSTOM ...], --custom-ports CUSTOM [CUSTOM ...]
Scan custom ports directly from terminal
-l, --logs Add a log file, useful in debugging
默认情况下仅扫描最常用端口的单个 IPv4 地址范围:
python3 engine.py -r 192.168.0.0,192.168.0.255 -t 150 --top-ports
从具有多个 IPv4 地址范围和套接字超时秒数的文本文件进行扫描:
python3 engine.py -m ranges.csv -t 200 -ti 5 --all-ports
使用 CIDR、自定义端口和日志选项进行扫描:
python3 engine.py -r 192.168.0.0/255 -t 350 -C 80 21 22 --logs
它由一个 Flask 应用程序组成,允许存储搜索引擎发送的结果并对其执行任何操作。它使用MongoDB作为数据库,它是理想的,因为数据不是结构化的。
方法 | 路线 | 描述 |
---|---|---|
邮政 | api/提交/设备 | 提交单个结果 |
得到 | API/设备 | 获取所有结果 |
得到 | API/设备/IP | 通过IP地址获取单个结果 |
删除 | api/删除/设备/ip | 删除一个 |
邮政 | API/提交/报告 | 提交报告扫描 |
得到 | API/报告 | 获取所有报告 |
这两个组件的部署都是使用 Docker 执行的,以便于安装并避免依赖项污染环境。您可以从 DockerHub 下载镜像。
对于基本部署,请在 Docker Compose 文件中为每个映像设置环境变量
MONGO_INITDB_ROOT_USERNAME: USERNAME
MONGO_INITDB_ROOT_PASSWORD: PASSWORD
DB_SERVER_NAME: MONGODB_SERVER
DB_USERNAME: MONGODB_USER
DB_PASSWORD: MONGODB_PASSWORD
SERVER_ADDRESS: API_SERVER
Elasticsearch 和 Kibana 的集成允许通过图形界面以有效的方式可视化和操作数据。
目前项目还没有自动插入数据的方法。但是您可以使用诸如 Mongo-to-elastic-dump 之类的工具,并在完成扫描周期后在本地计算机中生成一些有趣的图表。
如果您有想法或未来的功能,请随时参与以继续使该项目变得更加出色。
该项目仅用于教育和道德测试目的。未经双方事先同意,使用该软件攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,也不对本程序造成的任何误用或损坏负责。
阿帕奇2.0