驱蚊器喵的翻译平台

Can you hear the gravity?

  1. 1. 小说反映着现实故事
  2. 2. 计划攻击方案
  3. 3. 一大堆加密狗
  4. 4. 后续
  5. 5. 附录:用 ELK 监控 Dark Army

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


原文地址:https://medium.com/@ryankazanciyan/mr-robot-disassembled-3-4-runtime-error-r00-9319c70c30f2
原文标题:Mr. Robot Disassembled: 3.4_Runtime-Error.R00
原文作者:Ryan Kazanciyan
原文写于:2017/11/09

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


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

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


我一直在急切地期待这一集的播出 - 因为这是第三季中我最喜欢的一集。当我翻阅我的笔记时,我惊讶地发现,Kor 和我早在一月份就开始为 “eps3.4_runtime-err0r.r00” 这集的场景工作。对 E 公司硬件安全模块(HSM,Hardware Security Modules)的攻击是我们在第三季中描述的最为复杂的一次黑客攻击。

本周写的大部分内容集中在 HSM 的场景上。最后,我还会提供一些关于 Elliot 使用 ELK 监控 Dark Army 活动的见解。

小说反映着现实故事

我从 2013 年为一家大型跨国公司进行的漏洞调查中获得了入侵 HSM 的灵感。在案件调查进行到一半时,我们发现,被认为是国家支持的攻击者,把目标放在了受害者的软件代码签名的基础设施上。这对许多企业来说是最糟糕的情况。在几天的时间里,攻击者获得了对属于关键架构师和工程师的系统的访问权限,窃取了大量的凭证和文件,并最终转向针对 HSM 和管理它们的系统。

HSM 类似于一个防篡改的保险库,用于存储重要的私密文件,比如加密密钥和证书。它们的设计使加载数据很容易,但要提取数据却非常困难。当你需要使用存储在 HSM 上的东西时,比方说用于对软件进行数字签名的私钥,你可以在设备上用专门的工具签名,而无需将密钥文件从安全硬件中带走。HSM 会是你在企业网络中发现的最敏感和保护最好的一个设备。

虽然攻击者没有成功攻破 HSM,但他们距离成功咫尺之遥。他们仍然设法窃取了一些错误地存储在其他系统上的私钥和代码签名证书。而且这显然不是他们的第一次行动:他们的一些恶意软件是用以前从另一家公司偷来的证书进行数字签名的。事实上,最近发表的研究报告(1,2)对过去几年中代码签名证书攻击的普遍性有了新的认识。

计划攻击方案

当 Kor 和我第一次开始讨论第三季时,他描述了 Dark Army (DA) 和 Elliot 之间不断升级的黑客攻击以及回应的曲折故事。我提出将 HSM 攻击作为这场猫捉老鼠游戏的高潮。从技术角度来看,如果成功入侵 HSM,DA 就可以用属于 E 公司的密钥对软件进行数字签名。这意味着,他们可以创建一个恶意的更新固件,绕过 Elliot 的 UPS 补丁。从讲故事的角度来看,这支撑了一个充满紧张气氛的场景,复杂的物理任务必须在 E 公司内部的安全实验室中进行。

为什么 Dark Army 不能通过远程攻击直接进入 HSM,比如通过他们最近建立的一个后门进去?HSM,以及与 HSM 直接连接的管理系统,将与 E 公司的大部分网络隔离。HSM 也被锁在额外的物理控制后面,需要专门的证书和 USB 钥匙(又称加密狗)来获得授权访问。

然而,管理 HSM 的代码签名架构团队(CSAT)成员仍有正常使用的电脑,可以连接到 E 公司的网络,进行电子邮件等基本工作。这就提供了一个机会。通过破坏这些系统,Dark Army 可以收集技术信息、密码和其他必要的数据,为后续攻击代码签署基础设施做准备。

一大堆加密狗

Angela 发现自己身处 CSAT 的机房里,带着满满一袋装备和一串指令。她已经接手了任务,将 E 公司的一个 HSM 克隆到一个便携式 HSM 备份设备。这是一个复杂的过程,有很高的失败风险。对 Angela 来说,幸运的是, Dark Army 已经做足了功课。

我根据克隆 SafeNet Luna HSM(一种企业常用的型号) 所需的步骤来复现这次攻击。可以说这是一个错综复杂的过程。

SafeNet Luna HSM 设备的备份过程示意图

按照图中的编号。 Angela 在管理员的笔记本电脑(2)上工作,使用她的指示中提供的登录凭证( Dark Army 之前入侵窃取的)。该系统通过本地专用网络连接到机架式 HSM(3)。她的指示包括笔记本电脑的登录凭证。她有一个 Dark Army 提供的备份 HSM(5),但没有授权克隆操作所需的引脚输入装置(PED,Pin Entry Device)(1)或红色 USB 钥匙(4)。

Angela 很快在服务器架的一个抽屉里找到了 PED。但 USB 钥匙却不见了,这导致她疯狂地搜索 CSAT 实验室的隔壁房间。

这是该计划中风险最大的部分。HSM 的 USB 加密狗是要仔细看管的,许多公司在不使用时把它们锁在保险箱里。没有 USB 加密狗,行动不可能成功。对 Angela 来说,幸运的是,即使是安全管理员也可能粗心大意(更不用说在暴乱中急于逃跑了),她在一个袋子里找到了留下的一把钥匙。

所有东西都连接好了后, Angela 就运行 Dark Army 提供的优盘上的工具,使克隆过程自动进行。下面的图片显示了我为这个场景模拟的第一组屏幕上的文字。你也可以查看这些命令的文档以及它们在真实世界设备中的预期输出。

第一系列的脚本和命令以及 HSM 克隆工作的输出

