揭秘用“世界上最好的编程语言”制作的敲诈者木马

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
.cn 域名,1个 12个月
简介:

背景

你永远叫不醒一个装睡的人。但,快递小哥可以!

虽说是一句戏言,但确实多少反映出了快递在大家心中的重要性。如果你收到一个带有快递公司发来的电子邮件通知,你会不会也希望快点打开看看是不是哪个朋友给你寄了什么东西等着你去取呢?最近我们就收到了这样的一个带有“快递单号”的电子邮件附件。唯一有些水土不服的就是——在中国用FedEx的确实并不很多……大写的PITY……

  木马起始——FedEx_ID_00645987.doc.js

这个所谓的doc文档,其实是一个javascript脚本,而脚本的内容……好乱……

  凌乱的javascript脚本代码

经过简单的解密和格式整理,给大家呈现了一个比较漂亮的脚本格式如下:

  整理后的javascript脚本代码

脚本主要功能就是循环下载并执行木马。脚本中供提供了5个域名供下载(域名作用为备份,如果前面的域名可以下载,则不再尝试后面的域名):

脚本通过给URL传递不同参数的方式,获取不同的文件(返回状态码200且返回内容大于1000字节即判断为下载成功)。

最终木马获取如下文件(p.s. 根据后续实测,这五个文件仍在服务端不定期更新,本文仅描述文章撰写时下载到的样本行为):

如上表所示,脚本下载到本地的5个文件实际上被分成了3组:a1.exe和a2.exe各自独立运行;a.exe、php4ts.dll和a.php则同为一组。必须三个文件同时存在,脚本才会执行该木马,而且还会再执行完第三组之后打扫一下战场——删除掉木马文件并且修改注册表值用于关联被加密的文件:

  根据VT的扫描结果来看,54家全球主流杀软中有12款产品可以检出该木马:

  PHP木马分析

其实这个木马最先引起我们兴趣的是后面下载的这三个一组的文件。之所以引起我们的兴趣,是因为根据我们的记录:a.exe和php4ts.dll其实都是人畜无害的合法程序。实际上,a.exe是PHP Thread Safe CGI(PHP线程安全通用网管接口),而php4ts.dll则是这个接口程序运行所必须导入的一个动态库文件:

把话说的通俗点,这两个程序其实就是一个php脚本的解释器。他们被下载下来的唯一目的——就是让a.php可以执行。所以就让我们看看这个a.php吧:

代码逻辑并不复杂,脚本会遍历C盘到Z盘的所有盘符下的文件,并跳过含有以下字符串的目录:

winntootsystemwindows mp empprogramappdataapplication oamingmsoffice emporarycacherecycle

查找以下这些扩展名的文件:

zip|rar|r00|r01|r02|r03|7z|tar|gz|gzip|arc|arj|bz|bz2|bza|bzip|bzip2|ice|xls|xlsx|doc|docx|pdf|djvu|fb2|rtf|ppt|pptx|pps|sxi|odm|odt|mpp|ssh|pub|gpg|pgp|kdb|kdbx|als|aup|cpr|npr|cpp|bas|asm|cs|php|pas|class|py|pl|h|vb|vcproj|vbproj|java|bak|backup|mdb|accdb|mdf|odb|wdb|csv|tsv|sql|psd|eps|cdr|cpt|indd|dwg|ai|svg|max|skp|scad|cad|3ds|blend|lwo|lws|mb|slddrw|sldasm|sldprt|u3d|jpg|jpeg|tiff|tif|raw|avi|mpg|mp4|m4v|mpeg|mpe|wmf|wmv|veg|mov|3gp|flv|mkv|vob|rm|mp3|wav|asf|wma|m3u|midi|ogg|mid|vdi|vmdk|vhd|dsk|img|iso

打开每一个符合扩展名要求的文件,读取前1024字节并和密钥做循环异或加密。加密完成后再将修改后的文件加上一个.crypted扩展名——万事大吉。

只是让我们很疑惑的是——虽然php这世界上最好的语言(好吧,这只是个梗),但木马作者是如何用php在这么一段并不算长的代码中实现不对称加密的敲诈者代码的?

细读代码之后恍然大悟——并没有实现……这段代码的加密方式采用了对称加密算法,准确的说是循环异或加密。更加“人道主义”的是——这个php的加密代码其实是“两用”的,只要修改脚本中的一个参数,整个脚本立刻成为了解密脚本。可以直接将加密的文档解密回去:

所以说世界已经这么乱了,不对称加密的敲诈者满天飞的今天,对称加密敲诈者能不能就不要来添乱了?

当然,也并不是说这个脚本就人畜无害了——对称加密没有密钥想解开依然很麻烦,虽然我们这里拿到密钥了,但上面已经说了:木马作者再服务端依然持续更新着木马的内容,并且木马运行后会自删除,所以说虽然是对称加密,但依然有可能因为找不到加密时的密钥导致依然很难解开文件(难,但并非无解)……

但这都不是重点,重点是木马在加密完文件之后给出的敲诈信息:

相对于那些动辄两三个比特币的敲诈者木马来说,0.40290个比特币虽然有零有整的程度令人发指,但确实也算是价钱厚道了。但你所谓的“RSA-1024”是什么鬼?明明就是个简单的循环异或加密好么!不要假装自己是高大上的不对称加密好么!WTF……

