驱蚊器喵的翻译平台

Can you hear the gravity?

  1. 1. 制订 “五/九” 攻击计划
  2. 2. ./EnableAttack

《Mr. Robot》是我看过的最为精彩的黑客电视剧,剧中有大量真实的黑客元素,几年前看的时候有些看不太懂,直到最近才发现《Mr. Robot》技术顾问 Ryan Kazanciyan 写的揭秘文章,文章内有一些创作来源和幕后故事,看了以后觉得非常有趣,决定翻译后放到翻译平台上。


原文地址:https://medium.com/@ryankazanciyan/mr-robot-disassembled-eps3-2-legacy-so-a1e4bb153073
原文标题:Mr. Robot Disassembled: eps3.2_legacy.so
原文作者:Ryan Kazanciyan
原文写于:2017/10/27

译者:驱蚊器喵#ΦωΦ
翻译水平有限,有不通顺的语句,请见谅。


朋友们你们好。我是 Ryan Kazanciyan,《Mr. Robot》 的技术顾问。从第二季的后半部分,我开始与 Kor Adana (作家、制片人和 ARG 背后的策划者) ,以及《Mr. Robot》团队的其他成员一起工作。在整个第三季中,我将负责编写剧中描述的黑客,他们是如何聚集在一起的,以及他们的现实基础。

剧透警告! 本文讨论的是第三季第 3 集中的故事。


在上周以惊人的速度进行黑客攻击之后,”eps3.2_legacy.so” 提供了一点喘息的机会 - 也是一个最终的机会,让我们可以看到五/九攻击之后 Tyrell 发生了什么事。这一集的特点是有几个场景展示的黑客工具和源代码,都与上一季的事件有联系。因此,Kor 和我必须特别注意连贯性,确保每一个工具和输出线都与前几集的屏幕细节相匹配。

制订 “五/九” 攻击计划

“eps3.2_legacy.so “以 Elliot / Mr. Robot 和 Tyrell 发起五/九攻击的关键时刻开场。早在S2E01 集中,我们就看到了加密过程的开始,这是在 E 公司网络中的一台受害主机上运行的。

第二季中五九加密攻击的开始

在这一集里,当 Tyrell 几分钟后回到终端时,我们不得不展示正在进行的攻击。Kor 和我想让大家明白,这个过程是在感染和加密数以千计的 E 公司系统,而不仅仅是一次一个主机。我们还想避免设计刻板的在电影和电视的许多黑客场景中都有体现的 “攻击进度条”。

正在进行的黑客攻击。我们一点也不想做成这样。

我决定,五九恶意软件将有几个特点,使其能够在 E 公司的网络中迅速传播。每个被感染的系统都会产生线程,独立扫描子网中的在线系统,然后使用先前偷来的凭证或其他方式,使用安全复制协议(SCP)传输和执行有效载荷。这将确保恶意软件尽可能快地传播。

这与 NotPetya 和 Bad Rabbit 勒索软件的传播方式相当相似。两者都专门针对 Windows 主机,实施上有一些差异。它们使用源自 Mimikatz 的代码,从最初受感染的受害者那里窃取凭证,并使用本地 Windows SMB 和 WMI 将恶意软件传输并执行到其他系统。这些类型的攻击可以造成巨大的损失:航运巨头 Maersk 曾报告说,NotPetya 使他们损失了 3 亿多美元

五九攻击中恶意软件使用多线程加密有效载荷

考虑到这一设计,我模拟了这一正在进行的感染和传播过程的输出,也就是你在屏幕上看到的这样,尽可能多地打印一些信息,以便更多的人可以了解。这意味着输出信息将包括大量的冗长的状态信息。每个线程都会在屏幕上打印一个更新信息,说明它正在做什么:扫描新的主机,报告有多少主机在线,并继续进行文件传输和有效载荷的执行。

由于每个线程都是异步运行,可能需要不同的时间来完成,所以更新信息不是按数字顺序排列的。在没有活动的暂停期间,脚本会定期报告 “等待线程更新…”

./EnableAttack

上一季的家庭基站设备攻击有大量的活动部分,从 S2E05 的 Elliot 编写 Android 漏洞代码,到 S2E06 的 Angela 和 Darlene 合作在 E 公司的网络中植入设备。(我不能把这些精彩的情节归功于 Kor 和该剧的一些前顾问)。这也带来了一个疑问:黑暗军团在把基站设备交还给思科和 fsociety 之前对它做了什么?

在 “eps3.2_legacy.so” 中,我们看到 Tyrell 在 vim 中工作,完成 EnableAttack 程序的源代码。这与 S2E06 中 Angela 在家庭基站设备上运行的工具相同,使用的语法是:./EnableAttack femtopwn WLAN0,WLAN1。这个命令开启了设备上的蜂窝网络和 WIFI 接口,使家庭基站设备有效载荷能够入侵 FBI 的安卓手机,并为 Dark Army 提供对 E 公司内部网络的远程访问。

任何时候,我们包括一个包含源代码的镜头,我总是想确保它在语法上是有效的,经得起推敲,即使你只是看到文件的一部分。如果我们要展示一个定制的工具,我就必须写出我们自己的功能代码。在这种情况下,我还必须确保它产生同样的输出,而且是以同样的逻辑顺序,就像在前几集看到的那样。

EnableAttack shell 脚本的原始模拟图(部分摘录)

Angela 执行./EnableAttack 的方式,以及这个程序没有文件扩展名,意味着它可能是一个原生的 Linux 二进制文件。(在 *nix 中,只要文件的有执行权限,你就可以直接执行这个文件,无论它的扩展名是什么).

在执行时,EnableAttack 解析了命令行参数,并执行了一系列其他辅助脚本和工具,以执行家庭基站启动过程的每一步。为了使我的生产工作更容易一些,并确保更多的人能够理解,该脚本充满了大量的注释和 echo 语句。 Tyrell 是个一丝不苟的开发者,他写的代码都是有据可查的。

当我们看到 Tyrell 的屏幕时,脚本几乎已经完成,与上面的原型图几乎一样。他正在将配置变量 implant_callback_addr 设置为黑暗军团控制下的一个域名。脚本的后面部分大概会实现回调功能,连接到这个 C2 地址,从而给操作者提供一个进入 E 公司网络的立足点。

你会注意到,在具有黑暗军团后门的场景中,我们使用了不同的 C2 地址和域名。复杂的威胁团队往往使他们的 C2 基础设施多样化,使他们能够为每个受害者主机使用不同的回调域或 IP。当他们进入 E 公司的环境并感染其他系统时,你会想到他们会故意避免重复使用相同的 C2 地址。这就提供了弹性:如果一个地址瘫痪或被发现并被屏蔽,其余的地址就可以保持正常使用。

后来,Tyrell 偶然发现了 Elliot 在 S2E05 中写的安卓漏洞代码,并愤怒地质问这些为什么在这里,因为他不知道全部的计划。

攻击 femtocell 时使用的是三星 Knox RCE 漏洞

正如许多聪明的观众去年发现的那样,这是以三星 Knox 的漏洞为基础,用 Ruby 编写,包含在 Metasploit 框架中。我们重新使用了相同的源代码,以保持这个镜头的一致性。

本文作者 : meow
This blog is under a CC BY-NC-SA 4.0 Unported License
本文链接 : https://translation.meow.page/post/mr-robot-disassembled-eps3-2-legacy-so/

本文最后更新于 天前,文中所描述的信息可能已发生改变