发布于2022年11月8日3年前 写在前面: 这个病毒作者已经公开了私钥,解密工具也制作出来了,我就当是学习逆向对整个病毒进行分析一下。 虚拟机环境:win10x64 网络状态:飞行模式(因为不知道会不会内网感染) 病毒样本放在百度网盘了,在后面有下载链接。 勒索复现: 下载之后有三个文件,一开始我以为运行exe就会完蛋,但是想的太简单了。 更具火绒发的报告,程序传输途径可以是某西下载园,所以exe需要放在C:\ProgramData目录下,然后还是不行,调用的的dll也要放到C:\ProgramData下,因为调用的是硬编码,应该是编程的时候放在项目文件下调用的,然后运行还是没啥动静,那个you文件是虚拟保护过的,没啥变化,最后根据收集到的信息,才知道you文件需要放到C:\Users\Public,下才可以。 第一次运行exe会在C:\Users\Public生成一个fm文件: 里面记录了第一次运行的时间: 然后第二次运行,病毒就开始工作了,表现就是虚拟机的文件全部被加密了,包括文档和压缩包,后缀多一个.WannaRen: 用二进制编辑器打开,文件头尾都有特殊关键字: 桌面有勒索信和图: 打开欣赏一下: (英文很有百度翻译的味道) 到这里整个复现就完成了,还是折腾了一点时间。 逆向分析 首先康康这个exe,很干净: 就一个导入结构,调用lib文件。 动态调试一下: RVA1272检查路径是否在指定路径下: 然后调用这个DLL之后,就退出了程序,他用的是硬编码,编程的时候dll应该是和程序放在同一个目录下: 然后就退出程序了,连createfile都没调用,看来fm文件是在这个dll里面创建。 od载入这个病毒wwlib.dll: 如果第一次动态调试的话,应该停在下面位置: 单步几下看看,程序被vmp过,而且没找到中心调度(可能有我没看到),也没找到跳转表,估计是保护全开了,程序大小也着实很大: run跟踪也没什么看的,可读性很低: 另辟其他路,之前运行的时候有创建fm这个文件,那就对CreateFileA,CreatFileW, readfile都下断点,调用这些win api是需要出虚拟机的: 然后运行,有点收获,create文件,读写权限: 之后又是读取此文件,不知道干什么。 继续f9肯定会在readfile断下: 数据窗口跟随buffer,运行到ret,说明之前的create函数就是写入时间的: 再f9 程序退出。 在之前提到,第一次运行是在public文件下创建fm文件,然后第二次才是加密,就是对这块逆向分析得到的结果,ctrl f2一下,程序停在莫名其妙的地方: 不用管他,应该是哪个api函数的断点,两次f9到入口处。 然后第一个问题出现了,程序调用依旧读取两次fm就退出了,这块浪费了时间,不知道什么操作,在第一次createfile 这个fm文件的时候,跑到文件夹删除这个fm文件,就 可以了。 此时删除: 然后开始读取这个you文件: 这个就是加密文件,读取之后,开始read: 然后buffer跟随,运行到ret,可以看到这个buffer就是you这个加密文件的数据: 再f9跑飞,重新来一遍对这个位置下硬件访问断点: f9到一个位置: 简单分析一下这块代码,992位置读取加密的数据,下面开始调用解密函数,jmp这个不要去跟踪,因为也是一个解密操作,但是没有用函数封装,跟着容易跑没了。 解密之后保存到ebx指定的位置,数据窗口中跟到: 对9C0位置下断点,f9运行到,可以取消之前下的硬件断点,不然手抖一下就要重来,下面这张截图的地址和上面不一样就是因为手抖: MZ,,DOS stub 安逸,dum出来: 程序还不能直接改成exe,因偏移地址在028处,用二进制编辑器删掉前面的东西: 保存好,修改成exe后缀,就出现了一个真正病毒程序: 这是一个易语言写的程序: 现在没什么保护措施了,静态分析一下,框架不适合start开始分析,从加密位置找找: Big_Number应该是RSA的p,q和e,xfer没看到调用的函数,crc32_table可以找到加密函数。 对这块分析,就是常规看exe程序,我放到我课程报告里面了。 对这个病毒的解密工具各家也都有了:http://bbs.huorong.cn/thread-68373-1-1.html 链接:https://pan.baidu.com/s/1xW88VoHPdw3nQutzG6utag 提取码:vzu3 复制这段内容后打开百度网盘手机App,操作更方便哦
创建帐户或登录后发表意见