这是之前的勒索病毒样本,一直没有好好分析,在找工作期间决定好好分析,也当是复习,这是我第一次发帖,如有不足,请各位指出。
编译时间: 2017年4月13日, 15:30:22
编译平台:Microsoft Visual C++ 6.0
是否有壳: 无
MD5::DBD5BEDE15DE51F6E5718B2CA470FC3F
SHA1::863F5956863D793298D92610377B705F85FA42B5
CRC32::1386DD7A
病毒行为:1.拷贝自身到系统目录 2.添加服务自启动 3.自删除 4.建立指定套接字连接...
文件名称:1.exe
编译时间: 2017年4月13日, 15:30:22
编译平台:Microsoft Visual C++ 6.0
是否有壳: 无
MD5::DBD5BEDE15DE51F6E5718B2CA470FC3F
SHA1::863F5956863D793298D92610377B705F85FA42B5
CRC32::1386DD7A
病毒行为:1.拷贝自身到系统目录 2.添加服务自启动 3.自删除 4.建立指定套接字连接...
样本无壳,但含附加数据
用火绒剑分析病毒行为,可以猜测病毒 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
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-2-2 13:36
被比海更深.编辑
,原因: