Yennfer_ 发表于 2019-9-10 09:59

勒索病毒RSA-4096

本帖最后由 Yennfer_ 于 2019-9-12 09:48 编辑

萌新第一次分析,有很多不足,中间加密部分很多地方都没搞懂,希望大佬们多多指教
样本地址:https://www.52pojie.cn/thread-1022819-1-1.html


FileName
FileSize
FileType
MD5

tfukrc.exe
240,640 Byte
勒索病毒
72ccc18f3038e19273010d45ac2142ce
简介
该病毒感染受害主机后,会先创建COM对象来达到反沙箱的效果,删除自己备用数据流,从自身解密出将会使用的代码及字符串,检查TOKEN信息,尝试提权,然后将自己拷贝重命名为随机字符串到”MyDocument”目录下后再删除自身,监控杀死部分进程CMD、Procexp、mscconfig、regedit、Taskmgr,创建一个优先级最低的线程遍历全盘指定后缀加密文件,在所有文件夹下都会新建勒索信息的txt和png,最后会删除卷影拷贝,然后将用户信息加密后发送出去
流程图
            

详细分析
第一个函数先使用开始时间作为种子,生成一个随机数,用于生成随机字符串


创建COM对象,使用COM库中的DirectShow相关音频代码来检测沙箱

得到自己文件的路径,并且拼接字符串,拼接出文件的备用数据流:Zone.Identifier,并且删除文件的备用数据流,用于关闭弹窗警告

获取到”MyDocument”我的文档路径,后面拷贝文件会用到

得到Wow64DisableWow64FsRedirection,解决32位与64位重定向的问题

解密字符串
解密出病毒后面运行会使用的相关字符串

第一次申请内存,解密出病毒将要加密文件的后缀,并将后缀放在一块申请的内存中,然后将内存的地址赋给一个变量

解密出的文件后缀

重新申请一块内存空间,将内存地址赋值给变量

跟随变量中的内存地址,可以再次看见后缀,后面会使用后缀判断是否加密文件


文件后缀列表如下:


.r3d
.forge
.wpd
.menu
.rofl
.x1k
.iwd
.hvp1
.qic
.mrwref

.ptx
.asset
.rtf
.ncf
.dba
.ppt
.kf
.icxs
.bkp
.nrw

.pef
.1itemod
.wb2
.sid
.db0
.pptx
.mlx
.docm
.bc7
.orf

.x3f
.iwi
.pfx
.sis
.kdb
.pptm
.fpk
.WpS
.bc6
.raw

.srw
.das
.p12
.ztmp
.mpqge
.mdb
.dazip
.x1s
.pkpass
.rw1

.der
.upk
.p7b
.vdf
.vfs0
.accdb
.vtf
.x1sx
.tax.gdb
.rw2

.cer
.d3dbsp
.p7c
.mov
.mcmeta
.pst
.vcf
.x1sm
.qdf
.mdf

.crt
.csv
.txt
.fos
.m2
.dwg'
.esm
.x1sb
.t12
.dbf

.pem
.wIV
.ipeg
.sb
.1rf
.xf
.blob
.wallet
.t13
.psd

.odt
.avi
.png
.itm
.vpppc
.dxg
.drmp
.big
.bsa
.mdbackup

.ods
.wma
.rb
.wmo
.ff
.pdd
.layout
.pak
.1tx
.hkdb

.odm
.m4a
.cSS
.itm
.cfr
.pdf
.dcr
.rgss3a
.sr2
.hplg

.odp
.rar
.js
.map
.snx.1vl
.eps
.ai
.epk
.bay
.sum.sie

.odc
.7z
.flv
.WTmO
.arch00
.jpg
.indd
.bik
.crw
.zip

.odb
.mp4
.m3u'
.sb
.ntl
.jpe
.cdr
.slm
.cr2
.w3x

.doc
.sql
.py
.svg
.fsh
.dng
.erf
.1bf
.sidd
.rim

.docx
.balk
.desc
.cas
.itdb
.3fr
.bar
.sav
.sidn
.psk

.kdc
.tiff
.xxx
.gho
.itl
.arw
.hkx
.re4
.bkf
.tor

.mef
w.ibank
.litesql
.symcdb
.mddata
.srf
.raf
.apk
.vpk


第二次申请内存,解密出创建勒索信息文本的.txt和.png相关的字符串



