俄罗斯套娃式的.net样本分析

前言

原来没有分析过.net的恶意程序,偶然发现了一个使用了Agent Tesla间谍软件生成的木马,看到有不少分析的文章了,就自己分析一下,记录一下分析过程。

描述

原始文件是由c#编写的,内部包含两个资源,一个是图片,另一个是DLL文件。程序运行时会先将DLL文件在内存中释放出来。然后在DLL文件中使用解密函数将图片中隐藏的文件解密出来。隐藏的文件会设置计划任务,并解密出来一个PE文件来执行窃密操作。

.net分析

静态查看

使用dnspy对.net文件进行调试,https://github.com/0xd4d/dnSpy/releases ,在这里进行下载。

dnspy左侧是一些程序集,右侧是程序集对应的代码
俄罗斯套娃式的.net样本分析

先静态看看有什么内容,发现有两个资源,一个是图片,另一个似乎是PE文件

俄罗斯套娃式的.net样本分析

关键函数应该是这里

俄罗斯套娃式的.net样本分析

原始文件调试

调试时可以在入口点停下,也可以下断点。

俄罗斯套娃式的.net样本分析

在此函数中将执行关键函数。

俄罗斯套娃式的.net样本分析

执行上述函数就会到达 PhotoDirector.dll 的函数中

俄罗斯套娃式的.net样本分析

解密DLL调试

使用自身的解密方式来进行解密操作

俄罗斯套娃式的.net样本分析

可以看到解密出来了一个PE文件

俄罗斯套娃式的.net样本分析

解密.net文件分析

将文件dump出来继续分析,将从恶意程序中解密出来的文件复制到指定目录中。

俄罗斯套娃式的.net样本分析

解密资源中的xml文件,并将其放入临时文件中

俄罗斯套娃式的.net样本分析

获取信息准备设置计划任务

俄罗斯套娃式的.net样本分析

获取schtasks.exe,设置计划任务

俄罗斯套娃式的.net样本分析

俄罗斯套娃式的.net样本分析

计划任务已设置

俄罗斯套娃式的.net样本分析

运行之后,系统就提示检测到恶意软件,然而感觉似乎没有运行啊,就猜想会不会有其他的地方又解密出来一个恶意程序。
暂时不晓得该怎样调试,就在所有的类中添加了类断点,运行之后原来在程序的入口点之前恶意文件就已经被解密了。不过这个方法是只能是在类较少的情况下使用,不然断点太多了好麻烦的。

俄罗斯套娃式的.net样本分析

PE文件分析

将程序dump下载进行分析,基本操作就是获取系统下载软件信息,窃取用户的各种账号密码,

俄罗斯套娃式的.net样本分析

获取发送信息的地址

俄罗斯套娃式的.net样本分析
拼接GET信息

俄罗斯套娃式的.net样本分析
密码字典**,用自设的用户名登录电脑

俄罗斯套娃式的.net样本分析

执行批处理文件,将恶意程序与自身删除

俄罗斯套娃式的.net样本分析

总结

看了几个不同的利用 Agent Tesla 间谍软件生成的木马,基本都是利用了图像来解密隐藏的恶意文件的,这个也许就是 Agent Tesla 的特征吧。。。
不过这个样本还是很有意思的,像是个俄罗斯套娃。。