nessus 实验原理:



利用漏洞扫描器能够自动应用漏洞扫描原理,对目标主机安全漏洞进行检测,附带识别主机漏洞的特征库的功能,从而完成网络中大量主机的漏洞识别工作。





一、安装漏洞扫描器nessus

直接容器安装:docker run -d  -p 8834:8834 --name nessus tenableofficial/nessus

1、下载Nessus



官方网站下载对应的 Nessus 版本:http://www.tenable.com/products/nessus/select-your-operating-system




利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描


2、安装 Nessus


dpkg -i  Nessus-10.4.1-debian9_amd64.deb


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描_02


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_Nessus_03


3、启动Nessus


systemctl start nessusd.service 


启动后可以查看nessus 启动状态:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_04


4、根据提示登录web页面  https://192.168.11.106:8834/  


选择 【Managed Scanner】选项,点击【Continue】:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_05


选择【Tenable.sc】:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_06


输入用户名,输入密码,点击【Submit】,等待插件配置完成:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描_07


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_Nessus_08


二、Nessus结合Metasploit

2.1、Nessus扫描,导入Metasploit


使用Nessus进行漏洞扫描,发现靶机存在ms11-030、ms12-020、ms17-010、ms16-046、ms12-073漏洞:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_数据库_09


将扫描结果导入Metasploit中:


(1) 在Nessus上下载报告到本地磁盘。Nessus默认的报告文件格式.nessus可以被Metasploit解析,提示选择文件格式时,选择默认的即可。


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_利用nmap和Nessus进行漏洞扫描_10


db_status查看数据库msf的状态,然后使用 db_import nessus报告文件,将扫描结果导入到数据库中。


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_数据库_11


hosts指令验证扫描的主机和漏洞数据是否正确导入。


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_数据库_12


vulns命令


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_利用nmap和Nessus进行漏洞扫描_13


2.2、Metasploit中调用nessus插件


Nessus插件允许你通过Metasploit框架对Nessus进行完全的控制,比如运行扫描、分析结果、甚至使用它通过Nessus扫描发现的漏洞发起渗透攻击。


db_destroy  postgres:toor@127.0.0.1/msf3命令删除现有的数据库,并使用 db_connect postgres:toor@127.0.0.1/msf3创建一个新数据库。


load_nessus命令载入Nessus插件


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_14


nessus_help查看Nessus插件支持的命令。


(4) 使用Nessus插件开始一次扫描前, 必须使用 nessus_connect z:Z_1234@localhost:8834 命令登录到Nessus服务器上,如下:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描_15


nessus_policy_list命令列出服务器上所有已经定义的扫描策略


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_利用nmap和Nessus进行漏洞扫描_16


nessus_scan_new命令,并在后面加上扫描策略的ID号、扫描任务名字、扫描任务描述、目标IP地址,然后如数 nessus_scan_launch  scan_ID


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_17


Error while running command nessus_scan_new: undefined method []' for nil:NilClass。这是 由于Nessus 7开始对远程调用进行认证,从而导致Metasploit调用失败。现在正在等待修复。


解决办法:Nessus Plugin unable to create new scan · Issue #11117 · rapid7/metasploit-framework · GitHub https://github.com/rapid7/metasploit-framework/issues/11117


nessus_scan_list查看扫描任务的状态,当命令返回显示扫描任务的状态为“completed”时,表示扫描结束。


nessus_scan_import scan_ID命令将指定扫描任务的报告导入到Metasploit数据库中。


hosts指令确认扫描数据已被导入到数据库中。


三、分析利用漏洞


接着利用metasploit进行漏洞利用


3.1、ms11-030


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描_18


设置生成的恶意网页的URL为baidu.com:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_19


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_数据库_20


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_利用nmap和Nessus进行漏洞扫描_21


 


3.2、ms12-020


ms12-020漏洞的定义是指操作系统的远程桌面协议存在重大漏洞,黑客可以通过向远程桌面默认端口3389发一系列特定RDP包,从而获取超级管理员权限,进而入侵系统。


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_利用nmap和Nessus进行漏洞扫描_22


metasploit也确认靶机存在ms12-020漏洞。


再使用auxiliary/dos/windows/rdp/ms12_020_maxchannelids攻击:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_23


看靶机,蓝屏了:


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描_24


一段时间后,靶机会自动重启恢复。


3.3、ms10-046


这是Windows Shell中一个公开披露的漏洞。如果显示特制快捷方式的图标,则该漏洞可能允许远程执行代码。成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。与使用管理用户权限进行操作的用户相比,将其帐户配置为在系统上具有较少用户权限的用户受到的影响较小。

利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_Nessus_25

利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_漏洞扫描_26


利用nmap和Nessus进行漏洞扫描 nessus漏洞扫描教程_安全_27