基于 GO 语言的 Ebyte 勒索软件——简要分析
一种新的勒索软件变种,采用Go 语言编写,使用ChaCha20进行加密,并使用ECIES进行安全密钥传输,加密用户数据并修改系统壁纸。其开发者EvilByteCode曾开发过多种攻击性安全工具,现已在 GitHub 上公开 EByte 勒索软件。尽管该勒索软件声称仅用于教育目的,但滥用可能会导致严重的法律后果,例如,该勒索软件能够建立持久性、执行未经授权的命令并通过 C2 基础设施进行通信,从而构成重大的网络安全风险。
介绍
CYFIRMA 观察到一种用 Go 开发的新型开源勒索软件“Ebyte Ransomware”,该软件已在 GitHub 上分享,旨在针对 Windows 系统,采用高级加密方法(并为加密文件添加独特的文件扩展名)。
目标技术 | 视窗 |
---|---|
加密文件扩展名 | .EByteLocker |
赎金票据文件 | 解密说明.txt |
联系方式 | 电子邮件 |
基于 | Prince 勒索软件 |
编程语言 | 去 |
该勒索软件利用ChaCha20和ECIES加密的组合来安全锁定文件,使其无法通过传统恢复方法恢复,只能使用指定的解密器进行解密。
分析
主服务器.go
这个 Go 程序为Ebyte-Locker应用程序搭建了一个 Web 服务器,使用 database.InitDB() 初始化数据库连接,确保数据持久化。http.FileServer 从 ./frontend 目录提供静态前端文件。多个 API 端点(/dashboard-data、/launch、/graph-data、/mini-graphs-data 和 /generate-locker)分别由处理程序包中的相应函数处理。服务器监听 8080 端口,启动时记录日志,如果服务器启动失败,则记录任何致命错误(hXXp://localhost[:]8080)。
基于 Web 的控制面板
执行 – 用户执行:恶意文件: /launch 和 /generate-locker 端点的存在表明可能生成可执行有效载荷。一旦被利用,这些端点将允许攻击者在目标系统上执行未经授权的代码。恶意行为者利用此功能部署勒索软件锁。
持久性 - 服务器软件组件: Web 服务器一旦启动,便会持续运行并持续处理传入请求。如果配置为允许未经授权的访问,攻击者便可以通过远程提供有效载荷或执行命令,在受感染的环境中保持持久性。数据库 (database.InitDB()) 负责确保数据的持久性,