本文为看雪论坛优秀文章
看雪论坛作者ID:比海更深.
这是之前的勒索病毒样本,一直没有好好分析,在找工作期间决定好好分析,也当是复习,这是我第一次发帖,如有不足,请各位指出。
文件名称:1.exe
编译时间: 2017年4月13日, 15:30:22
编译平台:Microsoft Visual C++ 6.0
是否有壳: 无
MD5::DBD5BEDE15DE51F6E5718B2CA470FC3F
SHA1::863F5956863D793298D92610377B705F85FA42B5
CRC32::1386DD7A
病毒行为:
样本无壳,但含附加数据:
用火绒剑分析病毒行为,可以猜测病毒 1.exe 先自我复制,重命名为 dlojuo,随后删除自身,修改注册表,并添加启动项。
这是病毒常见的傀儡进程操作,后面的是一些网络行为和加密目标文件,这里就不截图了。
OD加载样本,程序在执行完 004118D6 直接跑飞到 774D64F4,进入函数4118B4查看情况:
4118B4 里面全部都是密密麻麻的 JE 跳转,这里就得改变一下思路。火绒剑分析病毒会创建进程,直接下 CreateProcessW/A 断点,然后F9跑起来。
程序断下来了,可以看出,子程序以挂起方式创建,栈回溯发现地址太小,猜测是 VirtualAlloc申请出来的空间,一般申请空间后会使用 WriteProcessMemory 往空间写入,接着 VirtualAlloc 、WriteProcessMemory 下断点。
程序断了下来,申请的空间很小,写入内容为乱码,不是我们要找的内存,程序接着断在 Virtualloc:
申请的空间很大,写入的是PE文件,这块内存才是真正的病毒程序 dlojuo ,选中这块内存右键直接 dump:
将dump后的程序拖进 IDA、OD 详细分析
病毒会自我复制,在CopyFileW下断点,被复制的程序会在 C:\Users\用户名\Documents\下创建子程序,文件名为6位数随机字母,栈回溯去到4074CE
往上翻看后发现有拼接字符串的操作,重新运行程序发现这里拼接的是病毒程序路径,之后打开C:\Users\15pb-win7\Documents\1_dump.exe的程序,如果没有,则返回错误码0x2h,这里jnz跳转条件不成立,为了方便后续分析,这里更改为无条件跳转。
接着往下单步可以发现这里调用GetFunctionAddr获取API CreateMutexW创建互斥体,然后在下面call eax处调用,防止病毒程序多开,之后获取系统版本信息:
打开IDA 静态接着分析,接下来,一些不重要的函数就直接跳过不分析了:
发现 PowerRaising_4108F0 函数进行提权操作:
线程回调函数 sub_406EB0函数枚举当前运行的进程,查找是否有进程名为taskmg、regedi、procex、msconfi、cmd的进程在运行,若在运行,
则结束该进程。
线程回调函数 4072A0通过 ShellExecuteExW 执行程序:
动态调试后猜测是要删除程序,看不懂:
线程回调函数413180主要作用是连接网络,将数据发送被作者,下面是病毒用到的URL:
接着来到重点线程回调函数401710,往下分析来到 401920 ,该函数是整个程序的重点:
401920 函数获取驱动器信息,并调用 EnumDriveDir遍历磁盘:
进入EnumDriveDir函数,里面递归遍历磁盘文件:
EncodeFile_401CD0 函数是加密函数,可以判断上面的表达式是筛选符合后缀的文件,对其进行加密操作:
我之前通过IDA流程图找到关键函数sub_402170, 该函数作用是在内存中解密字符串,动态跟踪函数:
函数内先后解密出了大量字符串,动态跟踪时注意堆栈中出现的字符串:
观察调用call的返回信息可以发现有非常多的字符串 ,下面就不一一截图了,只截一些关键的字符串。
被加密文件的命名:
生成勒索文本的字符串:
上面的那个判断就是根据这些后缀名进行筛选:
绕远了,下面接着分析 加密函数401CD0,进入查看:
这里需要配合OD动态调试:
设置文件属性,随后将文件读取到内存中,读取128个字节:
判断文件开头128位是否为空,为空则跳转调用RtlAllocateHeap申请堆空间,这个判断是 被加密文件的特征:
之后设置文件指针到文件头部,写入加密后的文本,写入成功程序继续运行,写入失败则释放堆空间,并关闭句柄:
成功后跳转401f01,第二次申请堆空间:
往下跑第二个函数就是勒索病毒所使用的加密算法:
IDA中显示:
算法片段:
无解,病毒所使用的加密算法为RSA4096,经网上查询为不可逆,有能力的朋友可以自己研究研究。
开启防火墙,及时给杀软和操作系统打补丁,别点来历不明的文件。
看雪ID:比海更深.
https://bbs.pediy.com/user-847202.htm
推荐文章++++
* 实战栈溢出漏洞
好书推荐