nessus更新插件经验

来源:互联网 发布:ssh无法连接linux 编辑:程序博客网 时间:2024/05/22 00:22

前言

nessus是目前主流系统漏洞扫描与分析软件,总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。可以把nessus扫描结果导入msf_db中,结合强大的msf进行测试工作。

nessus分有家庭版和专业版。专业版收费,有7天免费试用期。家庭版免费,能满足普通用户漏扫需求,一次最多能扫16个IP。国内汉化官网不提供家庭版的下载,安装后家庭版也不支持在线更新,一般更新方式是下载插件包,本篇主要讲述nessus更新方法,结合metasploit使用nessus进行测试。大佬请绕道。

下载

在kali 2.0中下载nessus有两个版本:

Debian6,7,8/KaliLunux 1 AMD64 (64-bit)Debian6,7,8/KaliLunux 1 i386 (32-bit)

安装

安装配置nessus,有很多很好的文章已经详细介绍了,这里不赘述了。

传送门:

漏洞银行-nessus工具百科旭达科技-nessus的安装与卸载阿德马Web安全-Kali Linux安装Nessus

更新插件

网上很多文章里写到更新nessus插件的教程方法,本人试了走了很多弯路。在此整理一下自己的解决方法,希望能帮助到需要的朋友。nessus更新分有在线更新和离线更新两种:

在线更新方法(家庭版不支持):

1. 登录>setting(齿轮图标)>Scanners>Local/Overview
2. 在Overview界面下点击Version、Last Updated自动更新
3. >Setting>Scanners>Local>Software Update

Automatic Updates(自动更新)有三个选项- Update all components (升级所有组件)- Update plugins (仅升级插件)- Disabled (禁用)

4. Update Frequency(更新频率),可以选择每天、每周、每月检查更新。

离线更新方法:

1. 关闭nessus程序,命令:

>/etc/init.d/nessusd stop

2. 获取Challenge code,命令

>/opt/nessus/sbin/nessuscli fetch --challenge

3. 获取Active code,重新登录网址获取

http://www.tenable.com/products/nessus-home

4. 登录https://plugins.nessus.org/offline.php后,输入Challenge code和Active code。
5. 下载all-2.0.tar.gz与nessus.license文件
6. 下载好后,终端命令:

>/opt/nessus/sbin/nessuscli update /root/Downloads/all-2.0.tar.gz>/opt/nessus/sbin/nessuscli fecth --register-offline nessus.license- 两条命名不分先后

7. 重启服务

>/etc/init.d/nessusd restart

各种更新失败总结:

  • 6.0以下旧版本,获取Challenge code命令:/opt/nessus/sbin/nessusd fetch --challenge

  • 登录获取Active code时记得勾选Check to receive updates from Tenable选项,这样邮箱才会收到Active code

  • 第四步输入Challenge code和Active code,没有nessus.license文件下载,而是nessus-fetch.rc。这是由于没有关闭nessus程序导致的,再申请只有nessus-fetch.rc。

  • nessus-fetch.rc文件直接放在/opt/nessus/sbin目录下效果不太好,kali重启后会出现nessus开启失败,提示要求执行“nessuscli fetch --register”命令。这时重复一次离线更新操作,把nessus.license文件执行一次,就不会再报错了。
  • 更新后加载失败,提示nessuscli fetch --challenge 错误,处理办法是重复一次离线更新操作。出现这个报错的原因是nessus程序申请的Challenge code错了或者用了网上其他人的all-2.0.tar.gz。
  • all-2.0.tar.gz之前网上有提供专业版的,本人没有试过,或许旧版的可行吧。感兴趣的可以试试。

续上篇分享nessus更新插件方法后,这篇开始分享nessus的使用操作。

nessus 6.10版的漏扫模式分有个性化扫描和策略扫描,个性扫描可以直接添加IP、配置策略,进行漏扫;策略扫描类似于默认扫描,方便程序直接调用的扫描策略,下面就先从个性化扫描开始讲解,主要讲Advanced scan(高级扫描)如何进行配置,开展扫描工作。其他扫描方式可以举一反三。

