rmnet感染型病毒分析汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、样本信息
病毒名称:Trojan.Win32.Ramnit.efg
文件名称:1Srv.bin
MD5:ff5e1f27193ce51eec318714ef038bef
SHA1:b4fa74a6f4dab3a7ba702b6c8c129f889db32ca6
二、关键行为
创建互斥“KyUffThOkYwRRtgPP”
投放文件并且运行“C:\Program Files\Microsoft\DesktopLayer.exe”
文件遍历方式感染全盘后缀为“.exe”“.dll”“.htm”“.htm”的文件
写入Autorun.inf 自动播放进行感染
注入浏览器iexplore.exe进程,使用Hook ZwWriteVirualMemory方式来进行写入内存改变EIP执行
劫持 winlogon 系统项的userinit来运行感染病毒母体
连接C&C服务器为443端口,此为HTTPS 访问端口,用来躲避行为检测
连接C&C服务器 发送窃取数据
三、样本运行流程
此感染病毒共有3层打包,每层使用UPX加壳。第一层包装主要内存解密出PE文件,替换自身当前模块内存。第二层主要判断自身路径是否为“C:\Program
Files\Microsoft\DesktopLayer.exe”,如果不是则拷贝自身母体至此目录下,然后运行此程序。当判断本路径的是的话,则通过注册表取系统自身浏览器路径,内存解密出第三层模块DLL,通过Hook ZwWriteVirtualMemory注入到iexplore.exe进行执行。注入到iexplore.exe的DLL为此感染病毒核心代码,在入口处创建了6个线程,他们分别工作是
1.每隔一秒判断winlogon.exe的userinit是否启动的是感染母体
2.访问:80 网站来进行取当前时间,并且判断
3.取感染时间保存到“dmlconf.dat”
4.连接C&C服务器””,发送窃取的数据
5.遍历全盘文件进行感染,主要感染类型 .exe.dll.htm.html文件
6.主要遍历驱动器根目录写autorun.inf方式进行感染
感染症状:
被感染的.exe 和.dll 程序自身后面都多了一个名为.rmnet的区段
且每次打开被感染的程序,当前目录会有“母体名+Srv.exe”的程序
被感染的.htm和.html文件会被添加以下内容
被感染的autorun.inf会被写入以下内容
网络症状:
四、详细分析
0x1.第一层包装,主要内存解密出PE文件,替换自身当前模块内存
我们先用查壳工具看看,显示是UPX加壳,我们载入OD可以看到入口是典型的UPX入口特征
首先申请一个0xF000大小的空间,写入shellcode,这段shellcode进行再次进行申请内存,填充PE文件,替换自身当前模块内存。
0x2.第二层包装
我们来到第二层包装后,也为UPX压缩,主要判断自身路径是否为“C:\Program Files\Microsoft\DesktopLayer.exe”,如果不是则拷贝自身母体至此目录下,然后运行此程序。
运行DesktopLayer.exe后,
首先会通过查询注册表路径””取得系统浏览器路径,
在取得系统浏览器iexplore.exe路径后,首先Hook “ZwWriteVirtualMemory”
在调用CreateProcessA函数来启动进程,当调用此函数的时候,就会进入到Hook的处理程序里面来,因为CreateProcessA 是经过封装处理的,ZwWriteVirtualMemory是其CreateProcessA的内部函数。
这个hook处理程序首先会从自身内存中解密出一个PE文件,通过远程写内存函数写入到iexplore.exe进程当中,其中还会远程写入一段shellcode 代码给iexplore.exe内存PE文件进行初始化操作,大致就是申请内存----对齐区段---初始化导入表--修复重定位-修复入口点等。
0x3.第三层核心代码
这层核心代码则为远程写入iexplore.exe的这段内存,实则为一个DLL文件
通过使用查壳工具可以看到这个DLL名为”rmnsoft.dll”的文件
这个DLL在入口一共创建了6个线程来进行工作,每个线程负责不同的恶意操作
1.每隔一秒判断winlogon.exe的userinit是否启动的是感染母体
2.访问:80 网站来进行取当前时间,并且判断
3.取感染时间保存到“dmlconf.dat”
4.连接C&C服务器””,发送窃取的数据
5.遍历全盘文件进行感染,主要感染类型.exe.dll.htm.html文件
6.主要遍历驱动器根目录写autorun.inf方式进行感染
入口首先会判断互斥”KyUffThOkYwRRtgPP”是否存在,如果存在则直接退出程序。
接着就是创建线程操作了
0x1.线程一(劫持winlogon.exe注册表项来启动感染母体)
通过分析我们可以知道,此线程主要通过注册表查询winlogon目录的userinit 的来判断自身母体是否被能被开机运行,这种劫持方法,在开机启动项里面是查不到的.
并且每隔1秒查询一次,无限循环。
0x2.线程二(通过访问:80来获取时间)如果访问失败,则还会进行以下几个网站来获取
0x3.线程三(取感染时间保存到文件”dmlconf.dat”)
通过SystemTimeAsFileTime 函数取得感染时间
写入到文件”dmlconf.dat”