样本分析(TeslaCrypt,AES)

基本信息

FileNameFileTypeFileSizepackerMD5
tfukrc.exe勒索病毒235kbno72CCC18F3038E19273010D45AC2142CE

一,概述

​ 该样本是一个使用AES CBC模式进行数据加密的勒索病毒,其除了具有加密文件的功能外还具有检测沙箱和简单的对抗功能,在其开始成功运行后,会拷贝自身到用户文档目录下隐蔽运行,然后开启六个线程分别执行不同的操作。第一个线程的功能是杀死相关进程查看工具的进程,第二个和第五个线程的功能是删除卷影,第三个和第六个线程的功能是向指定服务器发送数据,第四个线程的功能是向每个文件夹下写入勒索信息并加密数据。病毒在加密完成后会弹出一个窗口告知受害者自己的数据被加密,让用户登录指定的网址寻求解密。由于其加密秘钥又被加密,而可以给加过密的秘钥进行解密的私钥保存在黑客手里,所以加密完成后在黑客不公布秘钥的情况下不存在自行解密的可能。幸运的是现在秘钥已经公布,恢复文件的工具也已出现。

二,流程图

在这里插入图片描述

三,技术细节详细分析

详细分析

​ 放入die中查看,发现样本无壳,使用C语言编写
在这里插入图片描述

WinMain()

​ 将样本放入IDA中查看,找到main函数,下面仔细分析其中的比较重要的函数的作用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
​ CoCreateInstance()函数,用指定的类标识符创建一个未初始化的COM对象,这里被用来调用DirectShow处理音视频数据。在这里使用的真实目的是检查音视频设备是否存在,而且还可以验证api是否完全可操作(用来过滤掉api模拟),执行这些动作是为了确保样本是在真实的系统上运行,而不是在沙盒运行。

​ DeleteFileW()函数,在这里的作用是删除掉xxx:Zone.Identifier文件,每当在IE6.0或以上版本的浏览器上下载一个文件file_name.extention到本地,就会自动生成一个file_name.extention:Zone.Identifier格式的文件,这个附属文件就是除了描述对应文件的元信息,比如来源信息,还用来弹出安全警告弹窗。这里将其删除掉的原因就是避免用户第二次打开时还出现安全警告弹窗。

​ Release_Decrypted_402170()函数,其功能是解密数据。
在这里插入图片描述
​ 其中值得注意的是其中的Release_403EB0()函数,使用OD查看其具体功能,对应的tfukrc.00403EB0函数执行了解密操作,
​ 执行第一次解密操作后,查看其解密后数据的结果如下,应该是会被加密的文件类型
在这里插入图片描述
​ 执行第二次解密操作后,查看其解密出来的数据是一些字符
在这里插入图片描述
​ 执行第三次解密操作后,查看其解密出来的数据包括cmd命令,删除卷影的命令,和注册表启动项。
在这里插入图片描述
​ 执行第四次解密操作后,查看其解密出来的数据包括6个URL和浏览器的版本信息
在这里插入图片描述
​ 执行第五次解密,查看解密的数据是勒索信息
在这里插入图片描述
​ GetTokenLevel_410750()函数,用来查看当前进程的访问令牌信息
在这里插入图片描述
​ copy_del_runself_407360()函数,其功能是判断自己是不是在用户的文档目录下运行,如果不是会将自身拷贝到用户的文档目录下,并将名字改为随机的6个字符,还把其设置为隐藏属性,拷贝完成后运行该文件,然后删除自身,删除自身后程序就结束了,OD就无法调试下面的代码,如果将其创建新进程,删除自身的代码nop掉,还是会是这种情况。解决这种情况的方法就是直接将样本文件放入用户的文档目录下(或者在其启动新进程之前使用镜像劫持),就可以继续调试下面的代码了。

​ copy_del_runself_407360函数
在这里插入图片描述
​ PrivilegeUP_4108F0()函数内部,用于提升进程权限
在这里插入图片描述

线程1

​ 创建第一个线程Processkiller_406EBO(),执行的是杀死指定进程的操作,调用TerminateProcess()函数杀死进程名中包含taskmg,regedi,procex,msconfi,cmd字符串的进程。
在这里插入图片描述

线程2

