-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
56 changed files
with
1,699 additions
and
1,863 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,131 +1,83 @@ | ||
# NessusToReport | ||
这是一个nessus自动报告生成工具,可以用来自动生成nessus扫描器的中文报告--NessusToReport, | ||
|
||
GitHub:`https://github.com/Hypdncy/NessusToReport` | ||
> **V2.0** 求个Start!!! | ||
|
||
*版权所有,侵权必究* | ||
> **V2.0** 求个Start!!! | ||
|
||
*本项目,仅仅代表个人,如有侵权,请联系我删除* | ||
> **V2.0** 求个Start!!! | ||
|
||
## 原理说明 | ||
这是一个nessus自动报告生成工具,可以用来自动生成nessus扫描器的中文报告--NessusToReport,程序有两种报告方式: | ||
|
||
1. 程序将会自动扫描nessus目录下的csv文件,将他们读取 | ||
1. 程序将只保留csv中的紧急,高危,中危漏洞,并且与数据库,自定义配置漏洞信息做匹配 | ||
1. 匹配成功部分将会读取数据库中的漏洞信息,写入到loops.json中 | ||
1. 匹配失败部分将会写入到errors.json中 | ||
1. 若开启翻译,程序将会联网翻译该漏洞信息,并且再次写入到loops.json中 | ||
1. 未开启翻译,程序将会抛出`漏洞PluginId`异常终止 | ||
1. 程序将自动将自动根据模板生成docx文档 | ||
- 漏洞排序:以漏洞为单位一一逻辑拥有该漏洞的主机及其信息 | ||
- 主机排序:以主机为单位一一罗列主机所拥有的漏洞及其信息 | ||
|
||
## 安装说明 | ||
## 使用说明 | ||
|
||
#### 安装方法 | ||
|
||
建议在windows下安装python3版本 | ||
建议在windows下安装python3.8+版本 | ||
|
||
```shell script | ||
root@hypdncy:~# pip install -r requirement.txt | ||
``` | ||
#### 使用方法 | ||
1. 导出nessus的csv,放置到`./data/nessus`目录下 | ||
1. 更新自己的实施范围`./data/systems.csv` | ||
1. 更新自己的配置信息`./config.py` | ||
1. 执行命令`python main.py` | ||
|
||
## 配置说明 | ||
|
||
#### 基本配置 | ||
|
||
##### 配置时间信息 | ||
|
||
1. 配置位置:cnf/default.py中`def_default.data`参数 | ||
1. 配置默认:默认配置为当天的时间 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会替换文档中的时间相关信息 | ||
|
||
##### 修改人员信息 | ||
|
||
1. 配置位置:cnf/default.py中`def_default.monitor`,`def_default.manager`,`def_default.work`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会替换文档中的参与人员信息 | ||
|
||
##### 配置客户信息 | ||
|
||
1. 配置位置:config.py中`config.user`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会替换文档中的客户相关信息 | ||
|
||
##### 配置系统信息 | ||
|
||
1. 配置位置:config.py中`config.systems`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会替换文档中的`实施范围`表 | ||
|
||
#### 漏洞配置 | ||
|
||
##### 配置自定义漏洞信息 | ||
|
||
1. 配置位置:config.py中`config.nessus_vuln_self`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会覆盖数据库中的漏洞信息,主要用于防止因为`漏洞PluginId`异常发生报错 | ||
```shell script | ||
root@hypdncy:~# python main.py -t hosts # 指定主机排序类型扫描报告 | ||
root@hypdncy:~# python main.py # 默认漏洞排序类型扫描报告 | ||
``` | ||
|
||
##### 配置自定义漏洞等级 | ||
## 配置说明 | ||
|
||
1. 配置位置:config.py中`config.nessus_risk_self`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会覆盖数据库中的漏洞等级,主要用于解决`JavaScript`,`PHP`等版本漏洞风险等级过高 | ||
本工具具有翻译功能,需要自己申请百度、有道翻译API的key,并将其配置到`./config.py` | ||
>其他翻译渠道需要在`./modle/common/translate/`添加翻译API的功能,并在`./modle/handle.py`中调用 | ||
|
||
##### 配置自定义漏洞忽略 | ||
#### 修改基本信息 | ||
|
||
1. 配置位置:config.py中`config.nessus_ignore_ids`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置将会忽略`nessus_ignore_ids`所对应的漏洞,把他们排除在外 | ||
该修改会修改模板中`{xxx-xxx}`标记的部分,程序运行时会将如下两个配置中的信息对其金星覆盖 | ||
|
||
#### 翻译配置 | ||
1. 临时修改:修改`./config.py`中`config_data` | ||
1. 永久修改:修改`./cnf/data.py`中`cnf_data` | ||
|
||
##### 配置翻译功能 | ||
#### 配置实施范围 | ||
|
||
1. 配置位置:config.py中`config.translate_status`参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置开启后将会自动翻译数据库中不存在的漏洞信息,并且防止因为`漏洞PluginId`异常发生报错 | ||
- 配置说明:该配置将会替换文档中的`实施范围`表 | ||
- 直接修改`./data/systems.csv` | ||
|
||
##### 配置翻译接口 | ||
## 漏洞配置 | ||
|
||
1. 配置位置:config.py中`config.translate_api`,`config.translate_url`,`config.translate_appid`,`config.translate_secret`,参数 | ||
1. 配置方法:按照参数栗子进行配置 | ||
1. 配置说明:该配置会决定使用的翻译API | ||
记得使用完`配置自定义漏洞等级`,`配置自定义漏洞忽略`功能后将他们注释,防止下次生成报告时,使用该次的配置 | ||
|
||
## 使用说明 | ||
#### 配置自定义漏洞信息 | ||
|
||
1. 导入nessus的csv,放置到csv/nessus/目录下 | ||
1. 更新属于自己的模板文档并放置在template目录下 | ||
1. 配置如上的信息 | ||
1. 执行命令 | ||
- 配置说明:该配置将会覆盖其他来源的漏洞信息,主要用于没有翻译API时,人工翻译`./logs/loops_error.json`,将其配置复制到该参数下 | ||
- 配置位置:config.py中`config.nessus_vuln_self`参数 | ||
|
||
```shell script | ||
root@hypdncy:~# python main.py -t host # 指定扫描报告类型 | ||
root@hypdncy:~# python main.py # 默认主机扫描报告 | ||
``` | ||
#### 配置自定义漏洞等级 | ||
|
||
## 技巧说明 | ||
- 该配置在生成报告时会修改与配置`plugin_id`的漏洞等级,主要用于调整漏洞等级`(鸡肋)` | ||
- 配置位置:config.py中`config.nessus_risk_self`参数 | ||
|
||
1. 建议使用windows+python3 | ||
1. 遇到数据库中不存在的漏洞信息时: | ||
1. 使用`配置自定义漏洞信息`功能,重新生成报告 | ||
1. 读取errors.json中的文件 | ||
1. 人工翻译并把它粘贴到`config.nessus_vuln_self`中 | ||
1. 开启`配置翻译功能`,重新生成报告 | ||
1. 遇到漏洞风险等级定义过高 | ||
1. 使用`配置自定义漏洞等级`功能,重新生成报告 | ||
1. 在loops.json中寻找该漏洞的名称(从已经生成的word中获取) | ||
1. 获取名称对应的id,把它粘贴到`config.nessus_risk_self` | ||
1. 遇到多余的,不想要漏洞 | ||
1. 使用`配置自定义漏洞忽略`功能,重新生成报告 | ||
#### 配置自定义漏洞忽略 | ||
|
||
> 记得使用完`配置自定义漏洞等级`,`配置自定义漏洞忽略`功能后将他们注释,防止下次生成报告时,使用该次的配置 | ||
- 配置说明:该配置在生成报告时会忽略与配置相同`plugin_id`的漏洞,主要用于大量扫描时的批量删除 | ||
- 配置位置:config.py中`config.nessus_ignore_ids`参数 | ||
|
||
## 更新说明 | ||
|
||
1. 项目不定期发布漏洞库vuln.db,在release中可以下载,并替换到./cnf/目录下 | ||
2. 各位可以将errors.json中的信息写到到updatedb.txt中,并且push到github,我将会翻译并将其更新其到数据库中 | ||
2. 各位可以将`./logs/loops_error.json`中的信息push到我的github,我将会翻译并将其更新其到数据库中 | ||
|
||
## 演示图 | ||
|
||
![演示图](演示图.jpg) | ||
>演示图漏洞排序 | ||
|
||
![演示图](演示图漏洞排序.png) | ||
|
||
## 特别谢鸣 | ||
>演示图主机排序 | ||
|
||
Mr,YaDong:感谢YaDong同学的翻译建议与漏洞库更新 | ||
![演示图](演示图主机排序.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.