主要特点

- 全流程自动化 – 从目标识别到漏洞利用的完整渗透测试流程(部分环节需要人工确认或配置)
- 模块化架构 – 独立的功能模块可单独使用或协同工作
- Windows兼容性 – 专为Windows环境优化,解决常见兼容性问题
- 智能分析 (集成) – 集成讯飞星火AI,对端口扫描结果进行初步漏洞预测 (需要API Key配置)
- WAF检测 (集成) – 对Web服务进行基础WAF检测
- 自动报告 (集成) – 自动整合各阶段结果生成HTML或PDF报告 (需要reportlab库支持PDF)
- 配置灵活 – 交互式配置界面,适应不同测试需求
功能模块
1. 配置管理 (config_manager.py
)
提供统一的配置界面,管理各个模块的参数设置,支持配置文件的保存和加载。
2. 网络发现 (network_discovery.py
)
执行端口扫描、服务识别和主机发现,为后续测试提供目标信息。
3. 漏洞评估 (vulnerability_assessment.py
)
识别目标系统中的安全漏洞,评估其风险等级,并提供详细的漏洞报告。
4. 漏洞利用 (exploit_deployment.py
)
自动化漏洞利用过程。目前集成Metasploit调用 (示例: MS17-010) 和OWASP ZAP主动扫描调用 (需要ZAP安装和配置)。需要根据漏洞评估结果进一步完善利用逻辑。
5. 后渗透 (post_exploitation.py
)
在成功获取系统访问权限后执行后续操作,包括信息收集、权限提升等。
6. 威胁情报 (threat_intelligence.py
)
整合外部威胁情报源。(注意:此模块目前为空,未实现功能)
7. 防火墙绕过 (firewall_evasion.py
)
提供基础的WAF检测功能,并包含生成绕过Payload的逻辑 (注意:绕过逻辑目前未完全集成到主流程中)。
8. 智能分析 (intelligence_analysis.py
)
利用讯飞星火大模型API对端口扫描结果进行初步的漏洞预测。(注意:需要配置有效的讯飞星火 API Key/Secret/APP ID)
9. 渗透报告 (penetration_report.py
)
自动整合各阶段结果,生成HTML或PDF格式的渗透测试报告。(注意:PDF生成需要安装 reportlab
库)
安装指南
系统要求
- Windows 10/11
- Python 3.9+
- 2GB+ RAM和500MB+可用磁盘空间
- 管理员权限(部分功能需要)
基本安装
1.cd autopentest
2. **创建虚拟环境**
python -m venv venv
venv\Scripts\activate
3. **安装依赖**
pip install -r requirements.txt
外部工具依赖
核心功能依赖以下外部工具,请确保已安装并添加到系统PATH:
- Nmap: 用于网络发现和漏洞扫描。
- Metasploit Framework: 用于执行某些漏洞利用 (如MS17-010)。
msfconsole
命令需要可用。
可选功能依赖:
- OWASP ZAP: 用于对Web服务进行更深入的主动扫描/漏洞利用。
zap.bat
(Windows) 或zap.sh
(Linux/macOS) 需要在PATH中或在代码中指定完整路径。 - SQLMap: 用于SQL注入测试 (当前漏洞利用模块中包含调用逻辑,但触发条件需完善)。
依赖库说明
reportlab
: 生成PDF报告需要此库 (pip install reportlab
).websocket-client
,requests
,rich
,colorama
,pandas
,fake-useragent
: 其他基础依赖,通过requirements.txt
安装。
AI模块配置 (讯飞星火)
智能分析模块 (intelligence_analysis.py
) 使用讯飞星火API。您需要:
- 拥有讯飞开放平台的账号并开通星火大模型服务。
- 获取您的
APP_ID
,API_SECRET
,API_KEY
。 - 重要: 将这些凭据配置到
modules/config_manager.py
的默认配置中,或者通过交互式配置 (python modules/config_manager.py --interactive
) 进行设置,避免直接硬编码在intelligence_analysis.py
文件中。
使用指南
autopentest.py
是项目的主入口脚本,用于协调执行各个渗透测试模块。直接运行 python autopentest.py
不会执行任何操作,因为它需要命令行参数来指定目标和要执行的任务。
配置管理
在开始扫描之前,建议先进行配置。
- 启动交互式配置向导:
python modules/config_manager.py --interactive
此命令将引导您完成扫描目标、报告选项等设置。 - 显示当前配置:
bash python modules/config_manager.py --show-config
运行渗透测试任务
使用 autopentest.py
脚本并指定目标和要执行的模块。
- 基本用法:
python autopentest.py -t <目标IP或域名> [--scan] [--vuln] [--exploit] [--post] [--recon]
- 示例: 对单个目标执行端口扫描和漏洞扫描:
python autopentest.py -t 127.0.0.1 --scan --vuln
- 示例: 对目标执行完整流程 (扫描、漏洞评估、利用、后渗透):
(警告: 漏洞利用和后渗透模块应仅在获得明确授权的情况下使用!)python autopentest.py -t 127.0.0.1 --scan --vuln --exploit --post
- 示例: 指定端口和输出目录:
python autopentest.py -t example.com -p 80,443,8000-8100 --scan --output custom_results/
- 示例: 执行扫描、漏洞评估并生成HTML报告:
python autopentest.py -t 127.0.0.1 --scan --vuln --report
- 查看所有可用选项:
bash python autopentest.py -h
运行单个模块 (高级/调试)
如果需要单独运行某个模块进行测试或调试,可以使用 -m
参数:
- 网络扫描:
python -m modules.network_discovery --target example.com --ports 1-1000
- 漏洞评估:
bash python -m modules.vulnerability_assessment --target 192.168.1.1 --ports 80,443,8080
测试框架
项目包含完整的测试套件,确保在Windows系统上的稳定运行。测试框架使用Python标准库的unittest
模块构建。
测试模块
- 配置管理器测试 (
test_config_manager.py
) - 网络发现测试 (
test_network_discovery.py
) - 漏洞评估测试 (
test_vulnerability_assessment.py
) - 漏洞利用测试 (
test_exploit_deployment.py
) - 后渗透测试 (
test_post_exploitation.py
)
运行测试
使用批处理文件运行所有测试:
run_tests.bat
或使用Python直接运行:
python tests/run_tests.py
运行特定模块测试:
python tests/run_tests.py –modules network vulnerability
运行测试
使用批处理文件运行所有测试:
bash
run_tests.bat
或使用Python直接运行:
bash
python tests/run_tests.py
运行特定模块测试:
bash
python tests/run_tests.py –modules network vulnerability
“`
测试注意事项
- 测试使用临时目录,避免影响生产环境
- 所有测试已针对Windows系统特性进行优化
- 部分测试可能需要管理员权限或外部工具
常见问题
防火墙拦截
Windows Defender或其他安全软件可能会拦截渗透测试工具。建议:
- 添加项目文件夹到排除列表
- 将Python和项目可执行文件加入信任区域
- 临时禁用部分防护功能(仅在安全环境中)
依赖安装问题
如果依赖安装过程中出现错误:
- 更新pip:
python -m pip install --upgrade pip
- 尝试指定临时目录:
set TMP=C:\tmp && pip install -r requirements.txt
- 单独安装问题依赖包:
pip install problematic-package
权限不足
某些模块需要管理员权限才能正常工作:
- 以管理员身份运行命令提示符或PowerShell
- 右键点击程序,选择”以管理员身份运行”
AI模块无法工作
- 检查
intelligence_analysis.py
或配置文件中的讯飞星火APP_ID
,API_SECRET
,API_KEY
是否正确配置。 - 确保网络连接正常,可以访问讯飞星火API (
spark-api.xf-yun.com
)。 - 查看
logs/autopentest.log
中是否有相关的API错误信息。
ZAP扫描失败
- 确认OWASP ZAP已正确安装。
- 确认
zap.bat
或zap.sh
在系统PATH中,或者修改modules/exploit_deployment.py
中run_zap_scan
方法里的zap_cmd
变量指向正确的路径。 - 检查ZAP自身的日志以获取详细错误。
免责声明
本工具仅用于授权的安全测试和教育目的。
对本工具的任何非法使用或未经授权的渗透测试造成的后果,开发者不承担任何责任。使用者必须确保遵守所有适用的法律法规,并获得适当的授权。
原文链接:https://duduziy.com/660.html,转载请注明出处。 郑重声明: 本站所有内容仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。 如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。 如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!
评论0