Skip to content

dk47os3r/NessusToReport

 
 

Repository files navigation

NessusToReport

这是一个nessus自动报告生成工具,可以用来自动生成nessus扫描器的中文报告--NessusToReport,

GitHub:https://github.com/Hypdncy/NessusToReport

版权所有,侵权必究

本项目,仅仅代表个人,如有侵权,请联系我删除

原理说明

  1. 程序将会自动扫描nessus目录下的csv文件,将他们读取
  2. 程序将只保留csv中的紧急,高危,中危漏洞,并且与数据库,自定义配置漏洞信息做匹配
    1. 匹配成功部分将会读取数据库中的漏洞信息,写入到loops.json中
    2. 匹配失败部分将会写入到errors.json中
      1. 若开启翻译,程序将会联网翻译该漏洞信息,并且再次写入到loops.json中
      2. 未开启翻译,程序将会抛出漏洞PluginId异常终止
  3. 程序将自动将自动根据模板生成docx文档

安装说明

建议在windows下安装python3版本

root@hypdncy:~# pip install -r requirement.txt

配置说明

基本配置

配置时间信息
  1. 配置位置:cnf/default.py中def_default.data参数
  2. 配置默认:默认配置为当天的时间
  3. 配置方法:按照参数栗子进行配置
  4. 配置说明:该配置将会替换文档中的时间相关信息
修改人员信息
  1. 配置位置:cnf/default.py中def_default.monitor,def_default.manager,def_default.work参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置将会替换文档中的参与人员信息
配置客户信息
  1. 配置位置:config.py中config.user参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置将会替换文档中的客户相关信息
配置系统信息
  1. 配置位置:config.py中config.systems参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置将会替换文档中的实施范围

漏洞配置

配置自定义漏洞信息
  1. 配置位置:config.py中config.nessus_vuln_self参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置将会覆盖数据库中的漏洞信息,主要用于防止因为漏洞PluginId异常发生报错
配置自定义漏洞等级
  1. 配置位置:config.py中config.nessus_risk_self参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置将会覆盖数据库中的漏洞等级,主要用于解决JavaScript,PHP等版本漏洞风险等级过高
配置自定义漏洞忽略
  1. 配置位置:config.py中config.nessus_ignore_ids参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置将会忽略nessus_ignore_ids所对应的漏洞,把他们排除在外

翻译配置

配置翻译功能
  1. 配置位置:config.py中config.translate_status参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置开启后将会自动翻译数据库中不存在的漏洞信息,并且防止因为漏洞PluginId异常发生报错
配置翻译接口
  1. 配置位置:config.py中config.translate_api,config.translate_url,config.translate_appid,config.translate_secret,参数
  2. 配置方法:按照参数栗子进行配置
  3. 配置说明:该配置会决定使用的翻译API

使用说明

  1. 导入nessus的csv,放置到csv/nessus/目录下
  2. 更新属于自己的模板文档并放置在template目录下
  3. 配置如上的信息
  4. 执行命令
root@hypdncy:~# python main.py -t host # 指定扫描报告类型
root@hypdncy:~# python main.py # 默认主机扫描报告

技巧说明

  1. 建议使用windows+python3
  2. 遇到数据库中不存在的漏洞信息时:
    1. 使用配置自定义漏洞信息功能,重新生成报告
      1. 读取errors.json中的文件
      2. 人工翻译并把它粘贴到config.nessus_vuln_self
    2. 开启配置翻译功能,重新生成报告
  3. 遇到漏洞风险等级定义过高
    1. 使用配置自定义漏洞等级功能,重新生成报告
      1. 在loops.json中寻找该漏洞的名称(从已经生成的word中获取)
      2. 获取名称对应的id,把它粘贴到config.nessus_risk_self
  4. 遇到多余的,不想要漏洞
    1. 使用配置自定义漏洞忽略功能,重新生成报告

记得使用完配置自定义漏洞等级,配置自定义漏洞忽略功能后将他们注释,防止下次生成报告时,使用该次的配置

更新说明

  1. 项目不定期发布漏洞库vuln.db,在release中可以下载,并替换到./cnf/目录下
  2. 各位可以将errors.json中的信息写到到updatedb.txt中,并且push到github,我将会翻译并将其更新其到数据库中

演示图

演示图

特别谢鸣

Mr,YaDong:感谢YaDong同学的翻译建议与漏洞库更新

About

自动化扫描报告生成工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%