WanaCrypt0r勒索蠕虫完全分析

病毒使用工具:

窃取自美国国家安全局的黑客工具EternalBlue(直译:“永恒之蓝”)

漏洞:

MS17-010漏洞
微软https://support.microsoft.com/zh-cn/help/4012598/title
已在3月14日做了修补,但貌似只针对win10

好难貌似是个越界漏洞
漏洞分析:http://bobao.360.cn/learning/detail/3738.html

攻击流程

漏洞感染==>执行Dll Payload==>释放资源到mssecsvc.exe==>安装服务mssecsvc2.0==>释放敲诈者Dropper执行加密流程==>感染更多主机

mssecsvc.exe:之后它会创建mssecsvc2.0服务。该服务会使用与初次执行不同的入口点执行mssecsvc.exe文件。第二次执行会检查被感染电脑的IP地址,并尝试联接到相同子网内每个IP地址的TCP 445端口

加密过程

t01e21dedf5d7d5ed91.png

整个加密过程采用RSA+AES的方式完成,其中RSA加密过程使用了微软的CryptAPI,AES代码静态编译到dll

程序执行==>使用CryptGenKey生成RSA2048 SesionKey==>导出SPUBKEY到文件0000000.pky,使用RPUBKEY加密SPIVKEY导出到文件00000000.eky==>遍历文件==>使用CryptGenRandom生成FLEKEY 128bit==>使用SPUBKEY加密FILEKEY获得ENOFLEKEY==>使用LEKEY初始化AES_OONTEXT==>清空内存中的FILEKEY==>使用AES_CONTEXT加密文件内容==>一次写入WABAORY!标记ENOFILEKEY加密文件内容

Crypto:加密过程:获取公钥-->随机生成对话对称密钥-->公钥传输,私钥获取-->通过对话密钥通信
CryptGenKey:生成随机加密会话密钥或公钥、私钥密钥对。四个参数:创建CSP的句柄,要生成密钥的算法的ALG_ID值,生成密钥的类型,复制新生成的键的句柄的地址
CryptGenRandom:该函数生成的数据是密码随机的。它比典型随机数生成器(如C编译器附带的数据)生成的数据更为随机。三个参数:CSP的处理,生成字节数,填充缓冲区辅助随机(可选)

密钥概述

RPUBKEY:rsa 2048(公钥) 硬编码与程序中
RPIVKEY:rsa 2048(私钥)
SPUBKEY:rsa 2048 会话密钥(公钥),由CryptGenKey随机生成
SPIVKEYrsa 2048 会话密钥(私钥),由RPUBKEY加密保存
FILEKEY:aes 128 由CryptGenRandom随机生成,一个文件一个
FILEKEY 由会话公钥SPUBKEY将FILEKEY加密存储在文件上

解密过程:(个人理解,八九不离十)

提供RPIVKEY,解密SPIVKEY,解密FILEKEY,解密文件

特例

在加密过程中,程序会随机选取一部分文件使用内置的RSA公钥来进行加密,这里的目的是解密程序提供的免费解密部分文件功能。

总结

这次勒索漏洞使用了双rsa加aes,双rsa很高效得提高了保密性,aes加密文件又能保证加密效率,骚的很。。

参考网站

http://bobao.360.cn/learning/detail/3853.html
http://www.chinablackhat.com/Article/201705/144767.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容