勒索软件病毒分析

勒索软件病毒分析报告

目录

☛ 1.病毒样本概况

  • 1.本病毒感染后,将文本加密,生成勒索文本和图片
  • 2.重启后,弹出勒索.txt和.png的界面,告知用户,此机器的文件已被RAS4096加密,如解密文件,需要登录网址支付比特币

  • 3.将其拖入 http://www.virustotal.com 去分析,发现67个杀毒软件中有30个报毒。确认其属性

☛ 2.样本信息

1.使用 Hash 查看样本信息

2.病毒主要行为
样本运行后删除了本身的文件,拷贝了一份隐藏文件在C盘,将自身删除,并将其隐藏为cmd启动,不断感染遍历目录感染文件,并通过遍历进程,关闭进程管理器,服务,进程工具及组策略,cmd

☛ 3.测试环境及工具

1.测试环境:Windows 7
测试工具:火绒剑、PcHunter、IDA、X32dbg、LoadPE

☛ 4.具体行为分析

1.主要行为,通过火绒剑分析发现:

  • 该病毒将自身释放了,但将其复制到了C:Users15pb-win7Documents下,将其命名为giiknr.exe(此名字每次运行病毒时不一样),并将其隐藏了,且通过命令行的方式打开执行此文件,设置注册表自启动


  • 根据打开样本,可提取到病毒样本

  • 跟踪到文件下,发现病毒为隐藏文件

  • 遍历目录,为感染的病毒下,添加 .txtpng 文件

  • 通过 PCHunter,发现修改了启动项;重启后发现,启动项病毒将自己隐藏为cmd

  • 通过 PEiD 发现,此程序为一个VC6.0程序,根据区段判断,此程序没有加壳

2.恶意代码分析

  • 1.跟进程序后发现该程序在入口点后,第一个call就出现了大量的混淆代码,尝试单步跟踪,浪费了大量时间,且不能准确的单步知道哪个函数的调用的返回值的用途。于是,回想对程序的行为分析时,复制本身,创建了进程。于是对CreateProcessA和CreateProcessW下API断点,发现在CreateProcessW断下来了,且创建进程以挂起的方式创建进程

  • 2.通过下WirteProcessMemory断点发现,写入内存的基地是400000,似乎将原来的PE给覆盖了

  • 3.尝试让断点断到,但似乎做了还有别的操作,多次断下,猜想应该是在写内存时,多次申请内存空间,通过下API断点,发现在VirtualAllocEX下申请内存,然后写如内存

  • 4.发现多次申请内存,多次写入内存,填写为一个完整的PE文件,尝试将此文件dump下来,进行分析,利用WirteProcessMemory下API断点,再其恢复进程之前将其dump下来,修改入口点和大小,得到其执行恶意代码的部分,使用PEID扫描,发现连接器版本为10.0,为vs2010的

  • 5.通过IDA静态分析:发现了红获取当前用户的进程访问进程令牌的

  • 6.在继续往下分析,发现了运行样本时,通过火绒剑猜想的创建了一个新进程,运行病毒的代码片段,发现若是这个进程没有存在过,则就创建此进程,且退出此进程。猜想应该是想删除此样本文件,创建隐藏进程在C:User15-pbwinDocuments目录下

  • 7.若恶意代码的进程以创建,再继续往下分析,在sub_401860这个函数这发现了读取文件的代码:

  • 8.继续往下分析,发现了提权的代码

  • 9.继续往下分析,发现在sub_402940这个函数中有与修改注册表有关的函数,通过前面的火绒剑与pcHunter的分析,猜测此函数用于设置病毒为启动项

  • 10.在sub_407570这个函数下,发现了调用另一个函数sub_406EB0的返回值,于是通过动态分析发现sub_406EB0,这个函数下用于监视一些进程,一旦发现,便将其结束掉

  • 11.一下几个函数,经过分析,发现

  • 12.继续往下分析,发现了遍历磁盘,以及遍历目录的函数

☛ 5.小结

  • 勒索病毒是最常见的免杀手段就是加混淆,类似壳,病毒往往会停在这个地方,但经过周密的分析还是可以提取到恶意代码,然后进一步分析




原文地址:https://www.cnblogs.com/Get-Me/p/ea2431c3d207a15775bb8f2bbdb95507.html