利用win消息机制的木马

作者丨黑蛋

一、木马简述

文件名称
9dfd124ca235aa3d8434afbb0167581ff2f35ad0ab142ee5bdff0ff29b64d542
文件类型(Magic)
PE32 executable (GUI) Intel 80386, for MS Windows
文件大小
271.00KB
SHA256
9dfd124ca235aa3d8434afbb0167581ff2f35ad0ab142ee5bdff0ff29b64d542
SHA1
65daf6d722b71ff56ef0f01b4aa734e898ad45ae
MD5
b86bae39ddf878d71b0e66e4c5c261cf
CRC32
F4C3B4C7
SSDEEP
6144:NFsvQdbzv31yLFytJNTBq2O6mFeTeM/onN6b:NFskvkRyXNTs22JMAnN6b
ImpHash
df2445056bd741fc6eaccc3bc5cb3437
Tags
PE32,pdb_path,resource_embedded_pe,lang_chinese,encrypt_algorithm

二、环境准备

没有配置win10环境,我这里就用win7了。

操作系统

win7x86

三、行为分析

打开火绒剑,打开监视,然后打开木马:

 

运行一会,木马本体就消失了。简单进行一下动作过滤:

 

首先可以看见创建了俩个文件,hao123网址导航和一个delselt.bat文件,然后就是一些注册表操作,修改了浏览器首页网址;接下来静态看一下,找到winmain函数:

利用win消息机制的木马_第1张图片

利用win消息机制的木马_第2张图片

利用win消息机制的木马_第3张图片

利用win消息机制的木马_第4张图片 

利用win消息机制的木马_第5张图片 

 

并没有看到什么恶意代码,全是一些有关于Windows消息机制的函数。 

 

四、动态调试

细节不再赘述,因为创建hao123网址导航是前期行为,我们根据生成导航图标为现象追踪主要函数:

 


删除这个图标,根据在哪个函数生成这个图标为标准:
主函数:

 

对应静态分析winmain中的几个函数:

 

最后跟到CreateWindowExW函数,这里下断点:

 

看参数,是一个隐形窗口:

WS_EX_TOOLWINDOW
0x00000080L
该窗口旨在用作浮动工具栏。 工具窗口具有短于普通标题栏的标题栏和使用较小的字体绘制的窗口标题。 工具窗口不会显示在任务栏中,也不会显示在用户按下 Alt+TAB 时出现的对话框中。 如果工具窗口有系统菜单,则其图标不会显示在标题栏上。 但是,可以通过右键单击或键入 Alt+SPACE 来显示系统菜单。

走过这个call CreateWindowExW函数,图标就显示出来了,但是这个函数并没有这个功能,考虑到了静态分析中出现好多关于Windows消息的函数,这里可能与消息处理有关。查找资料,我们可以得知CreateWindow会给窗口发送四个消息:

// CreateWindow函数触发了这四个消息
[2010-05-24 23:35:38]WM_NCCREATE->129        // 非客户区创建
[2010-05-24 23:35:38]WM_NCCALCSIZE->131       // 非客户区计算尺寸
[2010-05-24 23:35:38]WM_CREATE->1          //  窗口创建
AfterCreateWindow!
[2010-05-24 23:35:38]WM_SHOWWINDOW->24           

接下来我们再看俩个函数:

利用win消息机制的木马_第6张图片

利用win消息机制的木马_第7张图片 

 



这样就可以捋一捋,程序自己接收消息自行处理,而处理的代码处于WNDCLASSEX结构体中,而这个结构体是RegisterClass函数参数,函数返回值是一个class参数,用于CreateWindows函数第二个参数,因为CreateWindows需要RegisterClass对窗口类进行注册,我们对RegisterClass函数下断点:

利用win消息机制的木马_第8张图片

利用win消息机制的木马_第9张图片 

 



然后重新运行程序,每次断在这个函数,我们单步出去观察返回值,直到走到CreateWindows函数,观察class参数:

 

最终确定是这里的RegisterClass:

利用win消息机制的木马_第10张图片

 

具体流程有点麻烦不在赘述。与时俱进,不写流程图,接下来我们查看参数结构体第三位:

利用win消息机制的木马_第11张图片 

 


在这里下断点,这里应该就是处理消息的地方,F9走到CreateWindowExW,然后F8,成功断在了刚才下断点的地方:

 

而此时图标还没生成,从这里调试,下面是关键call:

利用win消息机制的木马_第12张图片

利用win消息机制的木马_第13张图片


这里就是恶意行为地址了,这里是一个Switch函数,通过比较消息码,做出不同行为,在这里下断点,F9,第三次的时候就走入第一个call,跟进去:

 

 

 

 

利用win消息机制的木马_第14张图片

 

可以看到这里是对注册表设置,修改浏览器首页操作,生成文件夹,生成hao123.exe,生成快捷方式的操作

 

 

之后就是通过不同消息调用不同call,生成一个bat文件,内容如下:

:Repeat
del "C:\Users\rkvir\Desktop\UExplorerTran.exe"
if exist "C:\Users\rkvir\Desktop\UExplorerTran.exe" goto Repeat
del "C:\Users\rkvir\Desktop\\delselt.bat"

在窗口关闭的时候,调用bat文件删除自身以及bat文件。这就是这个木马的主要功能。

你可能感兴趣的:(漏洞,windows)