同样,将揭密出的字符串放在一块新申请的内存中,然后将内存地址放在变量中,后面执行代码会用到这些字符串





第三次申请内存,解密出病毒执行的部分代码字符串,包括删除卷影拷贝、监视的进程名、修改注册表等


第三次同样也会将解密出的字符串放在新申请的内存中,然后将内存的地址放在一个变量中,以便后边代码使用




第四次申请内存,解密出与病毒上传加密后的主机信息的HTTP相关的字符串


也会将这一部分揭密出的字符串放在一个新申请的内存中,然后将内存地址放在变量中,在后面的代码执行时使用




第五次申请内存,解密出勒索文本,用在后面创建勒索文件


查询TOKEN信息
字符串解密完成后,利用GetTokenInformation获取进程的权限级别


通过查询GetTokenInformation中的TokenIntegrityLevel查询程序运行的完整性级别,包括Untrust, Low, Medium, Hight, System等, 级别越低,权限也就越低,当权限不足时,使用RUNAS以管理员运行

查询所在目录
当权限足够时,会查询自己是否在”MyDocument”我的文档目录下,当自己存在于我的文档下时,会直接返回,运行后边的恶意代码

拷贝自身创建新进程
当自己不存在于我的文档目录下时,会将自己拷贝到我的文档目录下一个随机字符串的.exe,并将设为隐藏属性,拷贝完成后会创建新线程调用拷贝后的文件,完成后再调用CMD.exe删除原来的病毒本身




查询操作系统信息
新的病毒进程也会重复以上检测自己是否存在于”MyDocument”我的文档目录下,当存在时,直接运行后面的代码,将一块内存全设为0,然后用来保存获取到的系统信息

查询自身CheckSum
病毒会通过偏移查询自己的CheckSum,然后保存在变量中,最后返回值的451


提权
病毒会先从解密的字符串中得到SeDebugPrivilege字符串,然后当作参数传入提权,查询系统的TOKEN信息,然后将自己提权SeDebugPrivilege权限




监控杀死指定进程
病毒提权后,会创建一个新线程,用来监控当前运行的进程,当出现指定进程时,就关闭指定进程,进程名来自前面解密出的字符串

监控的进程包括:

Taskmg   任务管理器

Regedit   注册表

Procexp   Process Explorer

Msconfig 系统配置

CMD
删除卷影拷贝
病毒会判断当前系统的DwBuildNumber版本号,如果操作系统不是XP2600版本就会执行命令,创建新线程删除卷影拷贝,执行的命令也是从前面解密出的字符串取得


取得桌面路径
返回桌面路径,用在后面创建勒索文本和图片

修改注册表,生成密钥并加密(这个地方的椭圆曲线算法不是很懂)
病毒会在注册表下HKCU\Software\新建一个MSVV项,写入用户的ID

然后在HKCU\Software\以用户ID命名的新项,其中写入的值data一共分为四段,是在Mydocument下的Recover+file.txt中加密前的内容,后面病毒会将这一块数据加密后发回服务器
这四段数据第一段是addr,第二段是dh,第三段是用户ID,第四段是OS版本号


注册表添加完成后,会生成一次密钥,使用CryptGenRandom()函数获取随机数,生成一个256位的数

再获取进程、线程、时间等信息用来生成密钥

得到密钥后,再经过Secp256k1加密一次,得到一个加密后的密钥

自动启动
病毒在注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Run路径下,新建了名称为”+++随机四位字母”的注册表值,数据为调用CMD /C 自启执行“MyDocument”下的病毒


创建+recover+file.txt文件
病毒先获得我的文档路径

然后将前面获得的数据拼接在一起,这里的数据和注册表data项中的值一样,不过后面写入文件的时候会加密,分别是作者自己定义的addr、dh还有被勒索的用户ID,系统版本号

病毒会生成一个密钥,将这段数据加密,然后写入+recover+file.xtx中


加密
病毒会创建一个新线程,并且将线程的优先级设置到最低,然后用这个线程来加密文件


病毒会遍历所有磁盘

当遍历到软盘、硬盘或网络磁盘的时候,获取到硬盘信息,然后准备加密文件

病毒先会遍历主机上所有目录,在每一个目录下先创建”+REcovER+随机字符串+”的txt和PNG文件

在每个目录下创建完成后,才开始加密文件,病毒会先获取文件的名称,保存在变量中

