
尽管勒索软件的增长态势在如今的网络安全威胁形势下明显趋于平稳,但它仍是网络犯罪的主要牟利手段。事实上,基于勒索软件的攻击活动数量在2018年上半年是有所增长的,这得益于勒索软件开发者在规避安全产品检测方面所付出的“努力”。
趋势科技(Trend Micro)于本周一(9月10)发表的一篇博文中指出,在7月底和整个8月,他们观察到大量垃圾电子邮件被用于分发一种名为“PyLocky”的勒索软件(由趋势科技检测为RANSOM_PYLOCKY.A)。单从命名上来看,我们很容易联想到臭名昭著的Locky勒索软件(事实上,PyLocky在赎金票据中的确将自己描述为Locky)。但趋势科技的分析表明,PyLocky与Locky并无关联。
研究表明,PyLocky是采用Python(一种流行的脚本语言)编写的,并经过了PyInstaller的打包,后者是一个能够将基于Python的程序打包为独立可执行文件的实用工具。
采用Python语言来编写勒索软件并不是什么新技术,就拿在2016年出现的CryPy(RANSOM_CRYPY.A)和在2017年出现的Pyl33t(RANSOM_CRYPPYT.A)来说,它们都是采用Python编写的。
PyLocky之所以会引起趋势科技的关注,是因为它具有独特的反机器学习能力。通过对Inno Setup(一个基于开源脚本的安装程序制作软件)和PyInstaller的结合使用,使得它对静态分析方法提出了挑战,包括基于机器学习的安全解决方案。
PyLocky的分发似乎具有一定的针对性,因为趋势科技仅观察到了一些针对欧洲国家的垃圾电子邮件,尤其是法国。另一方面,垃圾电子邮件的数量在一开始也非常的少,但随着时间的推移,无论是电子邮件数量和还是攻击目标范围都出现了增长。

图1:8月2日(左)和8月24日(右)的垃圾电子邮件分发情况

图2:PyLocky在赎金票据中将自己描述为Locky勒索软件
感染链
趋势科技表示,他们在8月2日检测到一场垃圾电子邮件活动针对了法国企业,攻击者使用了一些社会工程主题(如与发票相关的主题)来吸引收件人,目的在于诱使收件人电子正文中的链接,而该链接会将收件人重定向到包含PyLocky的恶意URL。

图3:垃圾电子邮件示例,主题为“Nousavonsreçupotrerepaiement”,代表“我
这个恶意URL指向一个ZIP文件(Facture_23100.31.07.2018.zip),其中包含一个已签名的可执行文件(Facture_23100.31.07.2018*ex.e**)。如果被运行,Facture_23100.31.07.2018*ex.e**将释放PyLocky的组件——几个C++和Python库、几个Python 2.7 内核动态链接库(DLL),以及PyLocky的可执行文件(lockyfud*ex.e**)。所有这些组件将会被保存在C:\Users\{user}\AppData\Local\Temp\is-{random}.tmp中。

图4:Facture_23100.31.07.2018*ex.e**的数字签名信息

图5:PyLocky的相关组件
根据趋势科技的说法,PyLocky的加密目标包括图片、视频、文档、音频、程序、游戏、数据库和存档文件等。下面是会被PyLocky加密的文件类型的列表:
.dat, .keychain, .sdf, .vcf, .jpg, .png, .tiff, .gif, .jpeg, .jif, .jp2, .jpx, .j2k, .j2c, .fpx, .pcd, .bmp, .svg, .3dm, .3ds, .max, .obj, .dds, .psd, .tga, .thm, .tif, .yuv, .ai, .eps, .ps, .svg, .indd, .pct, .mp4, .avi, .mkv, .3g2, .3gp, .asf, .flv, .m4v, .mov, .mpg, .rm, .srt, .swf, .vob, .wmv, .doc, .docx, .txt, .pdf, .log, .msg, .odt, .pages., .rtf, .tex, .wpd, .wps, .csv, .ged, .key, .pps, .ppt., .pptx, .xml, .js?1776964076.559 on, .xlsx, .xlsm, .xlsb, .xls, .mht, .mhtml, .htm, .html, .xltx, .prn, .dif, .slk, .xlam, .xla, .ods, .docm, .dotx, .dotm, .xps, .ics, .mp3., .aif, .iff, .m3u, .m4a, .mid, .mpa, .wav, .wma, .msi, .php, .apk, .app, .bat, .cgi, .com, .asp, .aspx, .cer, .cfm, .css?1776964076.559 , .js?1776964076.559 , .js?1776964076.559 p, .rss, .xhtml, .c, .class, .cpp, .cs, .h, .java, .lua, .pl, .py, .sh, .sln, .swift, .vb, .vcxproj, .dem, .gam, .nes, .rom, .sav, .tgz, .zip, .rar, .tar, .7z, .cbr, .deb, .gz, .pkg, .rpm, .zipx, .iso, .ged, .accdb, .db, .dbf, .mdb, .sql, .fnt, .fon, .otf, .ttf, .cfg, .ini, .prf, .bak, .old, .tmp, .torrent
加密例程
如上所述,PyLocky的开发者为其配置了一份目标文件扩展名列表,并且会滥用Windows管理工具(WMI)来检查受感染系统的属性。如果受感染系统的总可见内存大小小于4GB, 那么PyLocky的反沙箱功能将导致它休眠999999秒。如果大于或等于4GB,那么PyLocky的加密例程将启动。

图6:PyLocky查询系统属性的代码片段(上),PyLocky被配置为休眠一段时间,以逃避传统的沙
对于加密例程的实现,PyLocky使用了PyCrypto库以及三重数据加密算法(3DES)。它会遍历每一个逻辑驱动器,首先在调用“efile”方法之前生成一个文件列表,该方法使用加密版本覆盖每一个文件,然后释放赎金票据。在加密完成之后,PyLocky将与它的命令和控制(C&C)服务器建立通信。

图7:PyLocky加密例程代码片段

图8:PyLocky C&C通信代码片段
PyLocky有多个版本的赎金票据,包括英语、法语、韩语和意大利语,这也印证了它的攻击目标范围涵盖了多个国家。另外,它还会通过POST将受感染系统的信息发送到C&C服务器。

图9:PyLocky的赎金票据(多语言版本)
总结
PyLocky所使用的规避技术以及对合法Windows管理工具(WMI)的滥用进一步说明了深度防御的重要性。另外,机器学习的确是一个有价值的网络安全工具,可用于检测一些特殊的恶意软件,但它绝不是包治百病的灵丹妙药。
在如今的网络安全威胁形势下,为了确保攻击的成功,攻击者可能会竭尽所能地使用各种不同的感染载体,这也体现出了多层次的安全解决方案的重要性。对于企业或普通用户而言,定期备份文件、保持系统更新、谨慎对待系统组件的使用,以及培养网络安全意识等,都有助于我们在一定程度上免受各种网络威胁的侵害。
本文由 黑客视界 综合网络整理,图片源自网络;转载请注明“转自黑客视界”,并附上链接。