【软件逆向-Dll劫持在恶意样本中的使用】此文章归类为:软件逆向。
样本来源:
abcK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1j5Y4y4Q4x3X3g2C8j5h3k6S2L8W2)9J5k6h3y4F1i4K6u0r3N6r3S2J5k6h3q4V1i4K6u0V1x3U0t1%4z5e0R3#2x3q4)9J5k6o6q4Q4x3X3b7I4i4K6u0W2K9s2c8E0L8l9`.`.
感谢分享~
文件分析
SHA256:6c17a87db32dc5bebcf2026e0ca64b3e0de01e4ad01098b95eaacd170f2b61b9
程序大小达到了111MB

我们利用微步云沙箱进行初步分析,可以发现,程序已被判为恶意,

通过沙箱的动态检测功能,可以大致了解文件行为,为后续详细分析打下基础

行为分析
进程行为
我们可以看到,子进程还是比较多的,主要分为了三个部分,第一部分是7z解压模块,这是个白文件


第二部分是用于伪装的todesk安装包,属于白文件
第三部分比较可疑,无签名,我们之后主要分析这块,我们使用微步云沙箱也可以直接检测出,该文件属于恶意

文件行为
我们可以看到大部分我们在进程行为中看到的内容都在TEMP目录下


其中压缩包设有密码
注册表行为
我们可以看到在计划任务中存在进程文件中main的子进程调用的文件

网络行为

写入x情报社区,可以看到恶意通信部分

详细分析
因为行为分析效果比较好,找到了可以函数,我们在这就不对主程序做详细分析了,目前我们清楚其释放文件如下
我们可以针对性地找找压缩包地密码,随后根据分析出来的函数名就可以找到核心地解密位置,以及解密密码(installs)

然后我们就可以看到内容的确就是同目录下的俩个文件
我们来看下main.exe,我们单独对其进行行为分析
可以看到这个程序也有与主程序类似的行为,在TEMP创建文件夹,然后调用文件夹内的程序,区别在与,在该文件夹中找不到zip包了

main也是golang编写的,首先利用获取了随机UUID

然后获取temp路径连接uuid形成文件夹路径

从数据段解密出zip文件,不落地直接解密,所以这次没有zip包了

创建了一个wuying_focusmode.exe.db存放267-2:4-5-24;字符串,后续会作为网络连接参数读入

之后就是创建计划任务和执行下一段文件了

然后就是进程树中的最后一块了。

网络行为也出自这块

在这段中,wuying程序调用了一遍自身,经分析,发现此位置利用dll劫持,在同目录下伪造vcruntime140.dll黑文件

在dll中伪造如下导出函数,在dllmain中修改主程序entry位如下所示,跳转黑dll messageboxWS


然后再该函数中获取同名.dump文件然后解密形成zlib,然后解压形成shellcode


根据上面这几点,我们猜测shellcode也利用此参数执行,下面是验证
带参时

不带参时

所以只有在带参时才会连接目标
最后我们可以找到shellcode调用mswsock.dll进行网络连接

IOC
目前x情报社区已将此ip识别为恶意

更多【软件逆向-Dll劫持在恶意样本中的使用】相关视频教程:www.yxfzedu.com