0x01 工具介绍
ReportGenX 是一个专门用于生成安全评估报告的自动化工具。适用于渗透测试人员、安全评估工程师等进行安全评估报告的快速生成,可大幅提高工作效率。基于Coderrrr-400 师傅项目二开,也是PyQt6+chatgpt练手项目。
下载地址在末尾#渗透安全HackTwo
0x02 功能简介
-
自动化报告生成
-
支持漏洞信息和ICP备案信息的批量导入 -
自动根据模板生成规范化的Word文档报告 -
支持漏洞复现的多图文描述
-
-
智能数据处理
-
根据域名自动解析网站IP、备案号等信息 -
根据漏洞级别自动调整预警级别 -
支持漏洞信息的自定义添加和数据库存储
-
-
用户友好界面
-
提供图形化操作界面 -
支持漏洞信息快速搜索 -
一键重置和清除功能
-
-
灵活的二次开发
-
模块化设计,便于功能扩展 -
详细的代码注释,方便定制开发 -
支持自定义报告模板
-
-
本地化部署
-
所有数据处理均在本地完成 -
无需连接外部服务器 -
数据安全性高
-
基础测试
注: 图中所示为随便复制的测试数据,非实际漏洞
基础输出
xxx.docx
output/report/
output.txt
因为需求差异性,我这里我保留了最低数据。如有其他需求,可以自行修改core/report_generator.py
文件
output/report/2025.05.07_output.txt
漏洞报告北京百度网讯科技有限公司baidu.comSQL注入漏洞张三高危2025.05.07
漏洞复现多图文
报告内容
删除功能
应用场景
本工具适用于以下场景:
-
渗透测试人员生成安全评估报告 -
安全评估工程师进行合规性检查 -
安全服务提供商为客户提供标准化报告 -
企业内部安全团队进行定期安全评估
运行模式
目前本项目仅支持客户端运行模式,待项目开发完善之后,会考虑服务端部署方式。
同类项目推荐:
-
以服务端部署居多,有需要可以尝
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x03 更新说明
1、将excel数据转为sqlite数据并合并为一个db文件
2、优化图片处理,使其可以直接复制网络图片和本地图片
3、添加根据ICP自动识别单位类型
4、优化域名处理,子域名和根域名备案不同时优先选择子域名备案(一般多为政府单位会出现这种情况)
5、修改漏洞名称为可自定义模式, 在自定义模式下生成报告时会自动更新漏洞信息到相应文件统
0x04 使用介绍
📦使用配置
config.yaml
template_path: 'resources/templates/report_template.docx'
vul_or_icp: 'data/combined.db'
supplierName: '张三'
city: '北京'
region: '海淀区'
vulnerabilities.xlsx
必须包含漏洞名称
、风险级别
、漏洞描述
、修复建议
这三个表头,除此之外的表头都未做识别
可以使用Vulnerability-description-and-fix
https://github.com/s1g0day/Vulnerability-description-and-fix
icp_info.xlsx
必须包含unitName(单位名称)
、domain(根域名)
、serviceLicence(备案号)
,除此之外的表头都未做识别
数据来源
也可以使用 ICP_Query_Batch 进行自动提取
https://github.com/s1g0day/ICP_Query_Batch
启动
该项目适用于 python3.*
,已验证:
开发:3.11.4
测试:3.8.6
安装模块
pip3 install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package
启动GUI
python3 ReportGenX.py
偷个懒使用start.bat
@echo off
rem 隐藏黑色窗口
if "%1"=="h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
REM 检查Python的安装路径
set PYTHON=python
set PYTHON3=python3
REM 优先使用Python3
if exist %PYTHON3% (
set PYTHON=%PYTHON3%
)
REM 使用Python运行demo.py
%PYTHON% ReportGenX.py
REM 检查是否成功运行
if %ERRORLEVEL% neq 0 (
echo Failed to run ReportGenX.py
pause
exit /b 1
)
echo Successfully ran ReportGenX.py
pause
exit /b 0
注: 如果使用start.bat的话,有两点需要注意:
-
我们的电脑可能会安装python2和python3两个版本,需要注意默认 PYTHON=python
调用的版本,如果2版本
的话就无法启动 -
也要保证已经配置合适的环境变量
C:Userstest>python2 -V
Python 2.7.18
C:Userstest>python3 -V
Python 3.11.4
C:Userstest>python -V
Python 3.11.4
C:Userstest>path
PATH=D:python3;D:python2;D:python3Scripts;D:python2Scripts;
pip3 install Pillow pyinstaller -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package
pyinstaller.exe -F -i resourcesiconfavicon.ico -w ReportGenX.py
二开
本项目只适用于当前模板,如果有需要可以对其再次二开,相应功能都已在代码中做注释。
除常规功能外,引入了一些特殊的功能
1、根据输入自动改变输出
根据隐患级别自动改变预警级别
根据域名自动解析与变更网站IP、备案号、单位名称、单位类型
根据单位名称、网站名称自动改变隐患名称和问题描述默认值
根据隐患类型自动改变隐患名称、问题描述及整改建议
根据自定义漏洞,自动保存漏洞信息到数据库文件
2、根据隐患URL自动提取根域名
3、针对漏洞复现添加单个或多个图文
0x05 下载
https://github.com/s1g0day/ReportGenX
原文始发于微信公众号(渗透安全HackTwo):ReportGenX 二开渗透测试报告生成工具更新|安服日常
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论