首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EternalBlue是如何利用的?

EternalBlue是如何利用的?
EN

Security用户
提问于 2017-05-16 20:31:33
回答 1查看 20.5K关注 0票数 16

我在谷歌上随意搜索了有关EternalBlue漏洞的确切工作原理的解释,但是,我想,考虑到媒体对WannaCry的攻击,我只能找到最多可以说是SMB漏洞的资源。我知道Microsoft在SMB协议的实现中存在一个漏洞,但我想知道的是,为了利用Microsoft的安全漏洞,必须构建什么样的有效负载,以及Microsoft做了什么错误使Windows容易受到这样的攻击?甚至连到某些源代码的(信誉良好的)链接也比我到目前为止所能找到的要多。

EN

回答 1

Security用户

回答已采纳

发布于 2017-05-16 21:49:14

Metasploit中有一个针对EternalBlue的漏洞,这里解释道:

在Srv!SrvOs2FeaToNt中有一个缓冲区溢出备忘录操作。这个大小是在Srv!SrvOs2FeaListSizeToNt中计算的,其中一个DWORD被减去一个单词。对内核池进行整理,使溢出可以很好地覆盖SMBv1缓冲区。实际的RIP劫持稍后在srvnet!SrvNetWskReceiveComplete中完成。

我不是专家,也不太了解ruby,但据我所知,DWORD的长度是WORD的两倍,这会让您通过发送一个大缓冲区写入内存。在写入数据时,对内核内存进行组织(修饰),以便在RIP指针被劫持并指向覆盖内存时传输有效负载,然后读取和执行覆盖内存。

您可以看到源代码这里

就所做的错事而言,应该从DWORD减去DWORD到DWORD或逐字减法。大小的差异是内存被覆盖的原因。

编辑:检查点写得很棒解释了与这个漏洞有关的所有3个bug,我从我读到的ruby代码中了解到的只是bug 1/3 (检查点编写中的bug A),如果您想深入了解它,请检查它。

票数 16
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/159654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档