PeTeReport 开源渗透测试漏洞报告生成工具

PeTeReport 开源渗透测试漏洞报告生成工具

PeTeReport简介

PeTeReport (PenTest Report)是一个旨在帮助渗透测试/红队,通过简化的报告,书面方式和产生的任务的开源应用程序漏洞的报告工具。

该工具专注于产品安全,可帮助安全研究人员和渗透测试人员提供详细的调查结果、附录、攻击路径并管理调查结果模板数据库,以避免在报告阶段浪费时间。

PeTeReport( PenTest Report )由Django和Python 3编写,目的是帮助渗透测试人员来管理发现库,写报告(使用Markdown),并生成不同格式的报告(HTML,CSV,PDF,Jupyter和Markdown) 

特征

  • 可定制的报告输出
  • 可定制的报告模板
  • 发现模板数据库
  • 可以在结果中添加附录
  • 可能性攻击树添加落叶来发现
  • HTML 输出格式
  • CSV 输出格式
  • PDF 输出格式
  • Jupyter Notebook 输出格式
  • Markdown 输出格式
  • CVSS 3.1 分数
  • Docker安装
  • DefectDojo集成
  • 用户管理

工作流程

PeTeReport 开源渗透测试漏洞报告生成工具

默认账号密码

  • Administrator: admin/P3t3r3p0rt
  • Viewer: viewer/v13w3r

安装方法

docker

环境

sudo apt install docker.io docker-compose

部署

  1. 克隆仓库
cd /opt
git clone https://github.com/1modm/petereport
cd petereport
  1. 自定义报告和配置 app/config/petereport_config.py
  2. 搭建环境
docker-compose up --build
  1. 转至https://127.0.0.1/
  2. 使用任何创建的admin/P3t3r3p0rt(管理员)和viewer/v13w3r(查看者)用户或配置文件中配置的用户凭据登录
  3. 更加努力
  4. 创建报告

Django安装

先决条件

PeTeReport 需要 Python ≥ 3.8。推荐安装需要pip. 作为基本要求,需要以下软件包:

  • Ubuntu/Debian: 
sudo apt-get install python3-pip python3-venv build-essential
  • OpenSuse: 
sudo zypper install python3-devel gcc
  • CentOS: 
sudo yum install python3-devel gcc

环境

强烈建议在虚拟环境 (Pipenv) 中设置安装:

Pipenv
  • Linux: 
sudo apt-get install pipenv
  • pip: 
python3 -m pip install pipenv
  • 苹果电脑: 
brew install pipenv

依赖关系

Linux (ubuntu) 中最简单的方法: 

sudo bash scripts/ubuntu_environment_install.sh
Latex

Linux:

sudo apt-get install texlive-full

苹果电脑:

brew remove basictex
brew cask install mactex
Pandoc

Linux:

sudo apt-get install pandoc
sudo apt-get install python3-pypandoc

苹果电脑:

brew install pandoc
brew install pandoc-citeproc
Eisvogel
python3 -m pip install pandoc-latex-environment
  1. 从发布页面下载最新版本的 Eisvogel 模板。
  2. 解压缩下载的 ZIP 档案并打开文件夹。
  3. 将模板 eisvogel.tex 移动到您的 pandoc 模板文件夹并将文件重命名为 eisvogel.latex。模板文件夹的位置取决于您的操作系统:/Users/$USER/.pandoc/templates/eisvogel.latex/home/$USER/.pandoc/templates

PeTeReport

  1. 克隆项目并 cd 到 PeTeReport: cd petereport/
  2. 创建一个新的虚拟环境并安装依赖项: pipenv install
  3. 运行虚拟环境: pipenv shell
  4. 转到 Django PeTeReport 应用程序: cd app/
  5. 创建数据库: python manage.py migrate
  6. 进行最新的数据库更改: python manage.py makemigrations
  7. 超级用户admin/P3t3r3p0rt将被创建,但您可以创建一个新的超级用户:python manage.py createsuperuser
  8. 填充 CWE 数据 python manage.py loaddata config/cwe-list.json

启动服务器

  1. 运行虚拟环境: pipenv shell
  2. 转到 Django PeTeReport 应用程序: cd app/
  3. 启动 Django 服务器:python manage.py runserver
    python manage.py runserver 0.0.0.0:8000
  4. 转至http://127.0.0.1:8000/
  5. 使用任何创建的admin/P3t3r3p0rt(管理员)和viewer/v13w3r(查看者)用户或配置文件中配置的用户凭据登录
  6. 更加努力
  7. 创建报告
  8. 关闭并停止服务器: Ctrl + C

