当前位置: 首页 > 科技观察

勒索病毒进化史:新型Awesome勒索病毒不仅加密还留有后门!

时间:2023-03-15 22:23:39 科技观察

背??景概述近日,深信服安全团队抓获一款Go语言编写的勒索病毒。此次抓获的样本具有勒索和后门两种功能,可以指定目录和文件进行加密。其加密模块由开源加密项目代码改写而成,加密模块更名为awesomeProject_word,因此桑康终端安全团队将其命名为Awesome勒索病毒。Go语言作为一门非常年轻的语言,其简单易用、支持多平台的特性使其备受攻击者青睐。编译时全静态链接和独特的堆栈管理方式,大大增加了安全人员研究、分析和检测的难度。使用Go语言开发的恶意样本多集中在后门和挖矿两大类,勒索病毒较为少见。上次发现的Go语言勒索病毒,是根据2019年初发布在Github上的勒索病毒源码改编而成,虽然发布者号称要研究勒索病毒的原理,但攻击者显然不这么认为,只是简单重写用于勒索软件活动。技术分析该勒索病毒打包为UPX3.96,Go版本为1.13,符号文件已被删除。运行界面显示病毒可以指定目录文件进行加密或删除;修复符号表可以确认为使用GO1.13编写的新型勒索病毒+后门病毒;1.加密模块分析的入参argument表示加密目录和正则匹配模式,需要注意的是在golang中,函数调用中结构体的每个参数都是入栈,而不是入栈在C/C++中以指针的形式。比如String类型在golang中以(Address,Length)结构形式出现,导致IDA将其解析为_cdecl形式的多个输入变量。Regex匹配加密的指定文件:执行加密函数main_Execute;发现加密模块调用的awesomeProject_world包是从开源GO项目SIO改写而来。*SIO项目实现DARE2.0,用于确认密钥是否正确,密文是否被篡改等。支持AES-256GCM和Chacha20-Poly1305两种加密方式。攻击者重写了密钥生成部分:(1)使用base64硬编码密钥解密后生成256位密钥A;(2)使用CryptGenrandom生成256位盐B;(3)使用硬编码密钥A和SaltB进行密钥推导,生成最终加密的256位密钥C,将密钥C写入文件头,然后加密;源码中的Config数据结构如下:根据栈上的参数,加密后的Version为20,CipherSuite为1(AES-256-GCM),Key为keyC;加密完成后,重写原文件并删除,防止被数据恢复软件恢复;文件被重写为勒索信息(左)和加密文件(右)。2、后门模块开启本机49500端口监听,循环接受远程控制命令;等待C2发送命令执行;基础得到加强。深信服安全团队再次提醒广大用户,勒索病毒的主要目的是防范。大多数勒索软件目前都是加密的。文件无法解密,注意日常防范措施:1、及时对系统和应用打补丁,修复常见的高危漏洞;2、定期对重要数据文件进行异地备份;3、不要点击来历不明的邮件附件,不要从不明网站下载软件;4、尽量关闭不必要的文件共享权限;5、更改主机账号和数据库密码,设置强密码,避免使用统一密码,统一密码会导致一败涂地,多灾多难;6、如果业务不需要使用RDP,建议关闭RDP功能,尽量不要将RDP端口和数据库端口映射到外网。如需转载,请注明原文地址。

猜你喜欢