整站优化

当前位置:

深信服安全团队捕获到使用Go语言勒索病毒源码改编而来

浏览量:

背景概述

最近,Sangfor安全团队发现了用Go语言编写的勒索软件。这次捕获的样本具有两个功能:勒索和后门,并且可以指定要加密的目录和文件。

作为一种非常年轻的语言,Go语言易于使用并且支持多种平台,因此受到攻击者的青睐。编译时全静态链接和独特的堆栈管理方法大大增加了安全人员进行研究,分析和检测的难度。

使用Go语言开发的恶意样本主要集中在后门和采矿中。勒索病毒非常罕见。

最后一次发现Go语言勒索软件是对19月初好家伙在Github上发布的勒索软件源代码的改编。即使发布者声称研究了勒索软件的原理c 病毒源码,攻击者显然也没有这样考虑,只是将其重写以用于勒索软件的活动。

技术分析

勒索软件随附UPX 3. 96,Go版本为1. 13,并且符号文件已删除。

正在运行的界面显示,病毒可以指定要加密或删除的目录文件;

可以将修复符号表确认为GO 1. 13编写的新勒索软件+后门病毒;

一、加密模块

解析输入参数自变量代表加密目录和常规匹配模式。应该注意的是,在golang中,函数调用中结构的每个参数都被压入堆栈,而不是C / C ++中的指针形式。

例如,String类型以golang的(Address,Length)结构形式出现,这导致IDA解析为_cdecl形式的多个输入变量。

常规匹配会加密指定文件:

vbs病毒源码_新鬼影病毒源码_c 病毒源码

执行加密功能main_Execute;

发现加密模块调用的awesomeProject_world软件包已在开源GO项目SIO中重写。

* SIO项目实现DARE 2. 0,用于确认密钥是否正确,密文是否已被篡改等。支持AES-256 GCM和Chacha20-Poly1305两种加密模式。

攻击者重写了密钥生成部分:

([1)使用base64硬编码密钥,并在解密后生成256位密钥A;

c 病毒源码_vbs病毒源码_新鬼影病毒源码

([2)使用CryptGenrandom生成256位Salt B;

([3)使用硬编码的密钥A和盐B进行密钥派生,以生成最终的加密256位密钥C,

将密钥C写入文件头后,对其进行加密;

源代码中Config的数据结构如下:

根据堆栈上的参数,加密版本为20,CipherSuite为1(AES-256-GCM),密钥为密钥C;

c 病毒源码

c 病毒源码_新鬼影病毒源码_vbs病毒源码

加密完成后,重写原始文件并将其删除,以防止数据恢复软件恢复;

该文件被重写为敲诈提示消息(左)和加密文件(右)。

二、后门模块

打开本机的端口49500进行监视,并周期性地接受远程控制命令;

等待C2发送要执行的指令;

vbs病毒源码_c 病毒源码_新鬼影病毒源码

基础加固

Sangfor的安全团队再次提醒用户,勒索软件主要用于预防。目前,大多数由勒索软件加密的文件无法解密。注意日常的预防措施:

1、及时修补系统和应用程序,以修复常见的高风险漏洞;

2、重要数据文件的定期非本地备份;

3、不要点击来自未知来源的电子邮件附件,也不要从未知网站下载软件;

4、尝试关闭不必要的文件共享权限;

5、更改主机帐户和数据库密码,设置强密码,并避免使用统一密码,因为统一密码会导致一个人受到威胁,并使许多人遭受痛苦;

6、如果您的业务不需要使用RDP,建议关闭RDP功能c 病毒源码,并尝试不要将RDP端口和数据库端口映射到外部网络。

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【83030543@qq.com】,我们在确认后,会立即删除,保证您的版权。