一次对恶意邮件分析并拿下其赎金服务器的溯源

简介: 本文讲的是一次对恶意邮件分析并拿下其赎金服务器的溯源,在这个案例里面,我们通过分析垃圾邮件,进而劫持其赎金服务器,并且告知每个人关于发现的这一威胁。然后我会尝试寻找攻击者身份,并且将有关信息告诉执法部门。不过这一部分就不在文章中公开了。
本文讲的是 一次对恶意邮件分析并拿下其赎金服务器的溯源在这个案例里面,我们通过分析垃圾邮件,进而劫持其赎金服务器,并且告知每个人关于发现的这一威胁。然后我会尝试寻找攻击者身份,并且将有关信息告诉执法部门。不过这一部分就不在文章中公开了。

对这一附件解压缩之后发现里面有一个vbs脚本文件,这就比较有趣了,通过双击vbs脚本文件,受害者将会通过微软wscript.exe来运行它,这样就会启动感染进程。邮件是通过一个复杂的垃圾邮件集群进行发布的,这一集群经常在美国活动,前几天目标对准了欧洲。

vb脚本是是经过混淆处理的,不过混淆程度是非常弱的,你可以在下图中看到脚本的内容。实际上,代码只进行了一次包装,而且明文字符串都是可以看到的。

一次对恶意邮件分析并拿下其赎金服务器的溯源

这一后门引入了一个比较有意思的技术,首先,为了让逆向的过程变得困难,它在代码中加了很多无害的内容。非常有趣的是这样一串代码很显然是从后门代码的一部分,但是它并没有和要分析的代码相关联。另外一处很有意思的是"user-agent"的值是对是否下载真实恶意payload的关键因素。后门本身没有什么好分析的,它会通过wscript.exe执行'MZ'文件从受感染的网站中被下载到本地。这一后门文件会直接在http返回包显示,并且保存到用户临时文件夹中,以saToHxy.exe命名。然后对vb对象以及函数进行重命名,使溯源变得困难起来。

一次对恶意邮件分析并拿下其赎金服务器的溯源

获取到后门网址如下:

castillodepalazuelos.es/rf734rgf?
2010.sggt-wh.de/rf734rgf?
ctt.gr/rf734rgf?

之前有提到的Shell.run会执行后门攻击载荷。攻击载荷(sha356:6a51d0cd9ea189babad031864217ddd3a7ddba84)看起来是很容易分析,既没有进行很难的加密,也没有分成多个文件执行,在启动的调试头可以清楚直观的看到用户功能。

一次对恶意邮件分析并拿下其赎金服务器的溯源

一次对恶意邮件分析并拿下其赎金服务器的溯源

启动IDA,通过异或操作会显示小部分攻击载荷内容,并且它采用了一些反调试的技巧,比如时间控制,以及性能监控.如下图所示:

一次对恶意邮件分析并拿下其赎金服务器的溯源

在分析之后,它的设计逻辑变得清楚了,采用了使用了安全处理器异常链技术。攻击者通过触发异常调用修改过的异常处理函数,然后会对攻击载荷进行解码,并且将其分配到新的内存中,最后执行"call eax"部分,下图展示了解码过程中的循环:

一次对恶意邮件分析并拿下其赎金服务器的溯源

如下是通过0x03001220处的函数进行解码的一些内存:

一次对恶意邮件分析并拿下其赎金服务器的溯源

通过动态分析可以看到勒索软件的攻击载荷。实际上,通过解码后的内存,我们可以看到勒索页面,如下图,我将他提取了出来,而不是通过16进制进行展示,文件hash:(sha256: cdb3fef976270ab235db623d6a4a97ea93c41dd1)

一次对恶意邮件分析并拿下其赎金服务器的溯源

