1、永恒之蓝
2017年,网络安全界充斥着有关声名狼藉的WannaCry勒索软件攻击的新闻。这项活动是在Shadow Brokers黑客组织披露了一系列国家安全局(NSA)漏洞后不久开始的。利用全球范围内未打补丁的系统,使用名为“ EternalBlue”的漏洞的WannaCry攻击遍及150个国家。自2016年以来,臭名昭著的Shadow Brokers黑客组织一直活跃,并负责泄漏一些NSA漏洞,零时差和黑客工具。根据Wikipedia的报道,影子经纪人组织迄今已报告了五次泄漏。第五次泄漏发生在2017年4月14日,被证明是最具破坏性的。当天,Microsoft发布了一篇博客文章,概述了可用的补丁程序,这些补丁程序已解决了Shadow Brokers泄露的漏洞。漏洞发生前一个月(2017年3月14日),Microsoft已发布安全公告MS17-010,该公告解决了一些未修补的漏洞,包括“ EternalBlue”漏洞所利用的漏洞。但是,许多用户未应用该补丁,并且在2017年5月12日遭到了历史上最大的勒索软件攻击– WannaCry攻击。WannaCry成功感染了150多个国家的23万多台计算机后,引起了全球关注。这次袭击的主要受害者是全球知名的组织,包括医院和电信,天然气,电力和其他公用事业提供商。WannaCry爆发后不久,发生了其他严重的攻击,这些攻击也被发现使用了EternalBlue以及来自同一NSA泄漏的其他漏洞利用和黑客工具
2、攻击复现实验
参考永恒之蓝复现(MS17-010) 【1】
3、数据包分析
本文分析的永恒之蓝pcap下载 Eternalblue pcap
通过SMB_COM_NT_TRANSACT本身是不支持FEA LIST的,产生漏洞的为SMB_COM_TRANSACTION2命令。对于TRANSACTION系列的命令如果发送的长度过大,SMB会将该请求包拆分成**Second的形式进行发送,从PCAP分析看正常的SMB连接之后
NT Trans Request的Total Data count 为0x10016大于FEA大小0x10000
TotalDataCount”值字段在NT Trans中为DWORD,在Trans2请求中为WORD。因此,此错误使得有可能在Trans2请求中发送大于65535(0xffff)限制的payload,由上图就可知,确实发送了大于65535(0xffff)限制的payload(65558->0x10016)。
另一个PCAP分析发送了大于65535(0xffff)限制的payload(66512->0x103d0)。
因此分析检测看到Trans2的包且NT Trans Request的Total Data count 大于FEA大小0x10000,则可以判断为永恒之蓝漏洞。
参考
【1】//www.greatytc.com/p/4c92a9815dcc
【2】https://www.it610.com/article/1291782083286474752.htm
【3】https://www.trendmicro.com/en_us/research/17/f/ms17-010-eternalblue.html