首页
社区
课程
招聘
[原创]恶意代码GINA拦截样本分析
发表于: 2021-5-24 02:14 7697

[原创]恶意代码GINA拦截样本分析

2021-5-24 02:14
7697

本文分析的是《恶意代码分析实战》书中的样本Lab11-01.exe
分析工具:
Windows XP系统
Vmware虚拟机
PEiD
火绒剑
Regshot
IDA Pro
拿到样本后首先进行静态分析
1、PEiD查壳
可以看到这个样本没有壳,并且是一个控制台程序
2、提取字符串

这里出现了GinaDLL、msgina32.dll、开机自启动的注册表项
初步判断GINA拦截恶意代码,并且很可能通过修改注册表项随着系统启动自启动

这里有很多函数名,一会儿细说
3、导入导出函数表

导入函数中有提取资源节和文件操作的相关函数,说明这个程序有PE文件操作,所以我们看一下这个程序的PE文件有什么问题
4、PE view查看PE文件

果然有问题,我们在这个PE文件中发现了一个TGAD的陌生资源节,进去一看是一个完整的PE文件格式,也就是说,这个恶意代码的PE文件里嵌套了一个PE文件。

 

到这里静态分析就差不多到极限了,开始动态分析。
这里我用的工具是火绒剑和Regshot。
首先用Regshot拍摄注册表状态。
然后双击运行恶意代码。
发现火绒键查看进程并没有明显变化。运行时可以看到有一个窗口一闪而过。
恶意代码在自己的目录下创建了msgina32.dll文件,感觉和之前提到的提取资源节的操作有关,先留个疑点。

注册表拍摄第二次之后对比,修改了三个值,但是没什么帮助。

到这里我们可以看出exe文件只是一个安装器,运行之后就会安装msgina32.dll文件,所以后面的分析重点就在msgina32.dll上

 

分析msgina32.dll:
还是那个流程
1、先静态分析,提取字符串

开机自启动(修改注册表Winlogon项)、"UN %s DM %s PW %s OLD %s"疑似记录什么信息和密码的字符串、msutil32.sys不清楚是什么,留个疑点,一些函数名
2、之前留的疑点msgina32.dll是否和提取资源节操作有关,现在可以通过查看msgina32.dll的PE文件验证了

对比发现,PE文件和之前exe文件内嵌的不明PE文件完全相同,证明msgina32.dll是从Lab11-01.exe中提取出来的。
3、导入导出函数表:

导入表中貌似有字符串操作,没什么其他的了

导出表中有大量Wlx开头的函数,这个是GINA拦截的特征,还有一些注册表操作
这里基本可以确定恶意代码的主要行为就是实现GINA拦截,并且通过修改注册表实现系统开机的自启动
4、IDA Pro分析:
将msgina32.dll拖入IDA Pro。
首先从入口Dillmain分析。
先大致浏览一下,按下空格键,大体是个选择结构,结构还不复杂。

开始细致分析。


恶意代码先检查参数,检查通过后继续执行,不通过跳转到后面。

继续执行的代码调取系统目录,这里出现了一个字符串"\MSGina",LoadLibraryW获取动态链接库句柄

可以看出恶意代码想要获取Windows DLL msgina.dll的句柄来实现GINA拦截,这里也可以看出恶意dll的命名msgina32.dll与正规的Windows DLL命名很相近,显然是为了起到迷惑分析人员的作用

 

之后恶意代码将获取的句柄保存在变量hLibModule中,以便使用msgina.dll中的函数,用FreeLibraryW释放动态链接库,至此dllmain函数执行完毕。

 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2021-5-24 02:16 被fickle编辑 ,原因:
上传的附件:
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回