一种apc注入型的Gamarue病毒的变种

admin 2024年10月28日20:41:25评论17 views字数 4618阅读15分23秒阅读模式


概述

这个病毒通过可移动存储介质传播,使用了应用层APC注入和dga域名技术,整个执行过程分为4个阶段,首先从资源节中解密出一段shellcode和一个PE,执行shellcode,创建一个同名的傀儡进程,将解密出来的PE注入这个傀儡进程中启动,然后启动并通过apc注入的方式注入系统进程svchost.exe,从内存中解密了1248个dga域名尝试连接,并执行后续的恶意操作。

一种apc注入型的Gamarue病毒的变种


样本的基本信息

MD5: 9de070f6864bc64e0fcac70a0c881cfb
SHA1: 8b5c9c3f7ca2921542252b92d749696c75f617b2
SHA256: d59d469759bce4bb41ffa92a617570770db3e9712a1da308301131f6806c8123
文件大小: 118 KB (121,344 字节)
Link date: 6:43 2011/3/18
Publisher: n/a
Company: Tometa Software, Inc.
Description: Owo Giqer Idif
Product: Bomisyh
Prod version: 2, 8
File version: 2, 8, 7
MachineType: 32-bit
Verified: Unsigned

第1阶段 病毒母体

从资源节中解密一段数据,数据包括一段shellcode和一个pe,执行这段shellcode,
这个样本的主体功能如下,注册了一个异常处理函数用来处理程序异常,后面会通过主动div 0来产生异常,会触发调用这个函数,应该是用来对抗调试用的。

注册一个回调函数,每隔20毫秒调用一次,主要功能在这个回调函数中。

TimeQueueHandle = CreateTimerQueue()
CreateEventA(hEvent,0,0,0)
RtlInitializeCriticalSection(gCriticalSection_40C7C0);
//捕获程序产生的异常,使用自定义函数TopLevelExceptionFilter_4011A0来处理
SetUnhandledExceptionFilter(TopLevelExceptionFilter_4011A0);
gTickCount_40C7E4 = GetTickCount();
//注册一个回调函数,每隔20毫秒调用一次
CreateTimerQueueTimer(hNewTimer_v6,TimeQueueHandle_v5,sub_401540,0,1,20,0);

从资源节中读取名为doma的资源。

一种apc注入型的Gamarue病毒的变种

解密资源节中数据,分配一段0x820大小的可执行内存,将解密出内容的前0x820字节拷贝过去 这是一段shellcode,将0x820至0x27220作为参数传入(这是一个PE)。

一种apc注入型的Gamarue病毒的变种

使用OD动态调试,将这段shellcode dump出来,下面分析这段shellocode。

第2阶段 shellcode

这段shellcode的主要功能是创建一个同名的傀儡进程,将pe注入其中执行。

首先获取下列api的地址。

一种apc注入型的Gamarue病毒的变种

然后创建一个同名的进程,将参数中的PE注入到傀儡进程中启动。

下面重要分析这个PE。

第3阶段 同名傀儡进程

注入傀儡进程中的pe的基本信息如下:

Verified:    Unsigned
Link date: 20:23 2017/10/26
MachineType: 32-bit
MD5: F5CD7C49DEF09E1DEBC4559F1A7EB3BB
SHA1: 980C52CACD969F9524FBE254F5F42753654AFA92
SHA256: 763e1dd259fde007e1d1bb28c46b5941d44dad8754b9604485cf24682847f786
编译器: Microsoft Visual C/C++(2010)[-]
链接程序: Microsoft Linker(10.0)[GUI32]
文件大小: 154 KB (158,208 字节)

首先获取命令行参数,若带参数的话,说明用户点击了lnk文件,使用资源管理器打开同名的文件夹或执行同名的文件。

一种apc注入型的Gamarue病毒的变种

读取系统的磁盘信息,判断当前系统是否为沙箱环境,是的话,退出。

一种apc注入型的Gamarue病毒的变种

遍历注册表中的开机启动项,跳过自身的启动项({893B0615-D58A-CE78-7A5B-D4C7F40D0C54})和文件路径中含有关键字\Microsoft\Windows\Themes、 \WindowsUpdate、 \Windows Live的项。

若文件路径含有Temp、'{'、'}'、.exe,或者启动项中含有'{'、'}'、 "Microsoft"、 "Windows" 、"Kernel"的话,删除相应的启动项。

对应其它启动项,关闭对应的进程,若是隐藏文件,重启后将其删除。

一种apc注入型的Gamarue病毒的变种

创建一个名创建名为{893B0615-D58A-CE78-7A5B-D4C7F40D0C54}的事件对象,防双开,若存在同名的event,返回0x12345678。

一种apc注入型的Gamarue病毒的变种

创建进程C:windowssystem32svchost.exe,并挂起,将当前病毒副本拷贝进行svchost进程空间,将当前程序的内存镜像复制到svchost进程中,APC注入svchost进程,执行sub_407140函数。

一种apc注入型的Gamarue病毒的变种

第4阶段 svchost.exe

在svchost.exe的进程空间中主要执行sub_407140的功能,病毒的主要的功能就在这个函数中。

1.首先添加了一个计划任务,然后在注册表中添加了一个开机启动项,启动项和计划任务均为{152B2E26-FDB9-5268-7A5B-D4C7F40D0C54},均指向文件c:programdata{893B0616-D589-CE78-7A5B-D4C7F40D0C54}2484d689.exe