有一个时候,屏幕上显示 “Please attend to the PED”。 Angela 必须在附加的键盘上输入一个 PIN 码,同样是在 Dark Army 的说明中提供的。一旦她完成了这个最后的认证步骤,备份过程就可以开始了。当摄像机移过屏幕时,你可以看到几十行包含 “Cloned object” 字样的文字在滚动。这些 “objects” 便是受保护存储中的项目,比如私钥,被拷贝到新授权的备份 HSM 设备。

HSM 克隆工作最后步骤的原型图。正如所拍摄的那样,在操作进行的过程中,还有许多 "Cloned object" 的行在滚动。

在紧张的一分钟后,操作完成了。 Angela 断开了所有的连接,将备份 HSM、USB 密钥和驱动器(PED可以留下)打包。完成后离开了实验室。

作为一个简短的旁白,我很幸运地加入了 Kor 的拍摄现场,在拍摄这一幕的过程中提供帮助。看到演员和工作人员为执行整个剧集的超长镜头所做的大量努力和协调,令人印象深刻。我必须为 Portia Doubleday 的表现点个赞,她在紧张的场面中,将 HSM 的黑客行为表现得淋漓尽致,尤其是必须依次连接的一系列复杂的电缆和设备。

后续

一旦 Dark Army 得到了备份 HSM 和 USB 加密狗,他们接下来会做什么?我们有理由相信,他们事先已经对其他受害者进行了类似的黑客攻击,而目前 HSM 硬件制造商只有少数几个 。考虑到所有这些因素,他们可能会采取一系列相同的步骤来签署他们的恶意软件,就好像恶意软件是合法的 E 公司软件一样。他们还可能拥有漏洞允许他们从易受攻击的 HSM 中提取密钥,只要他们能够实际接触到原始或克隆的设备。

一次成功的攻击为 Dark Army 赢得了时间,但不是无限期的。E 公司可以撤销被盗的证书,并采取措施确保这些证书不再被任何系统或设备所接受。对于大规模的破坏,这可能是一个重要的、耗时的努力。

附录:用 ELK 监控 Dark Army

在本集的开头,我们可以看到 Elliot 为监控 Dark Army 对 E 公司的攻击而设置的安全工具。他使用的是 “ELK“,一个由三个工具组成的开源平台。Elasticsearch 用于数据索引和分析;Logstash 用于收集日志和其他数据源;以及 Kibana 用于可视化。ELK 在安全从业者中很受欢迎,而且足够轻巧,Elliot 可以合理地创建自己的监控虚拟机,而不是依赖 “官方” E 公司的安全基础设施。

Kibana 允许你创建可定制的仪表板,由你想监控的任何系统或日志来源的信息组成。为了帮助 Elliot 关注那些已经被 Dark Army 入侵和装了后门的系统。我设置了显示你从端点检测响应(EDR,Endpoint Detection and Response)工具中看到的各种数据的面板:历史进程活动、登录的用户等等。

如本集所示的 Kibana 仪表盘。左上角的面板包含了一些有趣的命令历史,这些命令来自一个被安装了后门的系统...

我还准备了一个标有 “UPS固件状态” 的面板。这显示了更新日志的最后一行,对任何试图加载恶意固件的行为发出警告。正如你从截图中看到的,该面板显示,在 06:07:20 发生了一次失败的固件更新。这意味着 Elliot 的补丁起作用了……但 Dark Army 仍然以某种方式重新获得了对纸张记录设施中的 UPS 系统的访问。

左上角的面板显示了 Dark Army 在E公司网络中被入侵的一个系统中先前执行的命令的摘录。当 Elliot 在本集开始时查看这些信息时,他认识到他们的目标是代码签名架构团队(CSAT)。这些命令模仿了你在真正的入侵中看到的入侵后的活动类型。

下面是对它们的含义分析:

1
net group "CSAT Administrators" /domain

列出 Windows 活动目录中组名为 “CSAT Administrators” 的所有用户

1
net user Frank.Bowman /domain

列出用户 “Frank Bowman” 的账户信息(用户名可能是从上一条命令的输出中确定的)。

1
dsquery computer ou=csat,dc=e-corp,dc=usa,dc=com

列出属于 E 公司内部 “CSAT” 组织单位的计算机

1
net view \\csat-fs01

查看文件服务器 CSAT-FS01 上的共享(计算机名可能是从之前的命令中确定的)。

1
mimi.exe "privilege::debug" "kerberos::ptt c:\temp\tickets\" exit

运行命名成 mimi.exemimikatz.exe 凭证窃取工具。命令行参数调用 Pass-the-Ticket 模式,使用存储在 “c:\temp\tickets" 目录下的 Kerberos 门票。(在运行此命令之前,Dark Army 将事先恢复并复制这些票据)。

1
net use y: \\csat-fs01\D$

将 CSAT-FS01 上的 “D” 卷挂载到被感染系统上的盘符 Y:

1
xcopy y:\hsm c:\temp /s /e

递归复制 “Y:\hsm”(记住,它映射到 “\CSAT-FS01\D$\hsm” )的所有内容到本地临时文件夹

总之,这个序列捕捉到了 Dark Army 从 CSAT 团队窃取数据的部分努力工作,作为发动 HSM 攻击的前奏。

为了确保这个场景看起来很真实,我建立了一个真正的 ELK 虚拟机,并从一些Windows 和 Linux 系统中填充了数据,在这些系统中我欺骗了恶意活动。我在下面附上了我的原始设计中的一个截图。

Elliot 的 Kibana 主机监控仪表盘的原型图

当我们从屏幕上移开时,Elliot 启动了与他的 ELK 服务器的 SSH 连接,来查看通过 logstash 收集的全套 UPS 更新日志。第二阶段(Stage 2)可能还在进行中…

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

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