频道栏目
首页 > 资讯 > 网络安全 > 正文

WannaCry勒索病毒逆向和内网传播数据分析

17-05-23        来源:[db:作者]  
收藏   我要投稿

WannaCry勒索病毒逆向和内网传播数据分析。由于周末没有加班,所以没有及时对这个病毒及时做分析,虽然网上已经有很多分析报告了,不过还是想写一下自己的分析,直接进入主题。

盛传的KillSwitch,如果域名访问成功则不执行加密,关于这个域名探测的目的,我个人更倾向于是antisandbox:

判断参数是否大于2个,大于则直接打开服务,小于则创建服务

创建并启动名为“mssecsvc2.0”的服务,以“ -msecurity”为参数实现自启动:

读取资源文件,释放到“C:\WINDOWS\tasksche.exe”,这个资源文件提供文件加密的功能:

获取漏洞利用的payload

绑445端口

建立socket进行漏洞利用

再看这个用于加密的资源样本,仍包含了一个资源文件,改后缀为zip解压,样本的解压密码是WNcry@2ol7,通过资源工具也可以查看到。解压后的文件结构如下:

msg文件夹下就是所有的语言包,这个多国语言还真是让我佩服了一下:

b.wnry是bmp文件,也就是中毒后显示的桌面:

r.wnry文件中保存着提示信息:

s.wnry文件是个压缩包,里面保存着Tor

u.wnry是解密程序,通过比对文件“@WanaDecryptor@.exe”的MD5也可验证。

分析加密主程序,创建名为“MsWinZonesCacheCounterMutexA”的互斥量,如果创建失败,则1秒钟后再次尝试,超过60秒如仍然失败,则返回0,成功为1:

比特币帐号是hardcode到样本中,共三个,从中随机选出一个,然后将帐号信息写入到文件“c.wnry”中:

设置DisplayName,伪随机,每次执行返回都一样,用于标识本机。

获取kernel32.dll和advapi32.dll中的函数。

读取资源文件,在内存解压后拷贝到当前目录,并通过“attrib+h”设置当前目录为隐藏属性,“icacls. /grant Everyone:F /T /C /Q”用于设置所有用户的访问权限。

exe主程序通过调用dll的“TaskStart”导出函数来实现加密功能,这个DLL会被加载到内存中:

来看一下这个DLL,和exe一样有一个获取kernel32.dll方法的函数,都是文件操作相关的函数,对文件加密时会频繁用到这里的函数:

多种后缀的文件都会难逃被加密的厄运,下图只展示了一部分:

通过FindFirstFileW、FindNextFileW遍历文件,如果遇到病毒自己释放的文件名则跳过不加密:

判断后缀名,根据不同的后缀返回不同的标志,病毒根据不同的返回值来判断是否进行加密,返回值为1、6的文件直接跳过,后缀与返回值对应如下:

.exe和.dll 1

文档图片类 2(具体的文件类型参看附一)

压缩包代码数据库媒体等 3(具体文件类型参看附二)

.WNCRYT 4

.WNCYR 5

.WNCRY 6

其他 0

如下路径中的文件将不会被加密:

生成随机密钥:

写入文件进行加密:

下面看看网络传播的数据,经过测试的两台win7系统其中一台成功被感染,另一台报srv.sys错误蓝屏,该样本利用了MS17-010漏洞,该漏洞正是srv.sys在处理SrvOs2FeaListSizeToNt的时候逻辑不正确导致越界拷贝,根据身边人的反馈,的确有一些中毒的机器出现蓝屏状况。

通过分析样本可看到用于溢出的数据也都是hardcode写入的。

通过抓包进行验证。

上面这段数据仅仅是网络传输中的一部分。因此又有一个思路,针对这个病毒可以通过阻断网络中的通信流量来防御蠕虫式传播。自己写了两条规则,仅仅针对这个病毒的流量进行检测。

alert tcp $HOME_NET any -> $EXTERNAL_NET 445(msg:"Wanna Crypt"; flow:to_server; dsize:1460; content:"|00 0000 00 00 00 00 00|"; offset:0; depth:8; content:"|83 f3 68 36 61 674c 43 71 50 71 56 79 58 69 32|"; offset:652; depth:16; sid:20170000;rev:1;)

alert tcp $HOME_NET any -> $EXTERNAL_NET 445(msg:"Wanna Crypt"; flow:to_server; dsize:1233; content:"|68 3544 48 30 52 71 73 79 4e 66 45 62 58 4e 54|"; offset:0; depth:16;sid:20170001; rev:1;)

受到的启发:IPS厂商是否可以及时跟踪最新的漏洞,通过网络层面来防御威胁呢?

相关TAG标签
上一篇:红色警报!intel数百万工作站和服务器芯片隐藏安全漏洞!
下一篇:战斗的民族:过去8年被绳之以法的8名俄罗斯黑客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站