RSA-4096勒索病毒分析

文章目录

  • 说明:
  • 一、样本信息:
  • 二、分析环境及工具:
  • 三、基础病毒分析:
    • 基础静态分析:
    • 基础动态分析:
  • 四、详细病毒分析:
    • 样本1分析:
    • 样本PE1分析:
  • 五、病毒行为流程总结:
  • 六、技术思考总结:
  • 七、防护建议:
  • 八、相关IOC:

说明:

  萌新一枚,这是面试过程中面试官要求分析的另外一个病毒程序,整理成文,发表出来,供大家参考学习,一起进步!如有不当之处,也希望大佬批评指正,晚辈一定虚心受教。由于考虑到时间问题还有个人能力的原因,我只将病毒关键功能模块进行分析说明,勒索算法部分没有详细分析,也请大家见谅,不懂之处欢迎提出,我也尽量解答,加油!


一、样本信息:

  • 样本名称:0ffc994e247d2b108910e8bb6de3ef57439c51af
  • 样本大小:221KB
  • MD5:9d3dbe44445624abb04bdb3bdace4fc2
  • SHA-256:7829ae7240eb4c6f5fe33c5af43e6d388f0439011c27cf609cc4d1a8b6092ec1
  • SHA-1:0ffc994e247d2b108910e8bb6de3ef57439c51af
  • VirusTotal:https://www.virustotal.com/#/file/7829ae7240eb4c6f5fe33c5af43e6d388f0439011c27cf609cc4d1a8b6092ec1/detection

二、分析环境及工具:

环境:Oracle VM VirtualBox、Windows 7 Service Pack 1(x64)
工具:PEID V0.95、OD、IDA、火绒剑

三、基础病毒分析:

基础静态分析:

为了方便测试,更改病毒名称为1,拖入PEID查壳发现乱码节区,判断程序采用了加壳方式来保护自己,壳的类型未知
RSA-4096勒索病毒分析_第1张图片
接着观察1的字符串信息和导入表,没有发现什么值得注意的信息
RSA-4096勒索病毒分析_第2张图片
RSA-4096勒索病毒分析_第3张图片

基础动态分析:

为了节约时间,这里就不截图展示了,基本思路是拖入火绒剑监控程序运行,常见的操作和推测可参考之前的文章

四、详细病毒分析:

样本1分析:

程序一拖入OD会弹出一个控制台窗口,后面程序会得到控制台窗口句柄进行隐藏,其中sub407410()函数会再内存中解密一堆数据

接着来到sub406D00()函数,程序首先获得得到kernel32.GetProcessHeap和ntdll.RtlAllocateHeap函数地址,和其它病毒程序常采用GetProcAddress函数来获取其它函数地址有所不同的是,这个恶意程序通过未文档化函数LdrGetProcedureAddress来获取其它函数地址

RSA-4096勒索病毒分析_第4张图片

然后程序遍历ntdll的导出表,加密函数名作对比得到所需要的函数RtlDecompressBuffer
RSA-4096勒索病毒分析_第5张图片
RSA-4096勒索病毒分析_第6张图片
调用RtlDecompressBuffer函数,解压数据得到新的PE文件,dump下来命名为PE1
待解压的数据
RSA-4096勒索病毒分析_第7张图片
解压后的PE数据
RSA-4096勒索病毒分析_第8张图片
下面获取一些所需的函数

之后调用VirtualAlloc函数分配新的内存空间将解压出来的PE文件复制过去并存储所需的API

RSA-4096勒索病毒分析_第9张图片
RSA-4096勒索病毒分析_第10张图片
RSA-4096勒索病毒分析_第11张图片
最终储存的函数地址
RSA-4096勒索病毒分析_第12张图片
修改此程序的内存保护属性,将数据清空
RSA-4096勒索病毒分析_第13张图片
RSA-4096勒索病毒分析_第14张图片
之后将解压出来的PE数据复制到原进程空间
RSA-4096勒索病毒分析_第15张图片
跳到新的程序入口点开始执行程序
RSA-4096勒索病毒分析_第16张图片
RSA-4096勒索病毒分析_第17张图片
为了方便分析,我直接分析dump下来的PE1文件

样本PE1分析:

先进入入口点

程序首先初始化COM库,得到9个随机字符并创建了一个COM对象
RSA-4096勒索病毒分析_第18张图片
RSA-4096勒索病毒分析_第19张图片
然后拼接出PE1:Zone.Identifier文件名并删除,是为了运行时候,没有弹窗警告

RSA-4096勒索病毒分析_第20张图片
接着得到kernel32.dll的基址,获取Wow64DisableWow64FsRedirection,Wow64RevertWow64FsRedirection地址,为了关闭和恢复64位程序和32位程序之间重定位问题

然后程序解密出一些后面所需使用的字符串数据

加密文件后缀
RSA-4096勒索病毒分析_第21张图片
网络相关信息

操作命令相关信息
RSA-4096勒索病毒分析_第22张图片
恶意域名相关信息
RSA-4096勒索病毒分析_第23张图片
勒索文本信息
RSA-4096勒索病毒分析_第24张图片
然后得到访问令牌信息
RSA-4096勒索病毒分析_第25张图片
下面得到6个随机字符串,和特殊目录路径拼接出新的文件名,将自身复制过去,设为隐藏属性,创建一个进程运行新创建的文件,并删除自己
RSA-4096勒索病毒分析_第26张图片
复制文件
RSA-4096勒索病毒分析_第27张图片
RSA-4096勒索病毒分析_第28张图片
创建进程运行程序

