转载

安全研究人员发现了第一个使用JS的勒索软件

软件即服务(SaaS)是一种相对新型的模式,决定了大量软件公司如何开展他们的业务——而且总是取得了巨大的成功。因此,当恶意软件作者和网络攻击者将这一模式用于服务自己的邪恶目的时,这种想法也变得一点儿都不奇怪。

在过去的一年中,出现了一大堆的“勒索SasS”的行为,例如Tox、Fakben或者Radamant。这里,让我们将焦点汇聚在最新的行动当中。

Ransom32介绍

Ransom32乍看之下与众多相似的恶意软件活动不可同日而语。通过隐藏于Tor网络中的服务器,进行登录。只需一个简单的比特币地址便可以进行注册。

安全研究人员发现了第一个使用JS的勒索软件

想要获得专属定制勒索软件,你只需提交一个收取赎金的比特币地址

在你输入了比特币地址后,你便可以进入基础管理面板。在管理面板中,你能够获取各种统计数据,例如有多少人进行了支付或是有多少系统被感染了。你还能配置你的“客户”,尽管对他们而言这是一款恶意软件。它还能变更恶意软件勒索的比特币数量,以及对安装时显示的假消息框等参数进行配置。

安全研究人员发现了第一个使用JS的勒索软件

你可以通过一个web界面看到有多少系统受到恶意软件感染,它获取了多少比特币,你还可以对恶意软件进行进一步定制。

打开潘多拉的墨盒

经过进一步的检查发现,感染后下载的文件是一个WinRAR自解压文档。

安全研究人员发现了第一个使用JS的勒索软件

Ransom32 SFX文档的内容

这个恶意软件使用了植入在WinRAR中的脚本语言,自动将文档内容解压缩到用户临时文件目录,并执行文档中的“chrome.exe”文件。文档下的文件具有这些目的:

“chrome”包含DPL许可协议的副本。 “chrome.exe”是一个打包过的NW.js应用程序,包含实际恶意软件代码以及运行所需的框架。 “ffmpegsumo.dll”、“nw.pak”、“icudtl.dat”以及“lacales”中包含使NW.js框架正常运行所需的数据。 “rundll32.exe”是一个Tor客户端的重命名副本。 “s.exe”是Optimum X Shortcut的重命名副本,一个用于创建和操纵桌面以及开始菜单的快捷方式。 “g”包含了该恶意软件的配置信息用于 web 接口的配置。 “msgbox.vbs”是一个小脚本,显示一个可定制的弹出消息,并用于消息框的显示。 “u.vbs”是一个用于删除的脚本,可以删除所有制定目录下的文件和文件夹。

安全研究人员发现了第一个使用JS的勒索软件

“g”中包含恶意软件的配置,格式为JSON

最有趣的部分就是“chrome.exe”打包的内容。在第一次的检测中,“chrome.exe”看起来非常像一个Chrome浏览器副本。只是缺少合适的数字签名以及版本信息告诉我们,这个文件并非真正的Chrome浏览器。经过进一步的检查发现这是一个打包NW.js应用程序。

将现代网络技术用于勒索软件

现在问题来了,NW.js究竟是什么?NW.js实际上是一个框架,你能够使用JS为Windows、Linux以及MacOS X开发桌面应用程序。它基于流行的Node.js和Chromium项目。JavaScript通常是运行于 浏览器沙盒中的,无法真正接触到运行的系统,而NW.js则具备了更多对底层操作系统的控制与互动,让JS能够像C++或者Delphi等“正常”程序设计语言完成几乎所有的事情。对开发者而言,他们会得益于相对轻松地将web应用程序转变成一般桌面应用程序。因此NW.js应用程序只需要进行一次编程,便可以在Windows、Linux以及MacOS X上进行使用。

这意味着,至少是在理论上而言Ransom32是非常容易被打包用于Linux和MacOS X系统。而目前我们尚未发现仅适用于Windows的Ransom32。对恶意软件作者而言另一个“优势”便是NW.js是一个合法的框架及应用程序。

一旦Ransom32进入一个系统并运行,它先将所有文件解压到临时文件夹。从这里它将自己复制到“%AppData%/Chrome Browser”目录中。它使用捆绑的“s.exe”文件在名为“ChromeService”启动文件夹中创建一个快捷方式,以确保恶意软件在每个boot中都执行。恶意软件将开始捆绑Tor客户端用以和C2服务器建立链接,隐藏于Tor网络的85端口上。在与 C2 服务器连接成功后,受影响的用户会被假想向协商的比特币地址发送勒索信,并交换用于加密的密钥,最后,恶意软件将会显示其勒索信。

安全研究人员发现了第一个使用JS的勒索软件

恶意软件显示的勒索信息

从加密用户文件开始,以下出现的所有文件扩展名都会成为目标:

*.jpg, *.jpeg, *.raw, *.tif, *.gif, *.png, *.bmp, *.3dm, *.max, *.accdb, *.db, *.dbf, *.mdb, *.pdb, *.sql, *.*sav*, *.*spv*, *.*grle*, *.*mlx*, *.*sv5*, *.*game*, *.*slot*, *.dwg, *.dxf, *.c, *.cpp, *.cs, *.h, *.php, *.asp, *.rb, *.java, *.jar, *.class, *.aaf, *.aep, *.aepx, *.plb, *.prel, *.prproj, *.aet, *.ppj, *.psd, *.indd, *.indl, *.indt, *.indb, *.inx, *.idml, *.pmd, *.xqx, *.xqx, *.ai, *.eps, *.ps, *.svg, *.swf, *.fla, *.as3, *.as, *.txt, *.doc, *.dot, *.docx, *.docm, *.dotx, *.dotm, *.docb, *.rtf, *.wpd, *.wps, *.msg, *.pdf, *.xls, *.xlt, *.xlm, *.xlsx, *.xlsm, *.xltx, *.xltm, *.xlsb, *.xla, *.xlam, *.xll, *.xlw, *.ppt, *.pot, *.pps, *.pptx, *.pptm, *.potx, *.potm, *.ppam, *.ppsx, *.ppsm, *.sldx, *.sldm, *.wav, *.mp3, *.aif, *.iff, *.m3u, *.m4u, *.mid, *.mpa, *.wma, *.ra, *.avi, *.mov, *.mp4, *.3gp, *.mpeg, *.3g2, *.asf, *.asx, *.flv, *.mpg, *.wmv, *.vob, *.m3u8, *.csv, *.efx, *.sdf, *.vcf, *.xml, *.ses, *.dat

恶意软件将不会加密位于这些目录中的任何文件,它们通常包含以下字符串:

:/windows/ :/winnt/ programdata/ boot/ temp/ tmp/ $recycle.bin/

使用128位AES秘钥加密的文件将CTR作为一个块模式。每个文件将生成一个新的密钥,这个密钥使用了RSA算法和公钥进行加密,是从首次通讯期间的C2服务器上获取。

安全研究人员发现了第一个使用JS的勒索软件

Ransom32与C2之间自定义协议交换中的以部分,用于交换比特币地址(紫色)和公钥(长度是黄色、密钥是绿色)。

现在,AES加密密钥与AES加密数据一同储存在加密文件中。

恶意软件还提供了一个单一的文件来演示恶意软件作者有能力对这些密码进行逆向解密。在这个过程中,恶意软件会将指定文件的AES加密密钥发送到C2服务器,然后解密之后再发送回来。

*参考来源: blog.emsisoft ,Sodagreen编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

正文到此结束
Loading...