Assassin_ 发表于 2019-6-26 09:14

PC木马分析


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


## 0x01 样本信息
样本MD5:067C37A6C5CFF406520914AABACA3136
样本大小: 537K
语言: Delphi
来源:
https://www.virustotal.com/gui/file/9ae664348eb29f92142f177b1abb142ca93bb35246165e8fc62f965d337be71b/detection

查壳,Delphi编写


## 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脚本

Assassin_ 发表于 2019-6-26 09:55

willJ 发表于 2019-6-26 09:46
楼主,有个图裂了,能不能处理下。"资源解码,该处应该为配置文件"这句话下面的图。

感谢,已处理,之后会输出更多分析贴和一些破解贴,为社区知识共享做些事情。

Assassin_ 发表于 2019-6-28 07:26

龙少少 发表于 2019-6-27 23:43
这个是什么图

这是该木马利用jmp乱序后ida截的图,不过可以开启run跟踪,这样可以防止在后边分析时,跳的头晕

willJ 发表于 2019-6-26 09:46

楼主,有个图裂了,能不能处理下。"资源解码,该处应该为配置文件"这句话下面的图。

西元世纪爱 发表于 2019-6-26 10:36

感谢分享经验

安尼大大 发表于 2019-6-26 10:37

强大佬木马

hinome 发表于 2019-6-26 11:08

学习了。这个赞啊

zt185 发表于 2019-6-26 11:46

学习了好教程,楼主好强大!

you920928 发表于 2019-6-26 11:59

非常详细,感谢楼主分享干货

feob 发表于 2019-6-26 12:24

问下这个能杀毒吗

20175156 发表于 2019-6-26 12:39

我这辈子都看不懂这些了 很后悔
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: PC木马分析