首先查壳,VC++

静态分析IDA

函数402020分析:

从查看到的strings中找到了DOWNLOAD、UPLOAD等特征字符串,从而查看引用来到402020

可见,这个函数相当于恶意代码的menu模块,提供了上传、下载、远程cmd、休眠sleep等功能

当开发者把功能写得非常框架、非常模块化的时候,逆向分析人员也是可以很好的去破解其思路。

如果开发者为了防止别人的破解,就需要在自己开发的层面上,给自己和破解者施加更多的难题,本身就是一件竞争起来很好玩的事情。


根据menu,4019E0为UploadFunc

关键API提示的很明显,新建文件,通过SOCKET通信来复制并写入文件


401870为DownloadFunc


401790是CmdFunc


然后把其他的函数块浏览一下,基本都是辅助功能了,比如401D10

利用随机数,产生数字或者字母


猜测恶意代码的功能:

连接远程服务器,该程序作为木马程序客户端,负责与远程相连接,可以下载、上传、并提供本地的cmd命令行。


问题1:运行程序时发生了什么

双击程序运行,文件夹的该程序被自身删除了


问题2:为什么不能动态分析,其他方式运行程序

拖入OD中是正常运行的,其他的动态静态分析可以结合注册表和IceSword来分析


然后从书中的答案中看到

恶意代码会使用cmd.exe del来删除自身

"C:\WINDOWS\system32\cmd.exe" /c del C:\DOCUME~1\ADMINI~1\Desktop\Lab03-04.exe >> NUL



剩下的实验部分需要等到第九章0901来做~按照顺序做会比较好吧


https://hunted.codes/writeups/challenges/practical-malware-analysis/practical-malware-analysis-lab-3-4/

https://debug.fail/2015/10/practical-malware-analysis-lab-walkthrough-3-4/