​ 创建第二个线程shellExecute_4072A0(),执行的是删除卷影的操作,创建第二个线程之前会判断运行环境是否是WINXP,如果是就创建第二个线程。
在这里插入图片描述
在这里插入图片描述
​ 创建第二个线程后调用了6个函数
在这里插入图片描述
​ 第一个函数getSomePath_40FB60(),功能获得系统上特殊的文件夹路径,查看其内部功能
在这里插入图片描述
​ 使用OD跟踪的结果
在这里插入图片描述在这里插入图片描述在这里插入图片描述
​ 第二个函数RegSet_402940(),功能是计算出受害者的ID并将其在注册表中设置为键值,然后随机生成一个32位的加密秘钥,并把此秘钥使用椭圆曲线生成的秘钥加密。
在这里插入图片描述
​ CopyData_402CB0()函数就是用来生成秘钥和加密秘钥。
在这里插入图片描述
在这里插入图片描述
​ 第三个函数autorun_sharenet_40FF10()函数,功能是设置自启和访问当前登录资源管理器进程的网络共享
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
​ 设置后的结果
在这里插入图片描述
在这里插入图片描述
​ 第四个函数writefile_40FBE0(),功能是在用户的文档目录下写入勒索文件,其中含有一小段加密信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
​ 第五个函数PrintfID_402430()
在这里插入图片描述
在这里插入图片描述
​ 第六个函数InitGDI_40FE60()就是初始化GDI库
在这里插入图片描述

线程3

​ 创建的第三个线程SendHttpRequest_403180(),功能是将先前写入内存中的URL获取到了,然后将一些数据(如受害者ID和计算机信息)加密发送出去。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
​ 发送数据
在这里插入图片描述

线程4

​ 创建的第四个线程Write_Encryption_401710(),功能是遍历系统中的文件夹与文件(除了C:\windiws,C:\program files,C:\programdata三个系统关键文件夹),在每个文件夹下写入包含勒索信息的+recover+file.txt与+recover+file.png文件,然后加密在加密范围中的文件。
在这里插入图片描述
在这里插入图片描述
​ 线程中的For_401920()函数比较重要,查看其内部,发现其会遍历系统中的文件夹与文件,遇到文件夹时就调用WriteMess_410150()函数在文件夹下写入含有勒索信息的文件,遇到具有可加密后缀的文件时就调用Encryption_401CD0()函数将文件加密

在这里插入图片描述
在这里插入图片描述
​ 再看For_401920()内部的Encryption_401CD0()函数,该函数的加密逻辑就是先将文件中的数据整体读取到内存中,然后使用EncryptFUNC_403AB0()函数每次读取内存中文件数据的一部分,再使用KeyGen_411960()函数生成的密钥进行加密,最后使用WriteFile()函数将加密后的数据回写到文件中,这种加密流程符合AEC CBC加密模式。
在这里插入图片描述
在这里插入图片描述
​ EncryptFUNC_403AB0()函数中的AES算法函数Encrypt_AES_410D61()
在这里插入图片描述
​ 其汇编代码特征符合AES算法
在这里插入图片描述
​ 加密前的文件
在这里插入图片描述
​ 加密后的文件
在这里插入图片描述
​ 包含勒索信息的文件
在这里插入图片描述

线程5

​ 创建第五个线程,判断自己是否在Windows XP环境中,如果是就开启第五个线程,其功能是删除卷影

在这里插入图片描述

线程6

​ 创建第六个线程,在文件加密结束后将受害者信息发送到指定服务器

在这里插入图片描述
​ 最后一步执行DelSelf_410990()函数删除自己的操作

在这里插入图片描述

进程行为

​ 首先是tfukrc.exe进程,其开始运行后会将自身拷贝到用户的文档目录下(C:\users\xxx\Documents…),并改名为xxxxxx.exe,在成功生成xxxxxx.exe后,其会开启新exe,然后调用cmd.exe执行删除命令删除自身,但是不知什么原因在本机上并没有删除成功。

