前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手撕伪YARRAQ勒索病毒

手撕伪YARRAQ勒索病毒

作者头像
FB客服
发布2020-05-25 16:02:59
6000
发布2020-05-25 16:02:59
举报
文章被收录于专栏:FreeBufFreeBuf

2020 年的勒索病毒愈加猖狂,各种变种层出不穷,对一般企业的威胁非常之大,尤其是现在的定点投放勒索已经不再局限于之前的盲打,除了勒索还泄露资料外,功利性也愈加明显,企业在没有做好基础架构的基础上也是防不胜防。疫情期间为了业务运行也是被迫临时开了很多后门和小道,所以怪不得有文章说暴露在公网的 RDP 是迅猛剧增,给勒索病毒提供了更多的突破口。最近,一个勒索病毒的对抗个人觉得挺有意思,权且记记。且先让我们想象一个场景,一台工作站感染了勒索病毒,电脑里面有很多重要的文件,现在全被加密了,客户无法承受付钱的痛苦,太痛了,于是打电话找应急,故事也就开始了。

其实没什么好说的,如果真的有客户打电话给你说文件被加密了,怎么办?真的能说的就是除了恢复备份就是凉拌了。当然也可以先看下 360 安全卫士,https://lesuobingdu.360.cn/ 或者 https://www.nomoreransom.org/

如果运气好,中的勒索病毒变种是过去式,且已经有释放解密工具的话可以碰碰运气,但是老实说,如果你连过去式的勒索病毒在现在进行时依然中招,只能说四个字,没得救了!为什么?你连基础的防病毒软件都不装都不维护都不更新的话,就不要说好可怜好可怜。目前勒索病毒的数量那是层出不穷,变种不停更新,现阶段破解的工具真的只能说是杯水车薪,远水也救不了近火。至于网上还有一些说 100% 帮你解勒索的,我只能说天真又好看,要么是合伙,对,就是承包商,跟勒索病毒作者合作的承包商;要么是掮客,作为中间人跟受害者和黑客沟通,而他的主要职责是主动说服受害人给钱,次要职责才是跟黑客沟通降价。只有受害人给了钱,他才能拿到佣金,就这么两个事实。

看了下文件和勒索信,后缀是 yarraq,

顺手试了试 360,很遗憾,目前暂时没有解密工具,

关于 Cybrog 勒索病毒家族详情可参考:http://bbs.360.cn/thread-15824374-1-1.html

说实话,真的没什么救的。。。但好歹也看看,到底是什么文件感染了,回溯看看有没有样本吧。

嗯嗯,客户这边正好部署了摩罗神(Moloch),我习惯叫猫头鹰。。。具体文章可以看看 Freebuf 的介绍,如果你有 SecurityOnion 那也行,态势感知平台不行,态感不做全流量监控,仅对识别的流量进行抓包,

抓了的包用 Wireshark 打开来看看,噪音太多,所以一般上手就是一招鲜,看看有没有什么 HTTP 对象在里面。

运气不错,发现一个可疑目标,Salary-2019.exe,一看名字就知道这种东东 100% 都是有问题的,绝不例外。查查邮件服务器日志,翻翻上网日志,就大概率可疑追溯到来源并加以阻止了,此为题外话,就不说了。

导出目标,用 shasum 看看。

接下来跑跑 virustotal。哇,万里江山一片红。62/73 的检出率。

看看 DETAILS 是啥玩意?咦,是 Hidden-tear。注意:yarraq 隶属于 Cybrog 家族,属于标准的 AES+RSA 加密,本文是无法用于 yarraq 解密,请不要套路!

关于 Hidden-Tear 的介绍可以查阅 Freebuf,属于一款开源的勒索软件,一看到这个精神顿时兴奋了,Hidden-Tear 作为一款 AES 加密的勒索,会将 AES 秘钥明文发送到服务端,这样通过流量监控是很有可能拦截到秘钥的,这样一来,解密就不是事了。为了节省篇幅,有兴趣的可以自由阅览https://github.com/goliate/hidden-tear

