您当前的位置:首页 > 电脑百科 > 安全防护 > 病毒

针对一款采用GO语言编写的新型Linux勒索软件的分析

时间:2019-10-18 16:07:39  来源:  作者:

 

在过去的两个月里,我一直在研究采用Go语言编写的恶意软件。

Go,又称Golang,是谷歌公司开发的一种编程语言,如今正在被越来越多的恶意软件开发者所使用的。

在这篇文章中,我就将针对一款采用GO语言编写的新型linux勒索软件进行分析。

GO二进制文件概述

这里分析的样本,是一个被剥离了编译和调试信息的ELF可执行文件,这使得逆向工程变得困难。值得庆幸的是,一款补救工具(REDRESS: https://go-re.tk/redress/)可以为我们提供帮助。

下面是使用参数“-src”分析此样本的输出:

针对一款采用GO语言编写的新型Linux勒索软件的分析

图1.恶意软件的源代码

通过图1,我们可以看出该恶意软件由三个Go文件组成。

此外,我们还可以看到它所有的函数以及它们的代码行号。根据一些函数的名称,我们大致就能判定,它应该是一种勒索软件。

源代码仅有300多行,说明这款勒索软件并不复杂,可能还处于初始开发阶段。

接下来,就让我们在调试器中开始动态调试吧。

在这里,我使用的是Radare2(Radare2: https://rada.re/r/)。这是因为对于分析被剥离了的Go二进制文件而言,它比GDB更合适。

Go二进制文件的动态分析

我在Radare2中发出命令“aaa”以执行自动分析,在图2中,我们可以看到Radare2很好地还原并识别了函数名和符号名。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图2.使用Radare2还原的函数名称和符号

如你所见,函数init()在主函数之前执行,函数check()在函数init()中调用。

在函数check()中,勒索软件首先会通过向hxxps://ipapi.co/json/发送一个http请求来获取受感染主机的位置信息,目的是避免感染一些特定国家的用户,如白俄罗斯(BY)、俄罗斯(RU)和乌克兰(UA)。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图3.过滤掉白俄罗斯(BY)、俄罗斯(RU)和乌克兰(UA)

在main()函数中,它将首先删除Go二进制文件,然后调用函数randSeq()生成一个随机AES密钥,其大小为0x20字节,如下图所示:

针对一款采用GO语言编写的新型Linux勒索软件的分析

图4.生成随机AES密钥

接下来,它将调用函数makesecret(),目的是使用以二进制形式硬编码的RSA公钥来加密AES密钥。在这个函数中,它通过调用函数EncryptPKCS1v15以使用RSA加密和PKCS#1 v1.5中的填充方案对给定的AES密钥进行加密。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图5. Go二进制文件中的硬编码RSA公钥

使用RSA加密后的数据如下:

针对一款采用GO语言编写的新型Linux勒索软件的分析

图6.使用RSA加密后的AES密钥

接下来,它将在Golang包编码/base64中调用函数EncodeToString,以使用base64算法对先前加密的数据进行编码。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图7.使用Base64编码的AES密钥

然后,它将为解密的README文件(赎金票据)形成一个缓冲区,如图8所示:

针对一款采用GO语言编写的新型Linux勒索软件的分析

图8.解密的README文件的缓冲区

我们可以看到,加密的AES密钥以Base64编码的形式被写入了解密的README文件中。

在加密文件之前,它还会通过发出命令“service stop [pname]”或“systemctl stop [pname]”来杀死以下进程。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图9.目标服务

当它尝试停止Apache2.service时,会弹出一个标题为“Authentication Required(需要身份验证)”的对话框,提示用户输入系统密码以完成此操作。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图10. apache2.service身份验证对话框

最后,它将通过在Golang包“path/filepath”中调用函数Walk(根字符串,walkFn WalkFunc)来遍历根目录“/”,然后开始加密文件。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图11.遍历根目录并加密文件

值得一提的是,该勒索软件还包含一份加密目录黑名单,目的是避免加密这些目录下面的文件。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图12.加密目录黑名单

加密算法使用的是AES-256-CFB,被加密文件将被附加扩展名“.encrypted”,README文件如图13所示:

针对一款采用GO语言编写的新型Linux勒索软件的分析

图13. README文件

用于执行加密的函数是EncFile(),它首先会获取目标文件的大小。如果文件小于0x986880(1,000,000)字节,它将使用AES-256-CFB算法加密所有文件数据。否则,它将读取数据的前0x986880(1,000,000)字节并将其加密,然后将原始文件的剩余数据复制到加密后文件的末尾。

针对一款采用GO语言编写的新型Linux勒索软件的分析

图14.检查目标文件的大小


针对一款采用GO语言编写的新型Linux勒索软件的分析

图15.大于0x989680字节的文件经过加密后的数据

结论

通过上述分析,我们可以看到这种勒索软件并不复杂,可能还处于初始开发阶段。

但是,我们应该意识到,Go语言正在被用来开发越来越多的恶意软件,各大杀毒软件厂商更是有必要注意这一点。



Tags:勒索软件   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
应对勒索软件的步骤如果您怀疑自己受到了勒索软件的攻击,那么此时快速地采取响应动作起着至关重要的作用。您可以采取以下几个步骤,尽可能减少损失,并尽快恢复正常业务。 隔离...【详细内容】
2020-12-09  Tags: 勒索软件  点击:(124)  评论:(0)  加入收藏
一种名为Try2Cry的新勒索软件正在尝试通过感染USB闪存驱动器并使用Windows快捷方式(LNK文件)作为目标文件诱使它们感染自己,从而将其传播到其他Windows计算机上。当数据分析未...【详细内容】
2020-07-04  Tags: 勒索软件  点击:(123)  评论:(0)  加入收藏
1.药物测试公司HMR遭到勒索软件Maze攻击 药物测试公司HMR遭到勒索软件Maze攻击,并且部分志愿者信息被盗。该攻击发生在3月14日,Maze攻击者窃取了HMR网络上托管的数据并对其...【详细内容】
2020-04-13  Tags: 勒索软件  点击:(114)  评论:(0)  加入收藏
最近,Intezer和IBM X-Force IRIS研究团队发现了一种此前从未被公开披露过的新型勒索软件——PureLocker,能够同时攻击Windows和Linux操作系统。据称,PureLocker与后...【详细内容】
2019-11-28  Tags: 勒索软件  点击:(144)  评论:(0)  加入收藏
转自HELPNETSECURITY,作者马克·洛曼,蓝色摩卡译,侵转删根据最新的Sophos报告,勒索软件试图通过滥用受信任的合法程序来疏忽过去的安全控制措施,然后利用内部系统加密最大...【详细内容】
2019-11-20  Tags: 勒索软件  点击:(100)  评论:(0)  加入收藏
如果您收到一封声称来自微软的电子邮件,并要求安装所谓的关键更新,那么请立即删除这封邮件。安全公司Trustwave近日发现了新的恶意程序活动踪迹,它们利用电子邮件方式进行传播,...【详细内容】
2019-11-20  Tags: 勒索软件  点击:(152)  评论:(0)  加入收藏
安全业者Emsisoft上周释出了勒索软件Stop(又名Djvu)的解密金钥,Stop是近来最常见的勒索软件,估计市场上总计有160种变种,而Emsisoft的解密金钥,则能解锁其中148种变种的加密档案,对...【详细内容】
2019-10-22  Tags: 勒索软件  点击:(322)  评论:(0)  加入收藏
在过去的两个月里,我一直在研究采用GO语言编写的恶意软件。Go,又称Golang,是谷歌公司开发的一种编程语言,如今正在被越来越多的恶意软件开发者所使用的。在这篇文章中,我就将针...【详细内容】
2019-10-18  Tags: 勒索软件  点击:(242)  评论:(0)  加入收藏
▌简易百科推荐
一、挖矿病毒的小科普挖矿病毒可以说是安全圈的“老熟人”了,各类安全事件一直不乏它们活跃的身影。亚信安全发布的《2020年度安全威胁回顾及预测》显示:2020年,挖矿病毒持续...【详细内容】
2021-09-07  walkingcloud    Tags:挖矿病毒   点击:(386)  评论:(0)  加入收藏
在系统运行时, 病毒通过病毒载体即系统的外存储器进入系统的内存储器, 常驻内存。该病毒在系统内存中监视系统的运行, 当它发现有攻击的目标存在并满足条件时,便从内存中将...【详细内容】
2021-08-30  Linf    Tags:计算机病毒   点击:(97)  评论:(0)  加入收藏
勒索病毒是一种计算机病毒,通过计算机漏洞、邮件投递、恶意木马程序、网页后门等方式进行传播。一旦感染,磁盘上几乎所有格式的文件都会被加密,造成企业和个人用户大量重要文...【详细内容】
2021-07-27    河南网警  Tags:勒索病毒   点击:(221)  评论:(0)  加入收藏
如果你是一名很早就开始上网冲浪的高手,那么对于2006年风靡一时的熊猫烧香一定不会陌生,与更早开始流行的灰鸽子不同,熊猫烧香是一款拥有自动传播、自动感染硬盘能力和强大的破...【详细内容】
2021-07-23    中关村在线  Tags:杀毒软件   点击:(170)  评论:(0)  加入收藏
大家好,不知道你们有没有意识到一个问题:现如今,计算机病毒似乎不像多年前那样令人头疼了。在十几年前,清理病毒简直就是计算机用户的家常便饭,尤其如打印店、网吧这种密集场所,你...【详细内容】
2021-06-01    中关村在线  Tags:中毒   点击:(143)  评论:(0)  加入收藏
最近在网上看到好多的用户被这个名叫Incaseformat的病毒侵袭电脑,导致电脑除了C盘以外的所有的磁盘都被格式化了。这让很多小伙伴遇到这个病毒的时候不知所措,不知道该如何去...【详细内容】
2021-01-22      Tags:Incaseformat   点击:(240)  评论:(0)  加入收藏
1 月 13 日晚,360、深信服等安全公司发布了紧急预警,称监测到蠕虫病毒 incaseformat 大范围爆发,已有多家公司发生磁盘数据被删事件。该蠕虫病毒主要通过 U 盘传播,感染用户机...【详细内容】
2021-01-15      Tags:蠕虫病毒   点击:(194)  评论:(0)  加入收藏
12月初,我们发现了一种新的用Golang编写的蠕虫。该蠕虫延续了 Golang在2020年流行的多平台恶意软件趋势。...【详细内容】
2021-01-05      Tags:蠕虫   点击:(175)  评论:(0)  加入收藏
勒索病毒事件愈来愈多 近期针对传统行业的勒索病毒攻击事件愈来愈多,甚至一天内会有多家同一行业的企业同时受到攻击,造成企业业务运营中断,个人和公司重要数据遭受破坏等严重...【详细内容】
2020-12-18      Tags:勒索病毒   点击:(186)  评论:(0)  加入收藏
随着信息化的发展,数据安全的重要性愈加突出。据最新的 Hiscox 全球网络安全统计,在勒索软件攻击事件当中,64%以上的用户是中小企业。因此,制定完善的灾备策略,是抵御网络威胁的...【详细内容】
2020-12-15      Tags:勒索者病毒   点击:(145)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条