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
2、安装 Nessus
dpkg -i Nessus-10.4.1-debian9_amd64.deb
3、启动Nessus
systemctl start nessusd.service
启动后可以查看nessus 启动状态:
4、根据提示登录web页面 https://192.168.11.106:8834/
选择 【Managed Scanner】选项,点击【Continue】:
选择【Tenable.sc】:
输入用户名,输入密码,点击【Submit】,等待插件配置完成:
二、Nessus结合Metasploit
2.1、Nessus扫描,导入Metasploit
使用Nessus进行漏洞扫描,发现靶机存在ms11-030、ms12-020、ms17-010、ms16-046、ms12-073漏洞:
将扫描结果导入Metasploit中:
(1) 在Nessus上下载报告到本地磁盘。Nessus默认的报告文件格式.nessus可以被Metasploit解析,提示选择文件格式时,选择默认的即可。
db_status查看数据库msf的状态,然后使用 db_import nessus报告文件,将扫描结果导入到数据库中。
hosts指令验证扫描的主机和漏洞数据是否正确导入。
vulns命令
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插件
nessus_help查看Nessus插件支持的命令。
(4) 使用Nessus插件开始一次扫描前, 必须使用 nessus_connect z:Z_1234@localhost:8834 命令登录到Nessus服务器上,如下:
nessus_policy_list命令列出服务器上所有已经定义的扫描策略
nessus_scan_new命令,并在后面加上扫描策略的ID号、扫描任务名字、扫描任务描述、目标IP地址,然后如数 nessus_scan_launch scan_ID
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
设置生成的恶意网页的URL为baidu.com:
3.2、ms12-020
ms12-020漏洞的定义是指操作系统的远程桌面协议存在重大漏洞,黑客可以通过向远程桌面默认端口3389发一系列特定RDP包,从而获取超级管理员权限,进而入侵系统。
metasploit也确认靶机存在ms12-020漏洞。
再使用auxiliary/dos/windows/rdp/ms12_020_maxchannelids攻击:
看靶机,蓝屏了:
一段时间后,靶机会自动重启恢复。
3.3、ms10-046
这是Windows Shell中一个公开披露的漏洞。如果显示特制快捷方式的图标,则该漏洞可能允许远程执行代码。成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。与使用管理用户权限进行操作的用户相比,将其帐户配置为在系统上具有较少用户权限的用户受到的影响较小。