​ 然后是用户文档目录下的xxxxxx.exe进程,其会开启四个线程,第一个线程会杀死进程名称中包含taskmg,regedi,procex,msconfi,cmd字符串的进程。第二个线程会使用系统的vssadmin.exe执行删除卷影的操作。第三线程会将受害者的信息发送到指定的服务器。第四个线程除了会在每个文件夹下(除了系统的三个重要的文件夹)写入包含勒索信息的文件(+REcovER+sehxi+.png和+REcovER+sehxi+.txt),其中的内容就是告知受害者计算机上的数据被RSA-4096加密算法加密了,需要下载Tor浏览器访问下面的网址寻求解密,还会使用AES算法生成的秘钥对在加密范围内的文件进行加密。在开启第三个线程之前会通过在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run的位置写入键值的方式将自己加入自启动项(键+++fduw,值C:\windows\SYSTEM32\CMD.EXE /C START “C:\users\xxx\Documentshcrcxe.exe”),勒索信息中让受害者访问的网址。

http://uj5nj.onawhit.com/d4c685d901ec945
http://2gdb4.leorage.at/d4c685d901ec945
http://9hrds.wolfcrap.at/d4c685d901ec945

注册表行为

​ tfukrc.exe和xxxxxx.exe进程都会访问注册表中的,改写其中的值,降低internet安全设置

HKCU\software\microsoft\windows\\current\version\internet setting\zonemap\proxybypass
HKCU\software\microsoft\windows\\current\version\internet setting\zonemap\intranetname
HKCU\software\microsoft\windows\\current\version\internet setting\zonemap\UNCasintranet
HKCU\software\microsoft\windows\\current\version\internet setting\zonemap\autodetect

​ xxxxxx.exe进程,会在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run的位置写入键值,将自己加入自启动项,键:+++xxxx,值:C:\windows\SYSTEM32\CMD.EXE /C START “C:\users\xxx\Documentshcrcxe.exe”

网络行为

​ xxxxxx.exe进程会访问,如下VT报毒的URL。

http://videoaminproduktion.de/plugins/binstr.php
http://clubsaintandre.fr/images/binstr.php
http://affiliateproductes.com/binstr.php
http://ptgp.pl/tmp/binstr.php
http://strategicdisaster.info/wordpress/wp-content/plugins/binstr.php
http://minteee.com/images/binstr.php[]

四,查杀&恢复方案

删除病毒文件

进入C:\Users\用户名\Documents删除xxxxxx.exe文件

修复注册表

删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下的+++xxxx键值

恢复文件

工具

ESETTeslaCryptDecryptor.exe

(下载地址http://download.eset.com/special/ESETTeslaCryptDecryptor.exe

使用方法

在命令中输入命令

1,cd 工具所在位置

2,ESETTeslaCryptDecryptor.exe 文件名\目录

3,Y

五,防护建议

1,及时备份重要文件,对重要的数据进行非本地备份

2,不要点击来源不明的邮件附件,不从非官方的网站上下载软件

3,关闭不必要的文件共享权限

4,个人电脑,服务器及时打补丁,修复漏洞

5,经常更换账户密码,设置强密码,避免使用同一个密码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据样本数据分析分布规律可以使用多种方法。其中一种是频率分布分析,该方法可以计算样本数据中各个取值出现的频率。这可以帮助我们了解哪些取值出现的次数较多,哪些取值出现的次数较少,从而揭示出样本数据的分布规律。 另一种方法是对比分析,通过比较不同取值之间的差异来分析分布规律。比如,我们可以将样本数据分成不同的组,然后比较每组之间的差异,看看是否存在明显的分布规律。 还有一种方法是帕累托分析,该方法可以帮助我们找到对业务影响最大的几个取值。帕累托分析的原理是根据二八定律,即80%的结果是由20%的原因造成的。通过帕累托分析,我们可以找到具有重要影响的取值,从而提供决策依据。 周期性分析也是一种常用的方法,它可以帮助我们发现数据中是否存在周期性的变化。通过分析数据的周期性变化,我们可以了解数据的季节性规律,从而更好地预测未来的趋势。 此外,相关性分析也是一种重要的方法。通过计算不同变量之间的相关系数,我们可以判断它们之间的关系强度和方向。相关性分析可以帮助我们了解数据之间的相互依赖关系,从而更好地理解数据的分布规律。 综上所述,通过频率分布分析、对比分析、帕累托分析、周期性分析和相关性分析等方法,我们可以全面了解样本数据的分布规律。每种方法都有其独特的优势和适用场景,可以根据具体情况选择合适的方法进行分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值