特别有趣的是,攻击者在勒索页面中将TOR浏览器写成了TOP浏览器,所以我就将这个勒索软件叫做TOP勒索木马。2333,TOP勒索软件会对机器上的文件进行加密,并且修改文件的拓展名,通常是三个字符(为什么是通常,因为在攻击者的数据库中发现大部分都是3个字符)。修改后的拓展名作为勒索页面的一个隐藏的参数,下方图片就展示了攻击者用于将信息发送到服务端的隐藏参数:

一次对恶意邮件分析并拿下其赎金服务器的溯源

隐藏的输入类型名称为"FB",就像稍带两个信息到命令行以及控制器中。比如将拓展名名以及一些十六进制包含在精心设置的标签中。通过点击"Yes I want to buy"这一按钮的用户会发送之前的数据,并且提示到下方地址支付0.18BTC,以便对文件进行解密:

一次对恶意邮件分析并拿下其赎金服务器的溯源

通过更改FB类中第一个隐藏变量,你会观察到不同的比特币钱包地址,并且勒索金额不等。如下是不同的勒索页面:

一次对恶意邮件分析并拿下其赎金服务器的溯源

这就使得这一系统具有一定的漏洞。事实上,我可以对比特币钱包进行枚举,如果不存在,就新建一个新的比特币钱包,填补攻击者为剩余钱包保留的空间。这样可能会阻止攻击者进行新感染。所以,我写了一个比较邪恶的python脚本去强制创建新的钱包,和金钱映射:

一次对恶意邮件分析并拿下其赎金服务器的溯源

接下来通过FB参数进行进一步分析,我发现这一参数很容易受到sql注入攻击,简直了!!
注入点是被叫做<pre>的一个标签,如下图:

一次对恶意邮件分析并拿下其赎金服务器的溯源

所以我们试试攻击这一网站,像上图中,你会发现一个Mysql爆出来的不是拉丁字符的错误,google翻译提示这是俄语,现在我们可以推断出攻击者有非常大的可能性是俄罗斯人。只有用TOR浏览器才可以访问到数据库,并且速度还非常非常慢,不过我发现了一些自动化的进程,请查看增量ids,试图想象一下这个网络到底有多大。

一次对恶意邮件分析并拿下其赎金服务器的溯源

另外一个有趣的话题就是攻击者是谁呢?换句话说,使用这一勒索平台的用户就是攻击者,因为这看起来像一台勒索服务器,所以我下一个目标就是看看攻击者已经获得了多少钱。下图我展示了我发现的用户名以及密码,和用于收钱的钱包。

一次对恶意邮件分析并拿下其赎金服务器的溯源

我将注意力集中到了god.true@xmpp.jp这一用户上面,他与私人钱包:1P3t56jg5RQSkFDWkDK3xBj9JPtXhSwc3N有关。

钱包类型有两种:
一种是公共钱包,这种钱包会将受害者的钱存起来,每个人都可以访问到这一钱包,这些钱包用于受害者支付他们的赎金。
另外一种是私人钱包,攻击者会将公共钱包得到的赎金转移到这类钱包里面,这个过程中,交易平台会收取一定的费用。

拥有私人钱包就意味着可能会找到交易记录,有了交易记录就可以确定攻击者在几个月内从事了多少违法活动。通过调查go.true@xmpp.jp的私人钱包,我们找到了很多有趣的东西:

一次对恶意邮件分析并拿下其赎金服务器的溯源

在交易记录中可以看到在2017-4-23和2017-4-20号从此钱包中转出了81.87个比特币。再加上我们目前了解到的勒索数量13个比特币,加起来已经接近了100比特币。在4月份你还记得爆发了什么勒索攻击了吗?这一攻击者看起来是一个惯犯,从事这种勒索活动肯定不只一次。通过对电子邮件的调查,发现这一邮箱和https://vlmi.su/这一出售攻击工具,信息的俄罗斯市场有密切的联系。
通过sql注入,我提取除了"inst"表的内容,字段名称如下:

ID, IP, FB, OS, TIMED, TIMEIN. COUNTRY, BRWSER

