这里是 “黑客主义行动力” 系列的第一篇。本系列将总结并分析《Mr. Robot》中出现的一些抵抗行动技巧,尤其是它使用的相关技术。
提前说明,对于那些有程序正义洁癖的反抗者来说,本系列中有些内容可能会令您感觉不适,我们只是希望介绍一些方法 —— 不论您是希望防御攻击,还是准备***,这些知识都是有用的。
再一次:不要做坏事!
前言
在《Mr. Robot》结尾,Elliot 和 “去社会” 成功完成了他们的任务,即 使用AES-128 对邪恶公司的所有数据进行加密,并销毁了密钥。
现在,所有邪恶公司旗下的服务器 —— 包括世界上的消费者债务和助学贷款的70% —— 的数据已被成功摧毁,终结了这些暴政黑手的剥削压榨。
本文来看看 Elliot 是怎么做的,或者说……他们怎么可能做到这点。
由于该剧集的细节有些含糊(可能是为了剧情紧凑,它略过了一些技术性的信息),因此,我们来研究一下曾经在欧洲出现的类似攻击。
快速回顾剧情
看过这部剧集的人都知道,Elliot 和去社会组织在用树莓派 Raspberry Pi 入侵HVAC系统时摧毁了 Steel Mountain 持有的所有备份磁带,他们将存储设备中的温度调高到足以使备份无法使用的程度。
(Elliot 将将树莓派接入 Steel Mountain 内网后,入侵其温控系统,可使存储在 Steel Mountain 的磁带备份被烧毁)
(介绍:Steel Mountain 是一家数据安全设施,总部位于奥尔巴尼附近的阿迪朗达克山脉。凭借其钢制大门、武装警卫、和全面的CCTV监视系统,Steel Mountain 为标普500指数中的大多数寡头公司 —— 包括 E Corp —— 提供了信息管理服务)
由于磁带无法使用,Elliot 随后不得不销毁邪恶公司服务器上的数据(在免于被追踪的情况下)。如您所知,删除服务器上的文件不会彻底删除数据。Elliot 和他的队友也知道这一点,因此他们决定改用AES加密数据。
这样,数据仍然存在,但对于邪恶公司来说是不可识别的。
以 Chimera 为例
2015年,在德国发现了一种新型的勒索软件,被称为 Chimera。
请注意它被用来攻击德国的大企业,而不是像普通的勒索软件那样针对消费者。这是与《Mr. Robot》一致的。
由于大多数勒索软件的工作方式相似,因此,我们将其用作 Elliot 和去社会组织破坏邪恶公司硬盘驱动器上的数据的模型。
null-byte 总结了 Chimera 的工作原理,为简洁起见,省略了一些步骤。
如果您想要 Chimera 的副本进行自己的详细分析,null-byte 已经将其发布在此处的 Pastebin 上了。
第一步:传播恶意软件
就像近年来出现的许多勒索软件一样,Chimera 是通过电子邮件发送的,可能带有社交工程学组件,以诱使目标人点击链接或文件。它是用.NET编写的。
在此第一阶段,Chimera 最初将可执行存根传递给受害者,该存根的唯一工作是调用、解密和解码第二阶段的有效负载。
第二步:AES加密算法
第二阶段是加密和编码的有效负载,其中包含一种显然是AES加密算法的方法。
AES加密算法涉及4种操作:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)
Elliot 和他的同事很可能会使用此方法或类似方法来加密邪恶公司的数据。
可能会使它在多个线程中运行以加快进程。考虑到邪恶公司那类的目标可能拥有PB级数据的事实,将其全部加密将需要一些时间。
第三步:映射到内存
在下一阶段,Chimera 手动将其进程映射到内存。这就很有可能会绕过 Windows 和其他操作系统中内置的 ASLR 和 DEP 保护。
这些保护将进程可能在内存中的位置随机化,由于恶意软件无法预测指针的位置,因此更难以实现缓冲区溢出。但通过映射到内存,可以使恶意软件更有可能按预期运行。
第四步:查找要托管的32位进程
接下来,Chimera 遍历每个 Windows 进程,寻找可以承载其有效负载的32位进程,然后将其打开。
第五步:查找本地IP
接下来,该勒索软件使用 whatismyipaddress.com 查找被感染机器的IP。然后将该值存储在变量中。
第六步:回调到命令和控制服务器
一旦 Chimera 获得了被感染主机的IP,它便会调出其命令和控制(C&C)服务器。在这种情况下,这些服务器位于 95.165.168.168 和 158.222.211.81。
Chimera 使用 Bitmessage 在端口8444和8080上通过P2P协议进行通信。
Bitmessage 是一种安全的加密P2P消息传递系统,使一个人可以将消息发送给一个或多个收件人。您可以在下面的屏幕快照中看到 Chimera 调用Bitmessage客户端 PyBitmessage。
第七步:浏览并查找硬盘驱动器,然后是文件
接下来,恶意软件必须找到存储数据的硬盘驱动器。它需要浏览每个逻辑驱动器,然后将这些位置存储到变量中,以供以后在加密过程中使用。
第八步:获取随机密钥
现在,Chimera 已成功接管了32位进程,并将其自身映射到内存中以避免ASLR,它需要回调其命令和控制服务器以获取用于加密文件的随机密钥。
一旦从命令和控制服务器获得了随机密钥,Chimera 就会从上面的步骤2中调用AES加密算法中的函数,并开始对关键文件进行加密。
在开始加密之前,它将查找以下文件类型:
.jpg, .jpeg, .xml, .xsl, .wps, .cmf, .vbs, .accdb, .ini, .cdr, .svg, .conf, .config, .wb2, .msg, .azw, .azw1, .azw3, .azw4, .lit, .apnx, .mobi, .p12, .p7b, .p7c, .pfx, .pem, .cer, .key, .der, .mdb, .htm, .html, .class, .java, .asp, .aspx, .cgi, .php, .jsp, .bak, .dat, .pst, .eml, .xps, .sqllite, .sql, .jar, .wpd, .crt, .csv, .prf, .cnf, .indd, .number, .pages, .x3f, .srw, .pef, .raf, .rf, .nrw, .nef, .mrw, .mef, .kdc, .dcr, .crw, .eip, .fff, .iiq, .k25, .crwl, .bay, .sr2, .ari, .srf, .arw, .cr2, .raw, .rwl, .rw2, .r3d, .3fr, .eps, .pdd, .dng, .dxf, .dwg, .psd, .png, .jpe, .bmp, .gif, .tiff, .gfx, .jge, .tga, .jfif, .emf, .3dm, .3ds, .max, .obj, .a2c, .dds, .pspimage, .yuv, .3g2, .3gp, .asf, .asx, .mpg, .mpeg, .avi, .mov, .flv, .wma, .wmv, .ogg, .swf, .ptx, .ape, .aif, .av, .ram, .m3u, .movie, .mp1, .mp2, .mp3, .mp4, .mp4v, .mpa, .mpe, .mpv2, .rpf, .vlc, .m4a, .aac, .aa3, .amr, .mkv, .dvd, .mts, .vob, .3ga, .m4v, .srt, .aepx, .camproj, .dash, .zip, .rar, .gzip ,.mdk, .mdf, .iso, .bin, .cue, .dbf, .erf, .dmg, .toast, .vcd, .ccd, .disc, .nrg, .nri, .cdi
👉这些文件类型可能对业务运营至关重要。这些是图形文件、电子表格文件、数据库文件、备份文件、电子邮件文件、Java文件、音频文件、视频文件、和加密密钥。没有它们的话企业将瘫痪 —— 于是,它们就是让企业瘫痪的按钮……
第九步:赎金要求
最后,Chimera 向企业主索要赎金。
请注意,浏览器及其相关文件免于加密,以启用浏览器请求并接收赎金。
我们更喜欢《Mr. Robot》中的工作方法 —— “戴上这个面具,把钱烧掉” 😉。
感谢马耳他瓦莱塔的 ReaQTA 人员发现、拆卸和分析了该恶意软件(并提供了屏幕截图)。⚪️