Backdoor.Zegost木马病毒深度分析(一)
本帖最后由 龙飞雪 于 2015-12-27 13:15 编辑一、样本信息
样本名称:rt55.exe样本大小: 159288 字节文件类型:EXE文件病毒名称:Win32.Backdoor.Zegost样本MD5: C176AF21AECB30C2DF3B8B8D8AA27510样本SHA1:16E951925E9C92BC8EFDF21C2FBAF46B6FFD13BC
二、行为具体分析
1.获取当前运行模块的命令行参数,根据当前命令行参数是否包含字符串"NewUpdatExe"进行判断,决定下面提到的内存解密PE文件是调用导出函数NewUpdatExe还是导出函数xDllMain。
2.解密当前病毒进程内存地址为0x408070处,文件大小为0x17C00的被加密隐藏的PE文件。
3.加载内存解密的PE格式的Dll文件,进行恶意病毒行为的操作;具体的加载过程后面会具体分析。
4.将解密内存PE文件的每个区节块的数据从文件映射到申请的内存空间中。
5.对内存解密PE文件的重定位表Base RelocationTable进行重定位的修复。
重定位相关的代码可以参考网址:http://blog.sina.com.cn/s/blog_6ac942220100l8c2.html
6. 获取解密内存PE文件的导入表中的INT表中的函数的调用地址填充IAT表。
7. 循环修改解密内存PE文件的各区节块数据段的内存数据属性。
8.运行的病毒进行将PE文件(dll文件)的加载已经基本完成了,因此这个被病毒进行内存加载的PE的动态库文件是有效可以执行的;因此以该内存PE动态库的OEP为函数指针执行恶意的代码。
9. 获取导出函数名称字符串"NewUpdatExe"或"xDllMain",用以获取解密内存PE文件的导出函数"NewUpdatExe"或"xDllMain"的调用地址。
遍历内存解密PE文件的导出表,获取需要的导出函数"NewUpdatExe"或"xDllMain"的调用地址。
10.根据步骤1中的传入的函数的名称"NewUpdatExe"或者"xDllMain",根据上面的步骤获取需要的导出函数"NewUpdatExe"或者"xDllMain"的地址,然后调用内存解密PE动态库文件的导出函数"NewUpdatExe"或者"xDllMain",执行恶意的代码;然后再次以内存解密PE文件的OEP为函数指针,执行内存PE文件的代码,执行恶意行为。
三、 病毒分析总结
总体来说,上面的详细的分析,基本可以使用一句话总结,那就是:宿主样本程序通过LoadPE的方式加载解密的PE动态库dll文件,然后有加载的PE动态库dll文件来执行具体恶意的病毒行为,从而达到逃过杀软的查杀的目的。关于Backdoor.Zegost木马病毒的具体行为也就是内存解密PE动态dll文件的恶意行为后面会详细的分析。
注:由于笔记本的屏幕发白,截图总是显示发白发花,具体的分析见分析的PDF文档。这个木马病毒使用的手法也不是什么新的手法,只是分析一下该木马的实现方法,关注一下LoadPE的方法,和加壳的原理有些相似。
Mr.Mlwareson_V 发表于 2015-12-27 19:25
龙大作品必属精品,学习了
多谢你们的支持,以后多多分析病毒的利用技术,解开病毒的实现技术,分享给大家,菜鸟一只踏踏实实的学。 一生情独醉 发表于 2015-12-27 13:22
这一长串的文字图片,发帖子不容易啊,感谢楼主的分析,感谢分享~
哈哈,谢谢,主要笔记本的高显示屏发白,导致图片的截图不清楚,很烦。 辛苦了!很高兴看到你的主题。 这一长串的文字图片,发帖子不容易啊,感谢楼主的分析,感谢分享~ 这个好,学习了 杨利君 发表于 2015-12-27 13:16
辛苦了!很高兴看到你的主题。
哈哈,多谢你的支持。 慕容影 发表于 2015-12-27 14:59
学好破解和分析文件大致只有熟悉每个函数和命令和每个工具每个地方的使用方法就不难了。
是的,说的很有道理,确实是这样的。 龙大作品必属精品,学习了{:1_921:}
页:
[1]
2