细说Wannacry勒索软件所使用的木马技术

时间:2024-05-31 15:16:42

已经发表于freebuf: (   http://www.freebuf.com/column/134855.html)


5月12日晚突然爆发的Wannacry勒索病毒给人们也给各大安全厂商一个措手不及,360追日团队也第一时间给出了完整的木马分析,结合我自己的逆向以及分析我们来细说Wanncry使用了哪些木马技术。 

1. 资源释放文件

这个技术最早始于rootkit,始发于rootkit.com,在《Rootkits: Subverting the Windows Kernel》,中文版名叫《Rootkits:-windows内核的安全防护》第一次以出版物的形式讲解,在wannacry里我们可以多次看到资源释放文件。

我们来看下Wannacry勒索软件主体敲诈程序tasksche.exe,在Winmain的入口点:

 细说Wannacry勒索软件所使用的木马技术

函数ZipReleaseWay(0, “[email protected]″),这个函数就是释放资源里的文件,进入函数内部

细说Wannacry勒索软件所使用的木马技术

 

 细说Wannacry勒索软件所使用的木马技术

FindResource(hMoudle = 0,0×80=2058,”XIA”),从exe的资源节中查找类型为”XIA”的资源,资源id为2058,使用pe工具我们可以看到

 细说Wannacry勒索软件所使用的木马技术

虽然这个技术已经被各大杀软列为危险可疑的软件,但是Wannacry使用加密zip存贮的方式会难以认定为非法。

2. 内存加载模块

 这个技术被各大外挂木马技术以及各大安全技术(加壳软件、反外挂系统等等)广泛使用,早期最有名的一个开源库叫MemoryModule,外国人最早开放的代码,大致的原理就是读取本地文件,解析pe文件各个节段,使用VirtualAlloc、VirtualProtect函数分配以及设置节属性,根据内存头地址修复重定向数据以及解析加载导入表,解析导出表,最后根据pe文件的入口点执行入口点函数实现加载模块。

 细说Wannacry勒索软件所使用的木马技术

细说Wannacry勒索软件所使用的木马技术

 

内存加载模块能很好的防止安全厂商对LoadLibrary的主动防御,更能防止安全人员对其模块的直接获取与分析,wannacry是把所加载模块是完全加密释放在磁盘里更加难以直接获取与分析。

3. 动态调用系统API

在开发中我们常常在编译调用系统API时往往使用的是直接连接的方式,而木马编程常常在关键位置时使用动态的方式去获取API经行调用, 这样可以有效地过免杀,其方法就是使用GetProcAddress获取函数的入口地址。

  细说Wannacry勒索软件所使用的木马技术


细说Wannacry勒索软件所使用的木马技术


细说Wannacry勒索软件所使用的木马技术

 

从上可以看到Wannacry把一些读写文件的函数保存在全局地址里,而在加密文件时候使用这些地址保存的函数去加密文件。

4. 文件夹隐藏

隐藏文件和文件夹是病毒木马常用的手段而wannacry使用了一种高级的手段去隐藏自身所在的文件夹。

 细说Wannacry勒索软件所使用的木马技术

细说Wannacry勒索软件所使用的木马技术

Wannacry通过启动attrib.exe +参数进程的方式去设置隐藏,attrib +s +a +h +r命令就是把原本的文件夹增加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性,而+h就是设置隐藏的属性。

5. 提权

Wannacry使用了一个单独的进程去执行提权

 细说Wannacry勒索软件所使用的木马技术

WTSEnumerateSessions了当前所有的Seesion用户id,然后使用OpenTokenPrivilige函数给相应的进程赋予相对应用户id的用户Token权限,提权后的程序会得到相应用户对该电脑的相应级别的操作,比如管理权限可以在相应的系统目录下创建文件、读写删除文件、读写修改注册表等等。

6. 自我复制伪装与开机启动

病毒木马常用的伪装技术包括捆绑软件、隐藏在配置文件中、假冒图标以及扩展名、假冒正常程序名、隐藏在注册表、隐藏在开启启动项等等,wannacry把自己复制到系统目录或者临时目录中的ProgramData或者Intel伪装目录中,把自身创建成微软的安全中心服务程序达到伪装并开机启动的目的。

 细说Wannacry勒索软件所使用的木马技术

 细说Wannacry勒索软件所使用的木马技术

细说Wannacry勒索软件所使用的木马技术

 

7. 利用系统漏洞传播

病毒木马的传播手段很多主要通过软件捆绑(如外挂,网络播放器,下载软件等等),邮件,聊天软件的群共享,网站挂马,黑客入侵、系统漏洞攻击等手段来传播,而wannacry正是使用了之前NAS泄露的smb的漏洞来实现攻击传播。

 细说Wannacry勒索软件所使用的木马技术

细说Wannacry勒索软件所使用的木马技术

细说Wannacry勒索软件所使用的木马技术

从上我们分析一些wannacry的木马技术,从木马样本的逆向分析我们可以发现木马作者是一个有开发背景的开发者而非专业的传统黑客,作者使用的开发工具是vc++6.0,该木马团队可能为2-3人,作者有过免杀的能力与过主动防御的能力,虽然有很强的木马能力,但是还是有许多方面容易被安全厂商静态查杀。比如作者在处理内部的一些敏感的字符串的时候没有很好的隐藏而是以明文的方式存在于样本的.data节段,在文件释放落地的时候可以被静态查杀,将来作者在新的变种中有可能会考虑加密存在字符串,或者以字节码的形式存在于函数的堆栈中而难以被静态分析,在当前本样本中作者也未加入一些“花指令”而使得样本容易被安全人员使用IDA静态分析,也可能作者将来作者会考虑加花或者加壳。通过现有的样本分析技术行为能够更好的为接下来面对的作者的新的变种考虑对应方案是安全厂商值得深思的,而安全又不仅仅是安全厂商能够完全解决的,因为从当前的木马行为分析是过不了安全厂商的主动防御的,但是却还是大量爆发了,所以也需要广大用户有良好的上网行为,安装安全软件,及时地更新系统补丁,才能更好的保证自己不受损失。