重点在于:秘钥明文传输:

那转头来看 Wireshark,Follow 一下看看有没有奇遇,结果并没有。。。Sigh。

翻了几个钟头,确实没有,真的没有,兄弟,不要浪费时间了。。。

客户这时候贼兮兮地说,胸逮,这里有个内存 dump 文件,你看有没有用?

哦。那就翻翻,翻翻,再翻翻吧,结果 Kali2019v4 不争气,volatility 竟然不标配了。。。买车不配轮子,还要自己装轱辘。呃,这个难不倒我,噼里啪啦装了就不打命令了,这个简单就不说了。接着,

一个命令怼怼看看:volatility -f salary.dmp imageinfo,具体的 volatility 的用法可以参考官方文档,我这里就不再详述。https://github.com/volatilityfoundation/volatility

如果真没有怎么用过,可以参考 freebuf 的文章,这里就不贴了,不过,不管怎样,第一道命令百分百是 imageinfo 或者 kdbgscan 查看内存镜像配置,必须采用正确的内存配置文件才能够正确解析相关内容。

嗯嗯,太小太小,害我截个图都那么(mo)长

来看看内存里面有没有:

也是太长。。还是木有的样子。好,是不是已经隐藏了?

翻了翻也没有什么特殊情况,所以就不截全图了。不过还是提一嘴,这个插件可以通过比较 PsActiveProcessHead 所包含的内容和其他不同来源的进程列表所报告的内容来帮助你检测隐藏的进程。它可以比较以下内容:

PsActiveProcessHead 链接列表 EPROCESS 池扫描 ETHREAD 池扫描(然后引用拥有的 EPROCESS)。 PspCidTable Csrss.exe 处理表 Csrss.exe 内部链接列表

下面是用 psxview 检测 Prolaco 恶意软件的一个例子。任何一列中的”False “都表示相应的进程丢失了。你可以知道”1_doc_RCData_61 “是可疑的,因为除了 pslist(PsActiveProcessHead) 之外,它在其他列中均出现。关于 volatility 的用法,Freebuf 已经很多了,我就不再提了,也可以参考:https://github.com/volatilityfoundation/volatility/wiki/Command-Reference-Mal

网络连接太长,导出仔细分析了下,也没有发现相关 DNS 解析的情况。

再接着用 malfind 也没有发现 HollowProcess 插入的情况

Volatility 有几个内置的扫描引擎,可以帮助找到简单的模组,比如物理或虚拟地址空间中的池标记。如果需要扫描更复杂的东西,如正则表达式或复合规则(即搜索”this “而不是”that”),则可以使用 yarascan 命令。这个插件可以帮助找到用户模式或内核内存中的任何字节序列、正则表达式、ANSI 字符串或 Unicode 字符串。

我们在之前的文档中已经知道会传递 info 信息,所以我们来搜索下内存空间是否存在相关关键字

那我们就用 yarascan 来扫扫看看

Bingo!!!

看到 AES 的密码了!

接下来就简单了,用 hidden-tear-decrypter 尝试解密即获成功!

故事讲完了,就到这吧!

防护建议:

1.多台机器,不要使用相同的账号和口令 2.登录口令要有足够的长度和复杂性,并定期更换登录口令 3.重要资料的共享文件夹应设置访问权限控制,并进行定期备份 4.定期检测系统和软件中的安全漏洞,及时打上补丁。 5.定期到服务器检查是否存在异常,查看范围包括: a.是否有新增账户 b.Guest 是否被启用 c.Windows 系统日志是否存在异常 d.杀毒软件是否存在异常拦截情况 e.安装安全防护软件,并确保其正常运行。 f.从正规渠道下载安装软件。 g.对不熟悉的软件,如果已经被杀毒软件拦截查杀,不要添加信任继续运行。

*本文作者:langyajiekou,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档