首先查壳,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://debug.fail/2015/10/practical-malware-analysis-lab-walkthrough-3-4/