因为会创建新的进程运行程序,这里我nop掉,往下看
创建互斥体8_8_8_8

提升进程权限
RSA-4096勒索病毒分析_第29张图片
下面有6个函数
RSA-4096勒索病毒分析_第30张图片
第一个函数sub40FB80()得到特殊文件路径
RSA-4096勒索病毒分析_第31张图片
第二个函数sub402960()创建注册表写入加密数据
RSA-4096勒索病毒分析_第32张图片
RSA-4096勒索病毒分析_第33张图片
第三个函数sub40FF30()设置开机自启动并提升当前进程访问资源管理器进程网络共享权限
RSA-4096勒索病毒分析_第34张图片

第四个函数sub40FC00()在特殊目录下创建一个TXT文件并写入加密数据
RSA-4096勒索病毒分析_第35张图片
RSA-4096勒索病毒分析_第36张图片
RSA-4096勒索病毒分析_第37张图片
第五个函数sub402430()找到xxxxxxxx位置,填入数据,完善勒索信息
RSA-4096勒索病毒分析_第38张图片
RSA-4096勒索病毒分析_第39张图片
第六个函数sub40FE80()初始化GDI信息

接着创建一个线程来加密文件,病毒会加密两个部分,一部分是主机文件,一部分是网络资源文件
RSA-4096勒索病毒分析_第40张图片
加密部分,首先对目录判断,是目录就迭代,然后对比三个系统关键目录,是的话跳过,之后在目录下留下勒索信息截图和勒索信息文本并通过shell32.execute打开它们
RSA-4096勒索病毒分析_第41张图片

RSA-4096勒索病毒分析_第42张图片
不是目录的话和之前解密出来的后缀进行对比,符合的话开始加密,加密算法部分就不分析了,按照勒索信息文本来说病毒程序采用的是RSA-4096非对称加密算法,写入了三段加密数据
RSA-4096勒索病毒分析_第43张图片
然后枚举网络资源文件进行加密
RSA-4096勒索病毒分析_第44张图片
RSA-4096勒索病毒分析_第45张图片
加密文件之后也会在桌面创建截图和勒索信息文本并打开
RSA-4096勒索病毒分析_第46张图片
之后创建新的线程来删除备份数据生成的卷影副本,防止数据恢复
RSA-4096勒索病毒分析_第47张图片
RSA-4096勒索病毒分析_第48张图片
接着又创建一个线程来发送加密后的主机信息
RSA-4096勒索病毒分析_第49张图片
最后删除自身
RSA-4096勒索病毒分析_第50张图片
至此病毒程序的运行流程分析完毕,加密数据部分没有详细分析,自己关于算法方面的逆向能力不太足,怕分析起来浪费时间,得不偿失


五、病毒行为流程总结:

RSA-4096勒索病毒分析_第51张图片

六、技术思考总结:

  1. 通过PEID查壳发现程序带壳的话不要慌,判断是已知壳还是未知壳,已知壳的话查阅网上相关资料手工或者寻找脱壳机帮助自己脱壳,未知的话单步分析,合理下断,注意观察内存变化
  2. 对于某些影响我们分析运行的函数,要大胆的NOP和跳过
  3. 多熟悉不同病毒种类,远控类,勒索类,挖矿类等等,下次遇到时,分析起来速度会变快,效率提高
  4. 算法加密部分不仅要熟悉常见的Windows系统函数,更要知道相关原理,自己能力有待提高

七、防护建议:

1、个人电脑、服务器应及时打补丁,修复漏洞
2、对重要的数据文件定期进行非本地备份
3、不要点击来源不明的邮件附件,不从不明网站下载软件
4、尽量关闭不必要的文件共享权限
5、更改账户密码,设置强密码,避免使用统一的密码
6、GandCrab勒索软件会利用RDP(远程桌面协议),如果业务上无需使用RDP的,建议关闭RDP

八、相关IOC:

http[:]//drlarrybenovitz.com/qhcka/templates/binarystings.php
http[:]//holishit.in/wp-content/plugins/wpclef/assets/src/sass/neat/grid/binarystings.php
http[:]//starsoftheworld.org/cgi-bin/binarystings.php
http[:]//hknsjsu.org/wp-content/plugins/profile-builder/assets/lib/wck-api/assets/js/tiny_mce/utils/binarystings.php
http[:]//vtc360.com/wp-content/themes/vtc360_maxf3d/ReduxFramework/ReduxCore/inc/extensions/wbc_importer/demo-data/Demo2/binarystings.php
http[:]//grosirkecantikan.com/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/binarystings.php
http[:]//88fga.ketteaero.com/FE4A8D7E1E829B86
http[:]//2bdfb.spinakrosa.at/FE4A8D7E1E829B86
http[:]//uj5nj.onanwhit.com/FE4A8D7E1E829B86
MD5:9d3dbe44445624abb04bdb3bdace4fc2
SHA-256:7829ae7240eb4c6f5fe33c5af43e6d388f0439011c27cf609cc4d1a8b6092ec1
SHA-1:0ffc994e247d2b108910e8bb6de3ef57439c51af


由于相关文件有点大,放在微云上供大家下载:https://share.weiyun.com/5Nfqfqm

你可能感兴趣的:(病毒分析)