资讯
主页 > 技术文章 > 正文

阻断感染型病毒母体——Ramnit病毒分析

发表时间:2016-11-16

0x00引言

  病毒木马令人讨厌尤其是感染型的病毒一旦被感染轻则重装系统重则全盘低格该病毒会寄生在用户的浏览器中难以察觉因此每天都有数以万计用户受其困扰。腾讯反病毒实验室近日捕捉其原生母体——Ramnit病毒,电脑管家日拦截该病毒机器数高达3万台。据分析,该母体伪装成杀软文件潜伏在用户机器中,并且其注入开关也小有特点。

 

基本流程图:

 

0x01详细分析

病毒母体采用3第一层UPX3.03压缩壳:

 

第二层一层私有加密充斥着大量垃圾指令意义API调用数据代码混淆:

 

这层代码负责解密三段代码和数据首先会分配一段0xF000大小的内存之后第一段解密数据解密到该地址代码地址为0x401F43这段代码是第三层的解密代码第三层仍然是UPX3.03壳:

 

解密算法伪码:

    key = 0x00401F43;

    len = 0x3703;

    do

    {

      v13 = __ROL1__(*(_DWORD *)(++key + 1) ^ 0xA2 0x16);

      v13 = __ROR1__(v13 8);

      *pBuff++ ^= v13 - 0x6C;

      --len;

      sum += 0x2FCD5809;

}while ( sum );

解密后病毒通过push&retn方式跳转到新代码入口地址入口地址:pBase+0x2CA9。

 

第三层壳仍UPX3.03第二层脱壳可以对GetProcAddress断点这样是直接到最内层upx中断会看到获取CreateMutexA函数返回后即可看到UPX的经典jmp。

 

三层解密后可以看到文件是用MASM编写:

 

文件的版本信息被抹掉并且文件被加了图标下面的解密前和解密后对比:

 

启动后入口也是检测一下母体环境检测Mutex。

 

检测母体的路径是否是C:\Program Files\Microsoft文件名必须是DesktopLayer.exe否则会释放到该目录执行。

 

接下来是注入系统的默认的浏览器。

 

 

Hook ZwWriteVirtualMemory为了对浏览器注入代码但是hook该函数后母体并未显示调用ZwWriteVirtualMemory流程上看CreateProcess后母体就退出了其实在windows内部函数调用链中CreateProcess成功后windows pe loader会对进程内存填充系统会调用ZwWriteVirtualMemory进行填充所以触发FakeZwWriteVirtualMemory

hook函数中主要进行DLL注入DLL存在母体的0x4031处。

 

从导出表可以看到该DLL原始名为rmnsoft.dll。

 

注入后操作方法也比较老套但是比较稳定分配内存->写入DLL->修复导入表/重定位->修改入口点->执行。

DLL入口开启5个线程:

 

入口处首先检测母体创建的Mutex是否存在不存在就退出感染之后会把病毒的远程服务器地址解密出来

解密算法

    len_1 = iSrcLen;

    pData = srcData;

    counts = 0;

    do

    {

      if ( !counts )

        counts = iKeyLen - 1;

      *pData++ ^= strKey[counts--];

      --len_1;

}while ( len_1 );

密文:

 

密文长度0x74解密key0x010x8F0x310xCD0x95长度5解密后远程地址为: fget-career.com。

获取被感染机器的磁盘信息以及系统版本信息:

 

获取后的信息格式如下:

 

盗取的这些信息会和信息MD5值并起发送到远程服务器病毒为了躲避防火墙链接利用TCP协议伪装HTTP协议通信可以接受远程控制。

 

获取病毒安装的时间记录到浏览器目录下的dmlconf.dat文件中。

 

检测病毒启动项的线程每隔1执行一次病毒的启动项也不在常见的run启动项通过劫持winlogon运行病毒。

 

0x02感染线程

接下来是病毒进行全盘文件感染便利系统分区查找所有文件病毒感染三种文件exedllhtml感染方式采用文件映射方式。

 

对于可执行文件如果已经存在.rmnet就不重复感染文件会文件尾部创建新节.rmnet”。

 

首先写入双层upx解压代码之后写入加密后DLL 198144字节所以被感染后的文件会比源文件小很多宿主运行后会在当前目录生成$宿主名Srv.exe病毒文件。

 

对于html文件结尾包含</script>则重复感染。

 

感染的html会释放母体到temp目录文件名为svchost.exe。

 

Antorun.inf的感染病毒会在每盘符下生成X:\ RECYCLER\用户名sid\random.exe隐藏文件。

 

0x03母体来源

 

  究其来源发现大部分感染的新机器主要来自于外挂辅助程序游戏登录器账号获取器以及其他病毒携带

  外挂辅助程序主要从网络上下载以及接受QQ好友的文件淘宝的聊天文件等这些文件本身大部分已经被感染一部分会投放该感染病毒目前发现投放该病毒的有迅雷VIP获取器反恐登号软件登录器等该病毒还会借助蠕虫病毒在网络上传播感染量巨大

 

0x04查杀方法

目前电脑管家可以识别该病毒其感染的宿主程序进行修复

 

资讯排行