一个感染型木马病毒分析(一)
本帖最后由 龙飞雪 于 2015-8-2 08:58 编辑一、 样本信息
样本名称:resvr.exe(病毒母体)样本大小:70144 字节病毒名称:Trojan.Win32.Crypmodadv.a样本MD5:5E63F3294520B7C07EB4DA38A2BEA301样本SHA1: B45BCE0FCE6A0C3BA88A1778FA66A576B7D50895
电脑中了该病毒的典型的特征是系统逻辑盘如U盘里的.doc、.xls、.jpg、.rar格式的文件会被隐藏起来变成.exe格式的病毒文件。被病毒母体resvr.exe感染的.doc、.xls、.jpg、.rar格式的文件称作为衍生的病毒。
二、病毒母体resvr.exe行为预览
1.拷贝病毒母体文件resvr.exe自身到C:\Program Files\Common Files\Microsoft Shared目录下设置其属性为系统属性隐藏并运行创建C:\Program Files\Common Files\Microsoft Shared\resvr.exe进程。
2.在系统“「开始」菜单”添加程序开机启动项的快捷方式”程序\启动\水印标签系统.lnk“即将C:\Program Files\Common Files\Microsoft Shared\resvr.exe设置为开机启动项。
3.遍历系统的磁盘中的文件进行文件遍历针对.doc、.xls、.jpg、.rar格式的文件进行感染或者进行加密处理。
4.绑定监听端口0.0.0.0:40118,说明0.0.0.0这个IP,它可以代表本机的所有IP地址。
5.在病毒母体resvr.exe所在的文件路径下创建X.bat文件,然后调用cmd.exe程序运行X.bat文件删除病毒文件自身。
三、病毒母体resvr.exe的衍生病毒行为具体分析
1. 获取系统文件目录"C:\Program Files\Common Files"拼接字符串得到文件路径"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"。
2.尝试内存映射的方式打开文件路径"C:\\Program Files\\Common Files\\Microsoft Shared\\Index.dat" 下的Index.dat文件;如果Index.dat文件打开成功,判断该文件Index.dat的头2个字节的数据,如果头2字节的word型数据为0x450就进行进程本地提权关闭计算机;如果头2字节的dword数据为0x451则创建线程用来创建操作系统桌面”DISPLAY”窗口大小的对话框并将该对话框置顶。
Index.dat文件的头2个字节为0x450的情况,先本地进程提取然后关闭计算机。
Index.dat文件的头2个字节为0x451的情况,创建置顶的对话框。
3.在系统文件路径"C:\Documents and Settings\Administrator\「开始」菜单\程序\启动"下,COM方式创建快捷方式"C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\水印标签系统.lnk"。
4.根据文件的路径判断当前运行的病毒进程是病毒母体"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"还是病毒母体resvr.exe感染其他文件如.xls等产生的衍生病毒如石林.xls.exe,还是运行在其他文件路径即非"C:\\Program Files\\Common Files\\Microsoft Shared"下的病毒母体resvr.exe。对于运行的病毒的类型不同,对后面病毒感染文档和隐藏的方式就有所不同。
5.对应4中,病毒运行环境和文件标记导致的病毒运行类型不同,在下面的病毒执行过程中会有3个运行情况。
情况1:当前运行的病毒进程是"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"路径下的病毒母体resvr.exe;
情况2:当前运行的病毒进程是非"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"路径下的病毒母体resvr.exe;
情况3:当前运行的病毒进程是病毒母体resvr.exe感染.doc、.xls、.jpg、.rar格式文件产生的衍生病毒。病毒运行情况的不同,对于病毒隐藏或者加密文件的方式也有所不同,该病毒对于它能感染的文件会有2种处理方式,加密文件和隐藏文件,地址的值不为-1。
注:病毒文件的判断标记即地址的值是否为-1,这个标记在病毒文件中有,这个文件标记是判断病毒母体与衍生的病毒的依据。
6.对于情况1,判断互斥量"40S118T2013"是否存在,以防止病毒的2次感染;若互斥量"40S118T2013"不存在,就会对用户电脑里的系统逻辑盘下的文件进行遍历,对文件进行病毒的感染或者加密,然后创建socket网络连接,以用户的电脑为service服务端,病毒作者client端远程控制用户的电脑。
遍历系统的所有逻辑盘如C、D等,进行文件的遍历,然后对文件进行感染。
对用户系统的软盘"ABCDEFGHIJKLMNOPQRSTUVWXYZ"进行文件的遍历,然后对文件进行感染。
病毒会对用户磁盘里的文件进行感染,并且病毒感染文件的方式有2种,感染的标识是0xAABBCCDD。若当前病毒文件的感染标识是0xAABBCCDD,进行文件的加密处理;如果没有感染标记0xAABBCCDD则对.doc、.xls、.jpg、.rar格式的文件进行感染处理。
对用户文件的不同的感染方式。
7.针对情况2,拷贝病毒母体自身文件resvr.exe到文件路径"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"下并设置该病毒文件resvr.exe的属性为系统属性、隐藏属性。运行病毒文件"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"创建病毒进程esvr.exe。在当前病毒母体resvr.exe的文件目录下创建X.bat文件,调用cmd.exe程序运行X.bat文件删除该病毒母体resvr.exe文件自身。
8.针对情况3也就是被感染的衍生病毒的运行行为。打开"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe"文件,根据返回的文件句柄判断病毒母体resvr.exe文件是否已经释放到文件路径C:\Program Files\Common Files\Microsoft Shared下。如果resvr.exe已经释放了,则病毒运行的时候仅仅释放出被隐藏的.doc、.xls、.jpg、.rar格式的文件,然后 ShellExecuteA运行.doc、.xls、.jpg、.rar格式的文件;如果没有释放resvr.exe则先释放病毒文件resvr.exe到路径C:\Program Files\Common Files\Microsoft Shared下,然后ShellExecuteA运行.doc、.xls、.jpg、.rar格式的文件。
连接本地127.0.0.1网络监听套接字发送"7+数据"格式的命令控制用户的电脑即service端(请联系情况1的病毒控制用户电脑的行为)。
运行释放的病毒文件"C:\\Program Files\\Common Files\\Microsoft Shared\\resvr.exe",删除当前病毒进程的文件,结束当前病毒进程。
有些地方还分析不对,对于病毒感染文件的方式时描述不是准确,懒得改了,仅此作为笔记保留吧。后期对这个病毒的远程控制行为和隐藏用户文件以及释放用户文件的过程进行总结一下。论坛学习热情很好,谢谢大家的支持,写病毒分析报告的时候不要这样写,被批别挂我额。大家周末快乐。
强烈支持,顶一个。 谢谢分享.... 感谢分享,学习下思路 1094483658 发表于 2015-7-31 18:26
感谢分享,学习下思路
谢谢。共同交流交流。 前排围观大神 0x18c0 发表于 2015-7-31 19:04
前排围观大神
初学者,一起交流。 一看大牛就知道对逆向分析有很深的功底,学习了 KingMe 发表于 2015-8-1 08:07
一看大牛就知道对逆向分析有很深的功底,学习了
:loveliness:初学者,一起学习。 精彩的分析~支持了! 有时间好好学习下 感谢楼主给新手解惑 谢谢