Hyabcd 发表于 2015-10-17 14:37

论坛样本分析之利用进程注入进行恶意推广木马分析

    样本地址:http://www.52pojie.cn/forum.php?mod=viewthread&tid=413854&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline&page=1
    附上火眼分析结果:http://fireeye.ijinshan.com/analyse.html?md5=f6ac065fc911cb828deda90e20b0715d&sha1=4712ce42205e35b79fb525458eb5368f2aa57aaa&type=1
    可以看出,这是一个dll动态链接库文件,而这类木马一般是作者用修改过的dll来替换掉原先系统存在的正确的dll,当程序调用该dll时就会执行恶意功能。通过在各个磁盘搜索后发现这是酷狗音乐文件夹下的一个dll文件,而在同一文件夹内还发现了一个名为active_desktop_launcher.exe的可执行文件,初步推测该程序调用了active_desktop_render.dll。因此可以使用OD逆向active_desktop_launcher.exe从而找到恶意代码所在。
    首先用OD加载active_desktop_render.dll看一下导出函数,可以发现仅有两个导出函数,而且都和hook相关,如图所示。

    这时候用OD加载active_desktop_launcher.exe,让程序运行到调用SetDesktopMonitorHook处,即可到达active_desktop_render.dll领空,在分别观察正确的dll和被修改过的dll的代码即可发现两者的不同,如图所示。

    不难发现,两者SetDesktopMonitorHook函数内容完全不同,因此木马dll即是通过修改SetDesktopMonitorHook函数的内容来完成恶意功能的。现在就来对该部分内容进行深入分析。
    首先通过中文搜索引擎即可看出该部分创建了及其多的注册表项(如图所示),至于有何作用一会将进行分析。

    除此之外,程序还通过修改注册表项试图干掉杀软,不过个人感觉并没什么卵用,如果杀软能够这么轻易被干掉就徒有虚名了。不过由于我是在虚拟机内进行操作的,并没有杀软存在,所以这种干掉杀软的操作效果如何我并不敢乱下结论,感兴趣的可以试试。
    继续跟进可以从一些关键字发现该木马是用易语言的黑月模块编写的。这也是分析的突破点,因为黑月模块为了达到免杀的效果会将一些重要的api的地址存放在一段内存中,当调用api的时候通过一个jmp跳到系统领空,而不是一般程序的直接调用,这样在输入表中就无法查找到这些重要的api。不过这也有个弊端,逆向分析者可以通过这部分内存发现程序使用的重要api,从而推断该程序的功能。因此找到这块地方就能方便我们逆向分析。(如图所示)

    可以看出,这部分的函数大多与注入操作有关。先简要介绍下注入的过程(小白观点,大牛勿喷)。注入应该称为进程注入。那么什么叫做进程注入,就是将恶意代码写入到正在运行的进程的某块地方,然后修改eip,使该进程执行写入的代码,从而达到运行恶意代码的目的。那么具体操作如何呢,首先先调用CreateProcess创建一个进程,一般情况下这个进程是已经存在的,这么做的目的只是为了获取进程句柄,除此之外进程还得设为挂起状态,否则无法进行注入。然后再调用GetThreadContext函数获取线程上下文,主要是为了获取该进程运行时各寄存器的信息,特别是eip这个寄存器,到时候可以修改该值来指定运行的内容。接着是调用ReadProcessMemory函数,用来获取欲修改部分的内容。然后调用ZwUnmapViewOfSection函数和VirtualAllocEx函数来卸载该部分内容并重新分配内存空间。再然后就是关键的函数WriteProcessMemory 函数,将自身代码写入到该内存空间中,这样该进程中的指定部分的代码就成为了恶意代码了。然后调用SetThreadContext函数设置线程上下文,将eip修改为恶意代码所在区域的开头。最后调用ResumeThread恢复进程状态,当进程状态恢复后进程将由挂起状态回到运行状态,进程一运行就运行eip所指向的代码部分,也就是恶意代码的部分,整个注入进程的过程也就成功完成了。
    在我的虚拟机中,该木马程序尝试对winlogon.exe,smss.exe,svchost.exe等多个进程进行注入,最后注入svchost.exe成功(注入失败时都会通过TerminateProcess函数来恢复进程)。为了方便调试,找到所注入的svchost.exe,并寻找到注入的区域,通过ollydump将该区域dump下来,修改一下内存偏移,就能得到一个具有恶意功能的exe可执行文件。对该exe进行分析就是对注入的代码进行分析。
    由于同样是用黑月模块进行编写的,可以轻易查看所使用的关键api,通过查看可以发现在该部分依然有进程注入相关函数存在,除此之外还有创建窗口,提权等相关函数存在。如图所示。

    除了这些之外还发现程序通过cmd命令行创建若干文件并设置相关属性。如图所示。

   通过观察可以看出,该程序使用的是“cmd /c attrib +s +h +r "文件路径" & Echo Y|cacls "文件路径" /T /C /P everyone:N 来设置文件属性,该操作使文件不可读不可写,并加上NTFS权限,无法进行直接删除。从文件名称注入”BlueBox“,”HomeSafe"等可以看出该程序和这些推广软件有极大关联。
   继续跟进还发现该程序进行网络操作。如图所示。

   通过跟进 可以发现该部分从 http://ranmen.blog.163.com/blog/static/2517480342015784855665和 http://blog.sina.com.cn/u/2002145437两个网页中读取相关内容,通过访问这网页可以发现这又是个老套路,用网页内容来“藏”一些代码进行操作,最后进行读取再通过程序进行操作。(如图所示)。

    继续跟进发现该程序将读取的这些东西作为注册表的键值存放在之前创建的注册表项中,这也是一种存储恶意代码的方法,通过注册表键值来进行存储。继续跟进发现程序对这些东西进行解密,最后生成的竟然是一个网址www.nhfans.com/?tn=9876688_hao2345_pg,打开看发现是2345网址导航。。。以2345的前科来看,推广软件无疑,只想说,万恶的2345{:17_1083:}。
   所以通过这次分析能够深刻的了解到注入进程的操作是如何实现的,也是受益匪浅。{:17_1062:}


Hyabcd 发表于 2015-10-17 14:39

表示有没有社工大神能够帮忙社出这个作者,我查看了一下和他相关的东西,发现这貌似是个易语言很牛逼的人,不过还是无法获取到太多信息。{:17_1062:}

Hmily 发表于 2015-11-4 19:13

康小泡 发表于 2015-10-21 09:37
360招样本分析实习生

我看得和公司hr说一声,给你发个奖章奖金什么的。。。

Nian 发表于 2015-10-17 14:42

我觉得会社工的人好厉害的!{:301_991:}

hjgbil 发表于 2015-10-17 14:58

LZ好厉害,顶!

851365960 发表于 2015-10-17 15:12

楼主辛苦了。

康小泡 发表于 2015-10-17 16:18

楼主是一直在做病毒分析吗?

Hyabcd 发表于 2015-10-17 16:25

康小泡 发表于 2015-10-17 16:18
楼主是一直在做病毒分析吗?

{:17_1089:}我只是个学森

康小泡 发表于 2015-10-18 19:11

Hyabcd 发表于 2015-10-17 16:25
我只是个学森

不错啊,大几了啊

闲月疏云 发表于 2015-10-18 20:22

绕了一大堆就为了2345,醉了

Hyabcd 发表于 2015-10-18 22:00

康小泡 发表于 2015-10-18 19:11
不错啊,大几了啊

{:17_1062:}大三。。。。
页: [1] 2 3
查看完整版本: 论坛样本分析之利用进程注入进行恶意推广木马分析