POWERSHELL木马分析

然后我们再来说说两个独立运行的powershell木马。虽然a1.exe与a2.exe是各自独立运行的,但因为他们的行为基本相同,所以我们这里合并为一个来做统一说明。

样本首先会执行注入功能:

  之后对线程做恢复以便执行注入后的代码:

完成后,恶意代码会检测机器环境——对不知处powershell的系统安装微软的KB968930补丁(补丁相关说明:https://www.microsoft.com/en-us/download/details.aspx?id=16818),添加对powershell的支持:

在确保用户环境可以执行powershell之后,注册一个文件关联,在文件打开的shell command中执行一段脚本:

这是一段短小精悍的脚本,但系统会根据这段短小的脚本的指令,再次访问注册表去执行注册表中的另一段恶意代码:

通过这种方式,恶意程序将恶意代码全部保存在注册表中,而落地文件只是用于触发恶意代码的执行,本身并没有恶意代码。落在本地的文件根本没有恶意代码,这样就更容易绕开安全软件的扫描检测。

我们导出含有恶意的代码的注册表内容,如下:

虽然已经是落在注册表中,但显然木马作者还是不放心——依然是用了多次的加密来掩盖这段代码的行为意图。经解密,我们得到的最终执行代码正是一段powershell代码:

显然,虽然已经解密到最终一步,但中间的变量“$sc32”依然让人看着有些不知所云……但看到ps1代码的最后,发现其实这已经是最终代码了。最终就是将$sc32的内容全部加载带内存中执行:

我们把数据dump出来,发现代码会从远端下载文件到本地执行,并且还会判断一下文件是否是有效的可执行程序——典型的下载者木马:

  非PE渐成趋势

随着安全软件的普及,木马病毒与安全软件的对抗也逐渐变成了“近身肉搏战”,大家都在钻细节,都想在对方忽略的某个小点上做单点突破——这样一来,各种脚本甚至连脚本都不算的数据文件就显现除了相对于传统PE格式木马更多的优势。

这次出现的敲诈者木马就是典型的例子——一个javascript脚本木马释放出了一个php脚本木马和两个powershell脚本木马。而powershell木马甚至都没有落成ps1脚本而是直接在注册表中存储,php木马有落地的php文件,但php脚本既然能实现对称加密的敲诈者木马,更高一级的不对称加密敲诈者木马真的还会远么?

当然,并不是说非PE就可以为所欲为了,既然是近身肉搏,安全软件的响应自然也不会处于下风——兵来将挡水来土掩,我们已经做好了战斗准备。

本文转自d1net(转载)

相关文章
|
7月前
|
安全 PHP 数据库
【PHP开发专栏】PHP文件包含漏洞与防范
【4月更文挑战第30天】本文探讨了PHP文件包含漏洞,该漏洞让攻击者能执行恶意代码或访问敏感信息。文章分为三部分:原理、影响和防范。文件包含函数(如`include`和`require`)在攻击者控制文件名时可能导致漏洞。影响包括执行恶意代码、泄露敏感信息和影响服务器性能。防范措施包括验证文件名安全性、使用安全包含函数、设置安全包含路径和参数,以及定期更新和维护代码及库。开发者应重视此问题,采取相应措施保障应用安全。
148 0
|
安全 Unix Linux
好工具推荐系列:开源的杀毒软件
好工具推荐系列:开源的杀毒软件
1950 0
|
安全 索引 Windows
干货丨windows内核www漏洞利用手法(修改版)
注:由于上次发出来的不完整,所以删除了重新发完整点的 前言:Gcow安全团队复眼小组致力于对漏洞的挖掘和研究,并且对于二进制和web漏洞方面都有所研究,有独立挖掘漏洞和独立复现漏洞的能力,本篇文章由Gcow安全团队复眼小组晏子霜师傅所写!
|
SQL 监控 安全
分享一些渗透测试的工具(压箱底的)(附带下载链接)
分享一些渗透测试的工具(压箱底的)(附带下载链接)
分享一些渗透测试的工具(压箱底的)(附带下载链接)
|
SQL 安全 关系型数据库
ecshop 全系列版本通杀漏洞 远程代码执行sql注入漏洞
ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0、3.6、4.0版本都受此次ecshop漏洞的影响,主要漏洞是利用远程代码执行sql注入语句漏洞,导致可以插入sql查询代码以及写入代码到网站服务器里,严重的可以直接获取服务器的管理员权限,甚至有些网站使用的是虚拟主机,可以直接获取网站ftp的权限,该漏洞POC已公开,使用简单,目前很多商城网站都被攻击,危害较大,针对于此我们SINE安全对该ECSHOP漏洞的详情以及如何修复网站的漏洞,及如何部署网站安全等方面进行详细的解读。
541 0
ecshop 全系列版本通杀漏洞 远程代码执行sql注入漏洞
|
安全
超级好用的截图软件,简洁,高效,体积小,无病毒。
超级好用的截图软件,没有复杂的操作也没有病毒广告,截出的图分辨率高。可以随时随地截图,不用在依赖第三方的类似QQ的软件。你值得拥有~ 链接:http://pan.baidu.com/s/1kVJSBsj 密码:jr35
739 0
|
存储 安全 Android开发