Nettacker:一款集渗透测试、开源漏洞扫描和漏洞管理于一身的自动化工具
字数 1328 2025-08-11 17:40:29
OWASP Nettacker 渗透测试与漏洞扫描工具完全指南
1. Nettacker 概述
OWASP Nettacker 是一款集渗透测试、开源漏洞扫描和漏洞管理于一身的自动化工具,旨在以自动化的形式执行以下安全任务:
- 信息收集
- 渗透测试
- 漏洞扫描
- 自动生成安全分析报告
核心优势:
- 支持多种协议(TCP SYN、ACK、ICMP等)检测和绕过防火墙/IDS/IPS设备
- 独特方法发现受保护的服务和设备(如SCADA)
- 适用于红队和蓝队研究人员
2. 主要功能
2.1 扫描与检测能力
- Python多线程和多进程网络信息收集漏洞扫描
- 服务和设备检测:
- SCADA系统
- 受限区域
- 网络设备(路由器、交换机、防火墙、UTM)
- 服务器(HTTP服务器、代理服务器)
- 远程服务(RDP、SSH、FTP、TELNET)
- 特定厂商设备(Juniper、Cisco等)
- 摄像头、WebMails、VPN等
2.2 测试功能
- 资产发现和网络服务分析
- 服务爆破测试
- 服务漏洞测试
- HTTP/HTTPS爬虫、模糊测试、信息收集
2.3 其他特性
- 提供API接口
- 友好的图形化用户界面(GUI)
- 多种输出格式支持(HTML、JSON、文本等)
- 可视化图表支持
3. 安装与配置
3.1 系统依赖
libcurl4-openssl-dev libcurl4-gnutls-dev librtmp-dev
libssl-dev python3-dev libpq-dev libffi-dev musl-dev make gcc git
3.2 安装步骤
- 克隆项目源码:
git clone https://github.com/OWASP/Nettacker.git
- 安装依赖组件:
apt-get update
apt-get install -y python3 python3-dev python3-pip
pip3 install --upgrade pip3
apt-get update
apt-get install -y < requirements-apt-get.txt
pip3 install --upgrade pip
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
- Docker方式运行:
docker-compose up -d && docker exec -it nettacker_nettacker_1 /bin/bash
# python nettacker.py -i owasp.org -s -m port_scan
3.3 访问方式
- Web界面:
https://localhost:5000或https://nettacker-api.z3r0d4y.com:5000 - 本地数据库:
.data/nettacker.db(SQLite) - 默认结果存储路径:
.data/results
4. 使用指南
4.1 基本扫描命令
扫描单个或多个目标:
python nettacker.py -i 192.168.1.1,192.168.1.2-192.168.1.10,127.0.0.1,owasp.org,192.168.2.1/24 -m port_scan -g 20-100 -t 10
从文件读取目标列表:
python nettacker.py -l targets.txt -m all -x port_scan -g 20-100 -t 5 -u root -p 123456,654321,123123
4.2 输出与可视化
生成HTML报告:
python nettacker.py -i 192.168.1.1/24 -m port_scan -t 10 -M 35 -g 20-100 --graph d3_tree_v2_graph -o result.html
生成JSON报告:
python nettacker.py -i 192.168.1.1/24 -m all -t 10 -M 35 -g 20-100 -o result.json -u root,user -P passwords.txt
4.3 认证测试
使用用户名密码列表进行测试:
python nettacker.py -i 192.168.1.1/24 -m all -x ssh_brute -t 10 -M 35 -g 20-100 -o file.txt -U users.txt -P passwords.txt -T 3 -w 2
4.4 特定漏洞扫描
WhatCMS扫描(需要API密钥):
python nettacker.py -i eng.uber.com -m whatcms_scan --method-args whatcms_api_key=XXXX
CVE-2020-5902漏洞扫描:
python nettacker.py -i <CIDR/IP/Domain> -m f5_cve_2020_5902
python nettacker.py -l <List of IP/CIDR/Domain> -m f5_cve_2020_5902
4.5 子域名扫描
python nettacker.py -i owasp.org -s -m port_scan -t 10 -M 35 -g 20-100 --graph d3_tree_v2_graph
4.6 自动IP范围扫描
python nettacker.py -i owasp.org -s -r -m port_scan -t 10 -M 35 -g 20-100 --graph d3_tree_v2_graph
4.7 使用SOCKS代理
# SOCKS v5
python nettacker.py -i 192.168.1.1 -m tcp_connect_port_scan -T 5 --socks-proxy socks://127.0.0.1:9050
# 带认证的SOCKS
python nettacker.py -i 192.168.1.1 -m tcp_connect_port_scan -T 5 --socks-proxy socks://username:password@127.0.0.1:9050
5. 参数详解
5.1 常用参数
-i:目标IP/域名/CIDR-l:从文件读取目标列表-m:扫描模块(all, port_scan等)-x:排除特定模块-g:端口范围(如20-100)-t:线程数-M:超时时间(秒)-o:输出文件--graph:可视化图表类型
5.2 认证相关参数
-u:用户名-p:密码-U:用户名字典文件-P:密码字典文件
6. 注意事项
- 数据持久性:使用docker-compose时,所有数据将在运行
docker-compose down后丢失 - API密钥:可通过
docker logs nettacker_nettacker_1查看 - 资源消耗:根据目标数量调整线程数(-t)以避免系统过载
- 合法性:仅在授权范围内使用该工具
7. 许可证
本项目采用Apache-2.0开源许可证协议。
8. 项目地址
GitHub仓库:OWASP Nettacker