病毒判断文件不是.com文件,不是病毒写入的勒索信息文本,然后将所有文件名与前面解密出的后缀匹配,加密相应文件

病毒先得到进程的堆句柄,然后用堆句柄申请一块空间


判断文件大小,

开始加密时,先读取要加密文件的数据

将前面使用Secp256k1加密后的密钥拷贝32字节到新值中

将新密钥经过轮函数得到一个新密钥

将读取到的文件数据在申请的堆空间里加密

加密完成后将数据保存在堆空间中然后将文件指针移动到文件开头,在开头写入垃圾数据

最后将堆空间加密后的内容写入文件,然后刷新保存在硬盘

创建打开勒索文本
在病毒加密完成后,会在桌面创建勒索信息的txt和png文件,然后打开他们

发送信息到服务器
病毒会将用户的各项信息加密后发送到指定前面解密出的URL中
加密前的数据,包括的用户的个人ID和系统版本号等信息

将发送的信息加密

拼接出HTTP请求头后用POST发送到指定URL

删除自身
运行完成后会调用CMD执行/C DEL删除自身


样本溯源

FileName
FileSize
MD5

tfukrc.exe
240,640 Byte
72ccc18f3038e19273010d45ac2142ce

随机字符串.exe
240,640Byte
72ccc18f3038e19273010d45ac2142ce

+recover+file.txt
256 Byte
3aa3bfac733afd6311334c551f3f7c09

+REcovER+随机字符串+.txt
2,459 Byte
072c1e92f6f35ce4f895e337b9093490

+REcovER+随机字符串+.png
74,272 Byte
dec3149215bd95e2abf13bea6aefc862





URL:

http://uideoaminproduktion.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

http://uj5nj.onanwhit.com/用户ID

http://2gdb4.leoraorage.at/用户ID

http://9hrds.wolfcrap.at/用户ID

TOR URL:

k7tlx3ghr3m4n2tu.onion/16751E6C29B615
查杀方案
删除我的文档下隐藏的病毒文件
删除启动项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下随机字符串启动项
删除注册表HKCU\Software\MSVV
删除注册表HKCU\Software\随机字符串(用户ID)项
已被加密文件暂无方法
总结
病毒在计算机中勒索所有指定后缀的文件,且制造大量无意义的勒索信息文件,加密中先使用系统信息等生成的随机数再利用Secp256k1非对称加密得到一个密钥再将密钥多次加密得到就加密文件的密钥,这样密钥不易被猜解。最好的办法是提高防范意识,不随意点开来意不明的exe文件

Yennfer_ 发表于 2019-9-10 21:04

debugman 发表于 2019-9-10 20:54
DirectShow还可以anti-sandbox?我孤陋寡闻了

我也是从别人网站看见的
https://www.joesecurity.org/blog/6933341622592617830

Yennfer_ 发表于 2019-9-11 10:04

Steamhao 发表于 2019-9-10 23:06
很强   附件样本在哪?

我还没传,这个每天上传有限制,我把图传完了再传样本吧

Yennfer_ 发表于 2019-9-10 10:10

?卧槽图呢 我特么传了两天的图

Hmily 发表于 2019-9-10 10:29

Yennfer_ 发表于 2019-9-10 10:10
?卧槽图呢 我特么传了两天的图

图传的有什么问题?

lwq198862921 发表于 2019-9-10 11:46

我金蝶的服务器中了两次勒索病毒,真是吐血~

对方正在输入i 发表于 2019-9-10 13:40

楼主啊,总共就1张图,咱是不是上传出了点问题。。。{:1_924:}

Yennfer_ 发表于 2019-9-10 14:50

对方正在输入i 发表于 2019-9-10 13:40
楼主啊,总共就1张图,咱是不是上传出了点问题。。。

我也发现了 我现在重新改

Yennfer_ 发表于 2019-9-10 14:51

Hmily 发表于 2019-9-10 10:29
图传的有什么问题?

我图上传后就点了删除,可能是这个问题,我第一次发帖,晕,我重新传

debugman 发表于 2019-9-10 20:54

DirectShow还可以anti-sandbox?我孤陋寡闻了

Steamhao 发表于 2019-9-10 23:06

很强   附件样本在哪?
页: [1] 2 3 4
查看完整版本: 勒索病毒RSA-4096