1.1 样本信息
病毒名称:svchost.exe1.exe
所属家族:未知
MD5值:05d595334a3eb72fc77ee9cbfe4be2fa
SHA1值:05d595334a3eb72fc77ee9cbfe4be2fa
CRC32:5bc98320
1.2 测试环境及工具
测试系统:windows7
测试工具:Exeinfo
PEid
IDA
OD
ResourceHacker
1.3 分析目标
找到恶意代码并且分析病毒怎样利用代码实现恶意行为。
2.具体行为分析
2.1 样本初查
——查看导入表
发现加密函数与对注册表操作函数,有加密操作与注册表操作
存在遍历文件的函数,并且对分拣进行拷贝
比对文件名,搜索确认是否是有效文件路径。
接收键盘活动,检测剪贴板数据
网络链接API
COM组件API
下载URL字符串并保存在文件中
推测该样本可能的恶意行为,下载字符串,网络行为,查询窗口,遍历文件COM组件调用。监测键盘活输入。
——查看可疑字符串
发现链接网址
——查看资源
未发现可疑信息。
2.1.1 行为监测
有网络连接行为,样本在进行网络连接
有创建文件并写入一些数据。
2.2 恶意代码分析
2.1恶意代码树结构图(是否有加固)
2.2 恶意程序的代码分析片段
对病毒具体分析:
一些文件操作,虽然发现有网络连接操作,但是此处文件没有实际意义的操作,可能是休眠手段。
再往下走,
两个函数分别是sub_402960,通过IP检测国家是否是乌克兰UA。
Sub_402910是通过语言来检测地区是否是UKR乌克兰
结果
再往下,字符串的解密操作
再往下创建名为df54erd互斥体。并验证是否成功成功继续,失败则退出程序
继续,经过一些无意义的文件操作后,只做了初始化加密服务与COM服务。。删除掉病毒所在路径下的:Zone.Identifier(下载溯源文件)也就是把打开下载文件的安全警告关闭掉。然后对程序进行判断看是否是病毒程序。
若不是是病毒程序,执行文件创建和设置 RUN 键自启动,另一个键值的设置 为防火墙白名单。最后若成功复制就运行,并退出当前进程。
若是病毒程序,则执行到下一段代码,到此处代码发现函数sub_402810执行解密操作,将无序字符串解密出有效字符串,需要OD动态调试。下图为解密函数,以Tidr为密钥进行解密。
解密后,发现应该是免杀设置,先判断是否有杀毒软件,若有则关闭 WindowsDefender,关闭 AntiSpyware,关闭实时扫描,关闭访问保护,关闭行为监控,关闭 AntiVirus/防火墙/系统更新及通知,关闭 实时保护,设置了注册表键值。没有跳过直接执行下面代码。
再往下,创建了两个线程
第一个线程功能是替换剪切板里的内容。
先是判断剪切板中的数据是否是虚拟货币地址,然后针对虚拟货币地址用准备好的地址进行替换掉。下图为检测剪切板中的数据是否符合替换条件,符合继续,不符合不做恶意行为。
下图为在剪切板中找到符合条件的虚拟货币地址,而进行替换的操作。
例:
粘贴3JHbgxWSZzvG73eeMZuTvV8La0000SwH5e 实际3JHbgxWSZzvG73eeMZuTvV8LaCwPaSwH5e
第二个线程是遍历驱动器找出可移动或远程磁盘, 并对文件进行操作
Sub_4020F0以扩展名过滤待删除文件,并移动其余文件或文件 夹到根目录下的文件夹“__”中,其中有过 COM 组件的一些函数调用。
每个待处理磁盘都会新建“__”文件夹,并将自身复制到其中命名为 DriveMgr.exe,还会在根目录下新建 autorun.inf (双击盘符自动运行 DriveMgr.exe),
其中的 sub_401EF0 函数中有 COM 组件的调用,但虚拟机环境没有对应组件,故没有分析
最后下载并运行网络程序
Sub_402A40,URL检测,若通过则sub_401A00下载文件并执行文件。
Sub_401A00解密并校验文件,若通过校验则运行文件,否则删除下载文件
Sub_4017E0:解密前会先利用文件映射加载到内存中,然后校验类似 magic 的标志数,之后解密,解密后校验 SHA1 值, 最后更新标志位
sub_401700, 解密密钥一部分存在下载的文件中
到此分析完毕。
拦截下载:
根据代码分析,跳过几个大循环,Nop掉几个sleep函数。运行发现没有一个下载文件能执行到验证 SHA1处。
拦截到的大于 64KB 文件的 URL,如下所示
File 检测 64KB 文件(文件内容都一样),结果判断不出来是什么类型的文件