一种apc注入型的Gamarue病毒的变种

2.若当前病毒进程是从U盘上感染的,删除掉U盘上的病毒母体。

一种apc注入型的Gamarue病毒的变种

接下来,创建了一系列线程,来执行不同的操作。

3.创建线程Thread_405c20,创建一个死循环,每隔5秒,检查一次计划任务和注册表中的开机启动项,若被删除了,再添加一遍。

4.创建线程Thread_406110,创建一个死循环线程(间隔10s),通过CRC方式对比当前内存母体与磁盘母体文件是否相同,不同则将内存母体替换磁盘母体(便于实时更新,或者是防止母体文件被篡改)

5.创建线程Thread_408F70,感染可移动存储介质。遍历U盘根目录的文件,根据不同的驱动器生成一个隐藏文件和文件名(不同的系统上不一样),将病毒副本释放其中。如这样的文件名

X:\{d3137d55-925f-487e-48f8-5999785d98ab}c39d5c50-e52b-3890-9a66-c4c1eff14215.exe

隐藏根目录下的文件夹,创建一个同名的快捷方式,lnk文件的target如%comspec% /c "{d3137d55-925f-487e-48f8-5999785d98ab}c39d5c50-e52b-3890-9a66-c4c1eff14215.exe '原来的目录名'",当用户的点击这个lnk文件时,会先执行病毒副本,然后再打开原来的目录或文件。

一种apc注入型的Gamarue病毒的变种

6.创建线程Thread_406370,从C2下载新的病毒版本,若比当前版本新,则会更新内存和磁盘上的病毒文件。这个下载的链接是从全局变量gPayload_428010中解密得到的。

一种apc注入型的Gamarue病毒的变种

7.从系统中寻找一个进程(跳过teamviewer.exe和tv_w32.exe,当前进程和64位的进程),将sub_401fc0注入,作用是当当前进程退出后,启动病毒母体。

没有找到合适的进程的话,启动一个notepad进程进行注入。用来保护自身进程被kill。

一种apc注入型的Gamarue病毒的变种

8.将当前时间写入注册表HKEY_CURRENT_USERSoftwareClassesCLSID{893B0615-D58A-CE78-7A5B-D4C7F40D0C54}

一种apc注入型的Gamarue病毒的变种

9.连接C2,这里共解密出1428个不同的C2地址,会逐个请求这些域名,直到找到可用的c2地址,与其建立连接,会将当前系统信息发送给控制端,从c2下载载荷执行,执行后续的恶意行为。这一部分逻辑比较复杂。

一种apc注入型的Gamarue病毒的变种

感染U盘的症状

感染前

一种apc注入型的Gamarue病毒的变种

感染后

一种apc注入型的Gamarue病毒的变种

lnk文件的目标为%comspec% /c "{d3137d55-925f-487e-48f8-5999785d98ab}c39d5c50-e52b-3890-9a66-c4c1eff14215.exe 'python逆向'"

这样,用户在点击快捷方式之后,就会运行病毒,并将对应的目录名传递给病毒,病毒会打开相应的目录,并执行感染系统的操作。


IOC

hash
MD5: 9de070f6864bc64e0fcac70a0c881cfb
SHA1: 8b5c9c3f7ca2921542252b92d749696c75f617b2
MD5: F5CD7C49DEF09E1DEBC4559F1A7EB3BB
SHA1: 980C52CACD969F9524FBE254F5F42753654AFA92

文件
c:programdata{893B0616-D589-CE78-7A5B-D4C7F40D0C54}2484d689.exe
U盘中类类似这种文件
X:{d3137d55-925f-487e-48f8-5999785d98ab}c39d5c50-e52b-3890-9a66-c4c1eff14215.exe

Event对象 {152B2E26-FDB9-5268-7A5B-D4C7F40D0C54} 防双开
名为{152B2E26-FDB9-5268-7A5B-D4C7F40D0C54}的计划任务
注册表
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun{152B2E26-FDB9-5268-7A5B-D4C7F40D0C54}

HKEY_CURRENT_USERSoftwareClassesCLSID{893B0615-D58A-CE78-7A5B-D4C7F40D0C54} 用来记录时间戳


域名
v1.eakalra.ru:1281
v1.op17.ru:6006
v1.zgclgdb.ru:8518
v1.yekfhsh.ru:7372
v1.fasefja.ru:3410
v1.hpifnad.ru:3721
......更多请查看原文

参考资料

◆一款正在活跃的U盘感染型病毒分析-华盟网 (77169.net)https://www.77169.net/html/185673.html

◆一款正在活跃的U盘感染型病毒分析 (sohu.com)https://www.sohu.com/a/204633647_354899

◆终端安全系列-计划任务详解-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/2318604

一种apc注入型的Gamarue病毒的变种

看雪ID:mb_zuyotbmd

https://bbs.kanxue.com/user-home-868846.htm

*本文为看雪论坛优秀文章,由 mb_zuyotbmd 原创,转载请注明来自看雪社区

原文始发于微信公众号(看雪学苑):一种apc注入型的Gamarue病毒的变种

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月28日20:41:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一种apc注入型的Gamarue病毒的变种https://cn-sec.com/archives/3326107.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息