0×01: 病毒名称:

鬼影7

0x02: 病毒释放的主要文件

C:\Windows\System32\64A506EC.tmp(该文件名为随机字符+explorer进程ID.tmp)  此文件为病毒副本程序。

C:\Users\a\AppData\Local\Temp\ 55596a66.bat(自删除批处理脚本)

C:\Windows\System32\ 5D27626D.sys(驱动程序)

C:\Windows\System32\ AeLookupSvc.dll(系统中不存在的服务程序,以服务程序名命名)

0x03:  病毒主要行为及作用

此次分析主要是鬼影7外壳程序分析,其所释放的驱动程序和服务程序请静待下回分析

外壳程序主要行为:

判断自已是否注入到其它进程中运行,如果已注入到其它进程,病毒会安装驱动等,服务等主体程。

一.没有注入的病毒行为:

<1>.首先会判断KB2536276666.log文件是否存在,该文件标志着该电脑是否被感染。如存在就退出运行。

<2>.检测本机所运行的相关安全软件,并设置标志位。

<3>.配置本机输入法注册表相关设置,释放C:\Windows\System32\64A506EC.tmp文件,分别HOOK imm32.dll 的ImmLoadLayout函数与ntdll.dll的ZwQueryValueKey函数,然后显示调用LoadKeyboardLayout,并发送WM_INPUTLANGCHANGEREQUEST将64A506EC注入到explorer.exe进程中。此时木马检测是否注入成功,如成功就退出运行,失败则会在当前进程释放驱动和服务DLL程序并安装。

二.注入到傀儡进程中的行为:

<1>.注入到傀儡进程中的病毒程序就是原程序副本,只是运行环境发生变化,病毒运行时检测所注入的傀儡进程名称,然后根据注入进程不同执行不同行为。

<2>.注入的进程如果是explorer.exe病毒就释放驱动和服务DLL程序并安装,如果是setup.exe程序,病毒就会重新执行没有注入的病毒行为。如果注入的是HELPCTR.EXE,control.exe进程时,病毒设置输入法DLL程序,然后退出运行。

作用:此外壳程序主要作用就是安装一个系统底层的驱动程序和一个RING3的服务程序。

其病毒主要的作用在所释放安装的两个服务程序当中,这两个服务程序的详细分解请静待下章。

0x04: 详细分析

 

 

 

c36e064696fc27e789c38615a83daedf

 

 

图片1

病毒入口点如上图:病毒开始执行时就用自定位方式获取当前执行时偏移地址,然后和当前进程模块比较,以此来检测是否注入到傀儡进程中运行。

图片2

 

图片3

 

木马检测系统是否被感染过,如果系统已经种植了该病毒程序,则不继续感染。

图片4

病毒跳转到自身所构造的SHELLCODE中运行,但这些SHELLCODE代码全是90,即什么都不干,此处用意估计是迷惑逆向分析者,无实在意义。

图片5

病毒检测一些系统运行的安全软件,如360tray.exe,HardwareInfo.exe,HintClient.exe,AVP.exe等,其中explorer.exe为病毒要注入的傀儡进程,病毒会获取该进程ID,然后以些ID+随机字串生成要注入的傀儡DLL文件。

图片6

图片7

病毒生成傀儡DLL文件64A506EC.tmp。

图片8

病毒获取Imm32.dll的ImmLoadLayout与ZwQueryValueKey函数地址,用来HOOK这两个函数。

图片21

图片9

病毒HOOK了以上两个函数,然后病毒调用LoadKeyboardLayout函数,此时ImmLoadLayout,ZwQueryValueKey会被调用,病毒在ZwQueryValueKey会在该函数内部返回64A506EC.tmp字串,然后恢复被HOOK的函数,以上行为意在用输入法原理注入到目标进程当中,要注入的目标进程是explorer.exe,病毒马上会发送WM_INPUTLANGCHANGEREQUEST消息给explorer.exe进程,这时病毒DLL就会注入explorer.exe进程中。

图片10

病毒向explorer.exe进程发送WM_INPUTLANGCHANGEREQUEST消息。

图片11

图片12

病毒等待全局事件,如果该事件被置位,则说明病毒成功注入explorer.exe进程,如果等待超时或返回失败时,病毒就会在当前进程中完成注入到explorer.exe傀儡进程的任务,即完成驱动及服务的释放与安装。

 

图片13

 

如上图所示,病毒成功将64A506EC.tmp动态链接库注入到explorer.exe中,此DLL动态链接库为病毒副本程序,只是该病毒在运行时就会测测运行环境,所以注入到explorer.exe进程中的病毒会有所不同,它会直接尝试创建服务等程序。

图片14

注入到explorer.exe进程中的病毒检测当前所注入的进程名称,如果不是setup.exe,control.exe,HELPCTR.exe时,病毒会创建一个线程,在线程中检测是否是注入到explorer.exe中,如果是病毒就开始执行主要功能。如果不是explorer.exe,则退出运行。

图片15

病毒检测注入进程的ID是否是explorer.exe进程。如果则置为全局事件,结束刚才验证是否注入成功的进程。

图片16

置位全局事件。

图片17

图片18

病毒它建驱动服务程序,并验证是否运行起来,如果创建的驱动服务没有运行,就会调用CreateService他建服务,并启动服务。

图片19

病毒创建RING3服务程序。

图片20

病毒创建RING3服务文件。

 

 

原创作者:sev7n

SP地址:http://www.secpulse.com/archives/206.html 

源链接

Hacking more

...