表中记录的是受害者的信息,让我们看看能不能帮助他们!
从目前来看,就这一个简单的数据库中包含的受害者信息是2000多个,受害者分布来自世界各地。到目前未知,提取出的受害者国家分布如下:

一次对恶意邮件分析并拿下其赎金服务器的溯源

我不会透露受害者的ip地址,不过另外一个有趣的事情是用户使用浏览器的种类比例,奇怪的是chrome竟然占绝大部分。不过恶意软件是通过双击打开vbs脚本,然后利用wscript.exe进行感染的,这和浏览器关系并不大,难道是巧合?

一次对恶意邮件分析并拿下其赎金服务器的溯源

在这篇文章中,我一直在描述从电子邮件附件中获取恶意软件,将整个攻击者的数据库放在我称为TOPransom的服务平台上。我试图枚举攻击者的收入,并通过写一个快速和持久的python脚本填充每个用户的钱包,阻止新的勒索钱包创建,进而阻止勒索软件的蔓延。




原文发布时间为:2017年8月4日
本文作者:xnianq
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
9月前
|
XML 数据挖掘 Linux
服务器丨Linux安装测试单细胞分析软件copykat,遇到的常见报错与解决思路与方法
服务器丨Linux安装测试单细胞分析软件copykat,遇到的常见报错与解决思路与方法
|
20天前
|
运维 网络协议 Python
使用tcpdump和wireshark进行服务器抓包分析
使用tcpdump和wireshark进行服务器抓包分析
|
2月前
|
监控 JavaScript 安全
监控内网电脑软件设计与实现:基于Node.js的服务器端架构分析
在当今信息技术高度发达的时代,监控内网电脑的需求日益增长。企业需要确保网络安全,个人用户也需要监控家庭网络以保护隐私和安全。本文将介绍一种基于Node.js的服务器端架构,用于设计和实现监控内网电脑软件。
137 0
|
3月前
|
监控 安全 网络协议
windows服务器权限分析
windows服务器权限分析
24 1
windows服务器权限分析
|
8月前
|
Web App开发 前端开发 JavaScript
本地开发好的 SAP UI5 应用部署到 ABAP 服务器时,中文字符变成乱码的原因分析和解决方案
本地开发好的 SAP UI5 应用部署到 ABAP 服务器时,中文字符变成乱码的原因分析和解决方案
36 0
|
7月前
|
存储 弹性计算 大数据
什么是阿里云服务器?阿里云服务器的优缺点分析
什么是阿里云服务器?阿里云服务器的优缺点分析
126 0
|
8月前
|
API Apache Perl
关于 Spartacus 服务器端渲染出现 timeout 的一个具体例子的分析
关于 Spartacus 服务器端渲染出现 timeout 的一个具体例子的分析
44 0
|
8月前
|
数据采集 缓存 JavaScript
运行在 CCV2 环境上的 Angular 服务器端渲染应用的性能瓶颈分析
运行在 CCV2 环境上的 Angular 服务器端渲染应用的性能瓶颈分析
38 0
|
8月前
|
存储 算法 Oracle
服务器数据恢复-UNIX类文件系统数据恢复可能性分析
服务器数据恢复环境: 基于UNIX系统,软件层级的数据灾难。 服务器故障: 1、存储结构出错。 2、删除数据。 3、文件系统格式化。 4、其他原因导致的数据丢失。
|
9月前
|
弹性计算 负载均衡 并行计算
实战案例分析:ECS在电商和大数据领域的应用
本文通过实际案例分析,深入探讨了云服务器ECS在电子商务和大数据领域的应用。在电子商务网站部署方面,我们介绍了如何使用ECS构建稳定的电商平台,包括弹性伸缩和负载均衡的实践。通过示例代码,读者可以了解如何创建ECS实例、配置负载均衡器,以及设置自动伸缩策略,以应对不同流量情况。
336 1