PC木马分析

本帖最后由 Assassin_ 于 2019-6-26 09:53 编辑

Dephi- 木马分析

0x0 前言

样本本身为Dephi编写,本人并不精通dephi编写的思路,所以如果存在纰漏或者错误,还请指出,共同进步。样本本身因为存在混淆,乱序,并且我没有找到可以去混淆乱序的工具,只能手动调试。看起来比较麻烦。适合新手。

0x01 样本信息

样本MD5:  067C37A6C5CFF406520914AABACA3136
样本大小: 537K
语言: Dephi
来源:
https://www.virustotal.com/gui/file/9ae664348eb29f92142f177b1abb142ca93bb35246165e8fc62f965d337be71b/detection

查壳,Dephi编写

0x02 环境与工具

Win 32、OD、IDA、python

0x03 分析

原始样本分析

寻找突破口

整体看结构,比较清晰。

进入第一个函数中 InitExe()中。找到关键点

动态调试,查看赋值起始地址为 0x00453FD0

看到这些函数指针,猜测这里应该是初始化的时候依次调用,联想C语言中的init函数,这里很可能存在恶意代码

通过排查,发现倒数第二函数,为关键函数

至此我们就发现了关键点,接下来就动态了,这里说一句,可能读者会想为什么是这里呢?其实我也是慢慢调试出来的,虽然不可能完全正确,但是恶意行为发生在这里,我们不可能所有语言都了解,当遇到一种不熟悉甚至可能是陌生的语言环境,能够最快的上手这才能够达标。如果这一切如果能有理论支撑,才算比较好的操作。

第一次解密运行

接下来动态调试

进入函数发现很多无用代码和内存申请在赋值在释放的过程,并且存在sleep过程,该过程耗时较长,猜测可能是防止沙箱等检测。

经过等待之后,再次申请0X5E4D的空间并异或解密赋值,通过push\ret操作,指向解密代码


乱序+各种简单反调试

当看到这些乱序代码时,可以暂时开启run跟踪功能,耐心一点就可以。

首先根据PEB找到Kernel模块,然后通过导出表找到对应API


样本先找到VirtualAlloc地址,通过调用申请空间,接下来将得到的API地址和模块地址全部存放在该空间

创建快照,遍历进程,记录其PID和name


接下来就是一些简单的反调试

1) 通过CPUID获取处理器然后比较

2) 比较文件名反调试



3) 反杀软

4) 反调试器反MS工具

5) 通过API反调试

6) PEB结构反调试

获取资源

资源解码,该处应该为配置文件

再次检测avp.exe、bdagent.exe、bdwtxag.exe、dwengine.exe进程,在后边代码中,还存在多次简单的反调试,不过利用论坛调试器可以直接略过

第二次解密运行

根据配置文件多次解密资源文件,并拷贝,每次拷贝0x314的大小,拷贝0x87次,解密前

重新排列解码后为一PE文件

再次以挂起的形式创建进程

利用CreateSection注入代码

木马文件分析

得到上边的PE文件,IDA查看,发现一个很简单的代码填充,编写一个简单脚本过掉

动态加载所需dll

查看权限,提权

获取用户名并且遍历注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下的所有子键,查看是否存在UninstallString的项,以此获取计算机安装的软件信息



OEL操作,可以看到PWDFILE0YUIPKDFILE0YUICRYPTED0YUI1.0这样的字样

循环调用,获取各种FTP各种信息



发送所得信息到 http://vman23.com/ab4/gate.php

之后与http://vman23.com/ab4/ab4.exe通信,获取ab4.exe


写入文件,并执行,由于该链接已失效,所以不能知道该exe文件作用


扩大战果

尝试爆破该计算机其他用户,同样获取信息,并发送

清理痕迹

最后创建bat文件,并执行,删除该文件和bat文件。


总结

当调试完毕之后,发现还是很简单的。练下基本功,回顾一下IDA脚本和自己的耐心值还是有帮助的。

附件中为样本和IDA python脚本

sample.zip

(283.19 KB, 下载次数: 1)

2019-6-26 09:11 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB

[/md]

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
管埋员的头像-小北的自留地

昵称

取消
昵称