升级 PeTeReport

  1. 如果服务器正在运行,请停止它: Ctrl + C
  2. 通过 git: 拉取最新的代码库:git pull或下载源代码并替换文件。
  3. 设置任何其他依赖项: pipenv install
  4. 运行虚拟环境: pipenv shell
  5. 进行最新的数据库更改: python manage.py makemigrations
  6. 进行最新的数据库更改: python manage.py migrate
  7. 启动服务器: python manage.py runserver
  8. 再努力一点

清洁 PeTeReport

  1. 如果服务器正在运行,请停止它: Ctrl + C
  2. 运行虚拟环境: pipenv shell
  3. 转到 Django PeTeReport 应用程序: cd app/
  4. 运行更清洁: python clean.py
  5. 进行最新的数据库更改: python manage.py makemigrations
  6. 进行最新的数据库更改: python manage.py migrate
  7. 启动服务器: python manage.py runserver
  8. 再努力一点

配置

  1. 如果服务器正在运行,请停止它: Ctrl + C
  2. 自定义报告和配置 app/config/petereport_config.py
  3. 启动 Django 服务器:python manage.py runserverpython manage.py runserver 0.0.0.0:8000

用户管理

用户模块便于管理应用程序中的用户和角色。有 2 个内置角色:管理员和查看者

  • 管理员角色具有完全权限访问
  • 观众角色
    • 项目:查看
    • 报告:查看、生成输出
    • 结果:查看
    • 查找模板:查看

用户和角色列表

PeTeReport 开源渗透测试漏洞报告生成工具

创建新用户

PeTeReport 开源渗透测试漏洞报告生成工具

报告

报表模块方便了产品的管理。报告由以下定义:

  • 产品
  • 报告编号
  • 报告标题
  • 执行摘要
  • 范围
  • 超出范围
  • 方法
  • 推荐
  • 报告日期

报告清单

PeTeReport 开源渗透测试漏洞报告生成工具

创建新报告

PeTeReport 开源渗透测试漏洞报告生成工具

报告详情

PeTeReport 开源渗透测试漏洞报告生成工具

发现

调查结果模块有助于管理报告中的调查结果。结果定义为:

  • 标题
  • 状态
  • 严重性
  • CVSS 分数
  • CWE
  • 描述
  • 位置
  • 影响
  • 推荐
  • 参考
  • 附录
  • 攻击路径

调查结果清单

PeTeReport 开源渗透测试漏洞报告生成工具

创造新的发现

PeTeReport 开源渗透测试漏洞报告生成工具

从模板添加发现

可以从先前创建的模板列表中将结果添加到报告中。

PeTeReport 开源渗透测试漏洞报告生成工具

从 DefectDojo 导入结果

我们可以从DefectDojo导入结果,首先我们需要编辑配置文件以添加 API 端点和我们的 DefectDojo 部署的 API 密钥。

编辑配置 app/config/petereport_config.py

DEFECTDOJO_CONFIG = {
    'DefectDojoURL': 'https://demo.defectdojo.org',
    'apiKey': 'Token Key' # Format Token Key
}

从 CSV 导入结果

可以按照下一个格式从 CSV 调查结果中导入:

// Comma-separated values (CSV) file format

"ID","Status","Title","Severity","CVSS Base Score","CVSS Score","CWE","Description","Location","Impact","Recommendation","References","Appendix","Appendix Description"

"2834q345-b24e-4ghf-r86d-ftue38af5480","Open","Finding 1","Low","3.7 (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N)","3.7","73","Description","127.0.0.1","Impact","Recommendation","References","Appendix","Appendix Description"

CWE名单

创建发现时必须选择 CWE 以创建发现类别,供参考,Mitre 的下一个 CWE 列表已填充:

PeTeReport 开源渗透测试漏洞报告生成工具

攻击树

安全决策树模块有助于管理可以链接到发现的攻击路径。攻击树定义为:

  • 寻找
  • 攻击树标题
  • 攻击树定义

已实现漏洞或发现的攻击路径的可视化,以适应 Web 应用程序,该应用程序简化了安全混沌工程报告中所述的攻击决策树的构建:Deciduous

所以所有功劳都归功于@swagitda。如何/入门指南:https : //swagitda.com/blog/posts/deciduous-attack-tree-app/

此外,如果需要附加攻击路径规划器,我建议您查看:Walter:Attack Path Planner

攻击树列表

PeTeReport 开源渗透测试漏洞报告生成工具

添加攻击树

PeTeReport 开源渗透测试漏洞报告生成工具

详细文档查看如下链接
https://1modm.github.io/petereport/

样本报告

PDF样本

PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具

html样本

PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具

markdown样本报告

PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具
PeTeReport 开源渗透测试漏洞报告生成工具

项目地址

GitHub:https://github.com/1modm/petereport

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注