此脚本与Nessus API通信,旨在帮助自动化扫描。根据脚本使用的标志,可以列出所有扫描、列出所有策略、启动、停止、暂停和恢复扫描。如果客户有指定的测试时间段,创建cron任务/计划任务来自动化启动或暂停扫描可能会很有帮助。
请随意使用和修改此代码;它适用于我们的需求,但可能不完全适用于您的需求。欢迎任何建议或改进。
需要安装Python 2.x版本和"requests"模块。 安装说明请参见:http://docs.python-requests.org/en/latest/user/install/
python autoNessus.py
python autoNessus.py -h
两者都将运行帮助菜单并显示选项列表。
在使用除 -h 之外的任何标志时,此脚本会向Nessus服务器进行身份验证。正确的URL和凭据必须填写在脚本的第52-56行。
列出所有扫描及其扫描ID(扫描ID可用于其他标志)
python autoNessus.py -l
启动扫描42
python autoNessus.py -sS 42
暂停扫描42
python autoNessus --pause 42
如果您想启动一个已完成的扫描(状态为"completed"),则需要将'completed'添加到第272行的列表中。这样做是为了确保扫描完成后不会重新运行。
感谢Stephen Haywood编写了示例脚本,本工具的部分功能借鉴于此。示例脚本请参见:https://github.com/averagesecurityguy/Nessus6/blob/master/nessus6_scan_demo.py
本程序是自由软件:你可以重新分发和/或修改它,前提是遵守由自由软件基金会发布的GNU通用公共许可证第三版或(根据你的选择)任何后续版本的条款。
本程序的发布是希望它会有用,但没有任何担保;甚至没有适销性或特定用途适用性的默示担保。详情请参见GNU通用公共许可证。