恶意软件分析实战05-逆向分析Lab011-01.exe

首先查壳, 发现没有加壳。这个程序是用VC++6.0编写。

 把样本拖入VT内查看, 发现47个杀毒引擎认为其有问题。

 仔细查看一下报告, 附带有资源节

看一下它内部有的函数, 资源节肯定有问题。

 继续查看VT报告, 发现其是一个名为msgina32.dll。初步考虑是利用了Winlogon服务,对GINA进行劫持。

 注册表设了GinaDLL键验证了我的猜想。至少非常大的可能。

不管如何先用Resource Hacker把这个DLL拿出来再说。

 首先把恶意软件拖入IDA内分析:

 其中ReleaseResource是典型的释放资源节的代码就不分析了:

 完成这些步骤后就把拼搭好的msgina32.dll的路径作为参数调用了sub_401000:

 查看sub_401000的内容发现其在注册表的Winlogon下写入了GinaDll值,以传入的msgina.dll的绝对路径为数据。 这样每次用户登录后Winlogon就会调用恶意的msgina.dll

到此为止,主恶意软件的代码就分析完毕了。接下去分析msgina.dll。该DLL的代码内容也非常简单就是获取系统路径后拼搭成真实的msgina.dll的绝对路径后加载该库。

可以看到有非常多以Wlx开头的API,该DLL对绝大部分gina的API都进行了原封不动的转发,但有一个API需要特别注意,恶意软件正是通过该API来获取用户的登录凭证。那就是WlxLoggedOutSAS。

来看一下该函数的MSDN文档,可以看到在XP后,这个函数就被废弃了。

 在Winlogon调用GINA DLL时,这个函数会被调用,其中最需要关注的是PWLX_MPR_NOTIFY_INFO结构体。当该API返回值为WLS_SAS_ACTION_LOGON的时候,代表有用户登录了。PWLX_MPR_NOTIFY_INFO结构体会记录用户的登录凭证。

 可以看到这个预定义常量的值是1

来看看PWLX_MPR_NOTIFY_INFO结构体, 包含的就是用户登录凭据

WlxLoggedOutSAS被劫持后做了一些额外的操作。

确定有用户登录后,获取_WLX_MPR_NOTIFY_INFO结构体。并将用户凭据传入sub_10001570这个函数内:

查看一下该函数内部,发现保存用户凭据的痕迹。 

 为了查看到用户凭据被窃取的效果。我为Administrator用户设了密码并重启。登录后就发现被记录了。

 (完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值