个性化扫描说明操作:

1. 选择Scans>New Scan,这时可以看到所有的扫描模板(All Templates)。Scanner模板是程序带有的扫描模板,User模板我们自己配置的策略模板。
2. 选择Advanced Scan,有Settings、Credentials、Compliance、Plugins子项,在Settings设置基本配置,Credentials添加目标权限,Compli添加目标服务配置文件,Plugins插件激活与关闭设置。
3. Settings中BASIC有三个子项:General、Schedule、Notification。在General配置基本信息,包括项目命名,描述,归档,目标地址(家庭版一次项目只支持16个IP)。Schedule是定时扫描设置。Notification是扫描结束后邮件通知设置。添加项目名,扫描IP地址。
4. Discovery有三个子项:Host Discovery、Port Scanning、Service Discovery。这里保存默认设置即可。
5. ASSESSMENT有五子项:General、Brute Force、Web Applications、Windows、Malware。在这里可以设置Web、Windows、恶意软件扫描,还可以在Brute Force设置暴力破解。看需求添加扫描类型。
6. REPORT报告设置,保存默认设置即可。
7. ADVANCED高级选项设置,配置同时扫描的主机数和主机扫描线程数,保存默认设置即可。
8. 最后单击save保存,在主界面单击扫描键(Launch )执行。

策略扫描操作:

1. 选择Policies>New Policy
2. 选择高级扫描Advanced Scan
3. 同个性化扫描配置步骤一致,即事先配置好了策略
4. 可以在New Scan里找到配置好的策略,添加项目名、描述、归档类、目标IP地址,单击Save保存,在主界面单击扫描键(Launch )执行。

结合MSF进行漏扫并验证攻击

1. 启动nessus,终端输入:

>/etc/init.d/nesssusd start

2. 开启postgresql、metasploit服务,查看数据库连接情况:

>service postgresql start>msfconsole>db_status

[*]postgresql connected to msf

数据库连接成功

3. MSF上加载nessus:

>load nessus

[] Nessus Bridge for Metasploit [] Type nessus_help for a command listing [*] Successfully loaded plugin: Nessus

加载nessus成功

4. nessus帮助命令:

>nessus_help

5. MSF连接上nessus的数据库:

nessus_connect <用户名>:<密码>@localhost:8834 ok

[] Connecting to https://localhost:8834/ as root [] User root authenticated successfully.

nessus在MSF上登录成功,这里需要nessus登录账号和密码

6. 查看nessus设置好的策略,获取policy UUID:

>nessus_policy_listPolicy ID、Name、Policy UUID分别对应的是策略ID,策略名,策略代码

7. 创建扫描任务:

生成Scan ID(任务ID):nessus_scan_new <策略代码> <任务名> <描述> <目标IP>IP地址之间可以用“,”隔开,也可以扫网段,例如:192.168.1.0/24

8. 执行扫描任务:

获取任务ID,查看任务状态:>nessus_scan_list执行扫描:>nessus_scan_launch <任务ID>

9. 报告结果:

获取主机高中低风险分布情况,命令如下:>nessus_report_hosts <任务ID>获取主机详细的漏洞风险情况,命令如下:>nessus_report_vulns <任务ID>

10. 导入postgresql数据库:

>nessus_db_import <任务ID>

[] Exporting scan ID 47 is Nessus format... [+] The export file ID for scan ID 47 is 312342081 [] Checking export status... [] Export status: loading [] Export status: ready [] The status of scan ID 47 export is ready [] Importing scan results to the database... [*] Importing data of 192.168.101.94 [+] Done

导入数据库成功。

用hosts命令查看Postgresql数据库中的IP地址,命令如下:>hosts

nessus还可以直接扫postgresql数据库中存有的IP地址,命令如下:>nessus_db_scan <策略代码> <任务名> <任务描述>其实跟第七步一样。

感兴趣的朋友可以继续深入了解nessus。