首页 渗透工具 正文
  • 本文约3168字,阅读需16分钟
  • 64
  • 0

ReportGenX渗透测试报告生成工具

简介

ReportGenX 是一个专门用于生成安全评估报告的自动化工具。适用于渗透测试人员、安全评估工程师等进行安全评估报告的快速生成,可大幅提高工作效率。

基于Coderrrr-400 师傅项目二开,也是 PyQt6+chatgpt练手项目。

功能特点

它具有以下主要特点:

  1. 自动化报告生成
    • 支持漏洞信息和ICP备案信息的批量导入
    • 自动根据模板生成规范化的Word文档报告
    • 支持漏洞复现的多图文描述
  2. 智能数据处理
    • 根据域名自动解析网站IP、备案号等信息
    • 根据漏洞级别自动调整预警级别
    • 支持漏洞信息的自定义添加和数据库存储
  3. 用户友好界面
    • 提供图形化操作界面
    • 支持漏洞信息快速搜索
    • 一键重置和清除功能
  4. 灵活的二次开发
    • 模块化设计,便于功能扩展
    • 详细的代码注释,方便定制开发
    • 支持自定义报告模板
  5. 本地化部署
    • 所有数据处理均在本地完成
    • 无需连接外部服务器
    • 数据安全性高

应用场景

本工具适用于以下场景:

  1. 渗透测试人员生成安全评估报告
  2. 安全评估工程师进行合规性检查
  3. 安全服务提供商为客户提供标准化报告
  4. 企业内部安全团队进行定期安全评估

运行模式

目前本项目仅支持客户端运行模式,待项目开发完善之后,会考虑服务端部署方式。

同类项目推荐:

  • 以服务端部署居多,有需要可以尝试一下
项目名 项目地址 收录时间 最后更新(截至20250523)
petereport-zh https://github.com/feishi-1/petereport-zh 20250125 20241010
petereport https://github.com/1modm/petereport 20250125 20240419
APTRS https://github.com/APTRS/APTRS 20240116 20250518
BlackStone https://github.com/micro-joan/BlackStone 20240116 20241022
Bug_writer https://github.com/yichensec/Bug_writer 20240116 已删库
BugRepoter_0x727 https://github.com/0x727/BugRepoter_0x727 20240116 20250208
ExportReport https://github.com/Potato-py/ExportReport 20240116 20240329
report https://github.com/CTF-MissFeng/report 20240116 20210630
Savior https://github.com/Mustard404/Savior 20240116 20220509
SecReport https://github.com/SecAegis/SecReport 20240116 20250502
sysreptor https://github.com/Syslifters/sysreptor 20240116 20250523
XhitReport https://github.com/Coderrrr-400/XhitReport 20240116 20231114

使用教程

配置

config.yaml

template_path: 'resources/templates/report_template.docx'
vul_or_icp: 'data/combined.db'
supplierName: '张三'
city: '北京'
region: '海淀区'

vulnerabilities.xlsx

  • 必须包含 漏洞名称风险级别漏洞描述修复建议这三个表头,除此之外的表头都未做识别
    可以使用Vulnerability-description-and-fix
    image-20240710101437914

icp_info.xlsx

  • 必须包含 unitName(单位名称)domain(根域名)serviceLicence(备案号),除此之外的表头都未做识别
    image-20240705170749367
  • 数据来源
    也可以使用 ICP_Query_Batch 进行自动提取
    image-20240705171031275

启动

该项目适用于 python3.* ,已验证:

  • 开发:3.11.4
  • 测试:3.8.6

1、安装模块

pip3 install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package

2、启动GUI

python3 ReportGenX.py

3、偷个懒使用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:\Users\test>python2 -V
Python 2.7.18

C:\Users\test>python3 -V
Python 3.11.4

C:\Users\test>python -V
Python 3.11.4

C:\Users\test>path
PATH=D:\python\3;D:\python\2;D:\python\3\Scripts;D:\python\2\Scripts;

pyinstaller打包命令如下:

pip3 install Pillow pyinstaller -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package
pyinstaller.exe -F -i resources\icon\favicon.ico -w ReportGenX.py
  • --strip : 减小生成文件大小
  • --exclude-module : 排除不需要的模块

基础测试

注: 图中所示为随便复制的测试数据,非实际漏洞

image-20250508164934059

基础输出

xxx.docx

output/report/

image-20240710101059490

output.txt

因为需求差异性,我这里我保留了最低数据。如有其他需求,可以自行修改 core/report_generator.py文件

output/report/2025.05.07_output.txt

漏洞报告    北京百度网讯科技有限公司    baidu.com   SQL注入漏洞 张三  高危  2025.05.07

漏洞复现多图文

image-20240604113703529

报告内容

image-20240604114042469

删除功能

image-20240605164514284

一键重置: 重置所有数据
一键清除: 仅删除所有漏洞附件及描述

二开

本项目只适用于当前模板,如果有需要可以对其再次二开,相应功能都已在代码中做注释。

除常规功能外,引入了一些特殊的功能

  • 1、根据输入自动改变输出
    • 根据隐患级别自动改变预警级别
    • 根据域名自动解析与变更网站IP、备案号、单位名称、单位类型
    • 根据单位名称、网站名称自动改变隐患名称和问题描述默认值
    • 根据隐患类型自动改变隐患名称、问题描述及整改建议
    • 根据自定义漏洞,自动保存漏洞信息到数据库文件
  • 2、根据隐患URL自动提取根域名
  • 3、针对漏洞复现添加单个或多个图文
温馨提示:本文最后更新于2025年5月26日 01:11,若内容或图片失效,请在下方留言或联系博主。
评论
博主关闭了评论