wannacry分析--20199319

删除回忆录丶 提交于 2019-12-03 15:15:46

病毒概况

  • WannaCry病毒利用前阵子泄漏的方程式工具包中的“永恒之蓝”漏洞工具,进行网络端口扫描攻击,目标机器被成功攻陷后会从攻击机下载WannaCry病毒进行感染,并作为攻击机再次扫描互联网和局域网其他机器,形成蠕虫感染,大范围超快速扩散。
  • 病毒母体为mssecsvc.exe,运行后会扫描随机ip的互联网机器,尝试感染,也会扫描局域网相同网段的机器进行感染传播。此外,会释放敲诈者程序tasksche.exe,对磁盘文件进行加密勒索。
  • 病毒加密使用AES加密文件,并使用非对称加密算法RSA 2048加密随机密钥,每个文件使用一个随机密钥,理论上不可破解。

详细分析

  • 病毒在网络上设置了一个开关,当本地计算机能够成功访问http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com时,退出进程,不再进行传播感染。目前该域名已被安全公司接管。
  • 蠕虫行为:
    • 创建两个线程,分别扫描内网和外网的IP,开始进程蠕虫传播感染。对公网随机ip地址445端口进行扫描感染。对于局域网,则直接扫描当前计算机所在的网段进行感染。
    • tasksche.exe行为(敲诈者)程序中内置两个RSA 2048公钥,用于加密,其中一个含有配对的私钥,用于演示能够解密的文件,另一个则是真正的加密用的密钥,程序中没有相配对的私钥。
    • 病毒随机生成一个256字节的密钥,并拷贝一份用RSA2048加密,RSA公钥内置于程序中。
  • 详细加密流程

  • 解密程序
    • 病毒解密程序中内置了其中一个公钥的配对私钥,可以用于解密使用该公钥加密的几个文件,用于向用户“证明”程序能够解密文件,诱导用户支付比特币。
    • 程序判断本地是否存在“00000000.dky”文件,该文件为真实解密所需私钥文件。若存在,则通过解密测试文件来检测密钥文件是否正确。若正确,则解密。若错误或不存在,病毒将程判断解压后的Tor目录下是否存在taskhsvc.exe。若不存在,则生成该文件,并且调用CreateProcessA拉起该进程。
    • 该程序主要为匿名代理工具,该工具启动后会监听本地9050端口,病毒通过本地代理通信实现与服务器连接。
    • 在点击“Check Payment”按钮后,由服务端判断是否下发解密所需私钥。若私钥下发,则会在本地生成解密所需要的dky文件。而后,程序便可利用该dky文件进行解密。不过,到目前为止,未曾有解密成功的案例。

文件恢复

中毒后用户电脑里面文档会被加密为后缀为.wncry的文件。弹出提示框提示用户付款比特币地址。购买比特币往这个比特币钱包付款以后,通过病毒的洋葱网络的匿名通信通道把付款的钱包地址发给病毒作者。作者如果匿名网络在线,点击“check payment”会收到回复的确认消息,这个时候用于解密的密钥会通过匿名网络发送回来。然后选择解密就可以解密文件了。解密完成后是仍然有可能重新中毒的,病毒并没有标签解密过的机器。

但实际上,已经被感染用户,能否恢复被加密锁死的文件?
结论是非常难,几乎不可能,即使支付赎金,也未必能得到解密密钥。WannaCry病毒存在一个致命缺陷--病毒作者无法明确认定哪些受害者支付了赎金,因此很难给出相应的解密密钥(密钥是对应每一台电脑的,没有通用密钥)。所以请不要轻易支付赎金(比特币),如上所述,即使支付了赎金,病毒作者也无法区分到底谁支付赎金并给出相应密钥。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!