能DDoS的勒索木马FireCrypt进一步分析

近日,FreeBuf上对于一类FireCrypt木马做了相关的报道:流氓会武功:这款勒索软件不仅能勒索,还能DDoS。哈勃分析系统拿到了相关样本,并对其进行了分析。

经分析,该类样本通过木马生成器自定义生成,运行该样本会对特定文件类型进行AES加密,同时伴随着持续但微弱的DDoS行为(请求特定网站下载文件)。以下是详细的样本分析结果。

一.样本运行效果

该样本运行后会加密系统所有盘符下的特定文件类型的文件,加密后会在文件名后加上firecrypt后缀,如下图所示:

图1.加密后的文件

在加密结束后,样本会在桌面生成两个文件分别为xxxx-READ_ME.html和xxxx-filesencrypted.html,xxxx-READ_ME.html是加密后提示给受害用户的解密提示,xxxx-filesencrypted.html是当前受害者电脑所有被加密文件的路径位置信息,如下图所示:

图2 xxxx-READ_ME.html

图3 xxxx-filesencrypted.html

该解密提示界面警告受害者AES密钥的销毁时间,用户需要在密钥销毁之前向特定比特币地址支付500美元赎金以获得AES密钥和解密程序。木马会在每台被加密的机器上生成一个唯一的USER ID用于识别受害机器。

此外,在文件加密完成后,该木马会创建数个后台线程去固定的某个网站上下载文件到%Temp%目录下,如下图所示:

图4 木马文件下载

二.样本运行流程:

此木马是基于.NET环境开发,依赖.NET Framework 4.0及以上。通过reflector工具可以对木马进行反编译,从而分析出该木马大致运行流程如下:

图5 firecrypt木马运行流程

三.文件加密分析:

1.样本首先查找受害电脑的所有盘符:

图6 查找盘符

然后递归遍历所有系统盘符下的所有文件,查找符合如下后缀名的文件,将这些文件的路径信息加入%AppData%\SysWin32\files.txt,加密文件类型如下:

图7 加密文件类型

2.样本会产生一个32个字符的随机字符串,该随机字符串用于后续AES256密钥的生成:

其中随机数产生的算法如下:

3. AES256加密流程如下,Encrypt_Fun方法中调用的AES256_Encrypt为加密的主要函数:

AES256_Encrypt方法传入带加密的数据和用于加密的密码,此密码再与一些其它的参数生成真正的密钥,具体流程如下:

至此,文件完整的加密流程已经完结了。该样本在加密每个文件的时候都会产生一个32个字符的随机字符串,然后通过该随机字符串去生成AES加密密钥。

这样每次加密的密钥都是不同的,但是在整个加密流程前后并未发现木马通过网络将密钥发送给远端的服务器,一旦用户的电脑被此类木马感染后,即使向作者给出的比特币地址支付赎金,仍然无法获取需要解密的AES密钥。

四.木马的DDoS行为:

当加密行为完成后,样本将在后台创建多个线程:

在DownloadThread函数中会持续对www[.]pta[.]gov[.]pk/index[.]php发出请求,并将该页面下载到%temp%目录并存储:

当样本感染的机器足够多的时候,这种正常的Url请求就会变成DDoS攻击。

五.结束任务管理器:

除了以上的文件加密和DDoS行为,样本还会创建一个Timer,每隔500ms将“taskmgr”进程杀掉:

以此防止用户通过任务管理器发现木马进程,进而结束该木马进程。

六.木马生成器与变种:

此类通过生成器生成的木马样本,每次生成的样本的哈希值都会发生变化,可以通过不停变种绕过一些仅凭哈希值进行判定的防护措施。

不过,此木马并未采取强烈的混淆手段,大多数情况下仍然可以通过静态特征或者动态行为,识别该类生成器产生的木马。

*本文作者:腾讯电脑管家,转载请注明来自Freebuf.COM

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-01-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JetpropelledSnake

Python Web学习笔记之SSL,TLS,HTTPS

19430
来自专栏信安之路

SSL_TLS 攻击原理解析

本文主要描述 HTTPS 中对于 ssl/tls 加密的攻击手法,什么是 HTTPS 呢?百度百科的解释如下:

26200
来自专栏進无尽的文章

精析-苹果开发者证书的实现机制

      在iOS开发过程中,不可避免的要和证书打交道,真机调试、App上架、打包给测试去测试等都需要搞证书。在此过程中我们会遇到很多的问题,但是如果掌握了真...

21720
来自专栏编程

Nginx双证书ECC/RSA配置

大家好,我是你们的老朋友Alex。今天教大家使用nginx配置证书,双证书! Nginx1.11.0版本后提供了ESA/ECC双证书的支持,以下是参考链接: h...

79880
来自专栏云计算教程系列

如何在Nginx上为Debian 8创建ECC证书

本文介绍如何为Nginx创建椭圆曲线加密(ECC)SSL证书。在本教程结束时,您将有一个更快的加密机制供生产使用。

13900
来自专栏腾讯Bugly的专栏

iOS 中 HTTPS 证书验证浅析

导语 在 WWDC 16 中,Apple 表示, 从 2017年1月1日起(最新消息, 实施时间已延期),所有新提交的 App 使用系统组件进行的 HTTP 网...

67080
来自专栏Linux运维学习之路

https原理及实践

转载请注明出处 安全知识 网络安全问题 数据机密性 在网络传输数据信息时,对数据的加密是至关重要的,否则所有传输的数据都是可以随时被第三方看到,完全没有机密性可...

45090
来自专栏Pulsar-V

原 前后端密钥分配验证

16260
来自专栏北京马哥教育

SSL/TLS 原理详解

SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰。正文开始。 1. SSL/TLS概览 1.1...

44950
来自专栏java思维导图

【思维导图】深入理解HTTPS原理、过程

我们经常会遇到页面被运营商插入小广告这种事情(数据被篡改),可想而知,HTTP是有多么不安全。 如何做到的? 答:只需要设定相应的DNS,做一个中间人攻击,再...

41250

扫码关注云+社区

领取腾讯云代金券