跳到主要内容

如何在网络上抢银行:开曼国家银行入侵启示

防御看起来全面,但攻击路径往往出其不意。 Phineas Phisher 在 2016 年对位于马恩岛的开曼国家银行实施的黑客攻击,完整呈现了一条从边界突破到资金转移的攻击链:利用第三方 VPN 设备的 0day 漏洞打开缺口,通过域控下发恶意软件盗取员工凭证,再以合法身份冒用的方式绕过多重审批流程完成 SWIFT 转账。结合 Phisher 自己撰写的《如何抢银行》以及普华永道对该银行的网络安全调查报告,可以清晰地还原攻击的关键时间节点和步骤。

多重审批被绕过,根本原因在于审批流程只覆盖正常业务,对被攻陷的内部账号无效。 银行的 SWIFT 支付流程设计了创建、验证、授权三个独立角色,但攻击者通过键盘记录器同时获取了三名员工的凭证,以合法身份逐一完成这三个步骤。合规流程在身份冒用面前形同虚设,这是此次案例最核心的安全启示。

入侵过程

背景信息

这次入侵并非针对性攻击,目标是任何一家可以突破的银行。 攻击者在针对安全公司 HackingTeam 的行动期间发现了 SonicWall SSL-VPN 的漏洞,意识到可以通过 ShellShock 利用它。当 ShellShock 漏洞曝光后,大量 SonicWall 设备受到影响,攻击者只需向 cgi-bin/welcome 发送 Payload 即可。Dell 随后发布了安全补丁,但遗漏了 cgi-bin/jarrewrite.sh,这个遗漏成为整条攻击链的起点。

三方供应链软件的暴露面往往是边界防御的盲区。 开曼国家银行在互联网边界做了一定的安全工作,但无法防御供应商软件中的未知漏洞。一旦边界被突破,内网缺乏有效的横向移动检测,攻击者得以长期潜伏。这个案例说明,仅仅加固已知风险点是不够的,纵深防御和异常行为检测同样不可或缺。

关键时间线

攻击者以机会性侦察为起点,目标在扫描中确定而非事先选定。 2015 年 7 月 12 日,攻击者使用 zmap 和 zgrab 扫描互联网,寻找存在 SonicWall 服务的 IP 地址,通过 IP 反向查找归属信息,在含有”bank”关键词的结果中,”Cayman”一词引起了他的注意,开曼国家银行由此成为目标。攻击者通过 RCE 漏洞获取了 VPN 服务器的管理权限,进而控制域控服务器,在多台员工电脑上安装键盘记录器和屏幕截图软件,开始潜伏分析内部运作流程,持续了数月。

长期潜伏阶段的核心工作是理解业务流程,而不是寻找更多系统漏洞。 2015 年 12 月 8 日前,攻击者下载大量内部文档,以 grep 搜索”SWIFT”和”wire”等关键词,通过屏幕截图和键盘记录器观察员工日常工作。发现员工通过 Bottomline 的远程 Citrix 系统访问 SWIFT,每条 SWIFT MT103 支付信息需经三名员工分别创建、验证和授权。攻击者用键盘记录器获取了这三名员工的账户凭证,从而能够以合法身份独自完成三个审批步骤。他还观察到银行并未主动审查已发出的 SWIFT 消息,这给资金转移留出了充分的时间窗口。

实际转账操作高度集中,说明攻击者在充分准备后才选择行动。 2015 年 12 月 17 日,攻击者尝试通过 Primacy Support 账号提取员工邮件内容,但未能成功。2016 年 1 月 5 日,攻击者通过 Primacy.Support 账号登录员工 Andrew Cubbon 的电脑,进行了两次 SWIFT 付款操作。2016 年 1 月 6 日,在下午 6 点至晚上 9 点之间又进行了 8 次付款,其中两笔被拒绝,随后退出账户。2016 年 1 月 7 日下午 5 点,使用 Primacy.Support2 账户再次登录后立即退出,同日开曼国家银行在日常检查中发现了大量异常 SWIFT 付款。

应急调查启动后,攻击者依然借助被攻陷的邮件系统追踪调查进展,止血措施因此大打折扣。 2016 年 1 月 19 日,普华永道受委托介入事件响应,调查发现攻击者通过合法账户和凭证进行了非法付款,获得了对员工系统和服务器的远程特权访问,并在多处安装了恶意软件。调查未发现内部员工参与。攻击者主要使用具有管理员权限的 Primacy Support 账号活动,并进行了一定清理操作,加之数据老化原因,部分活动记录已无法完整还原。

当普华永道开始监控网络后,攻击者转入低调,借助 Mimikatz 获取更新后的新密码,并通过 Outlook Web Access 持续阅读调查相关邮件。 这说明在应急阶段,通讯渠道的安全同样至关重要,如果内部邮件系统已被攻陷,应急团队的沟通本身就可能成为信息泄露来源。

防守方在扫描全部邮件时发现了一个独立的攻击迹象,说明当时可能有多个攻击者同时针对该银行。 一封来自 csdeployment@swift.com 的钓鱼邮件,标题为”Price Changes”,附件名为”1_Price_Updates_099123876_docs.jar”,发送域名 cncim.com 注册于 2015 年 7 月 27 日,是一个新注册域名。附件 AdWind 是一个用 Java 编写的跨平台后门,连接到外部控制服务器。通过分析反弹 Shell,攻击者使用了 PowerShell 执行 base64 编码的 shellcode,依赖 Metasploit 框架回连 C2,键盘记录器则结合了 nishangPowerSploit 两个开源项目。普华永道的报告未能推断两个攻击者之间的关联性,这在复杂威胁环境下是常见的溯源局限。

从真实事件中学习成本最低

0day 漏洞的发现与防护缺失

供应链软件的 0day 对大多数企业来说几乎无法提前防御,但流量侧的统一检测可以作为补偿手段。 这个漏洞从产生角度属于 0day,但 payload 本质上是 ShellShock,如果有统一的接入层,在流量侧相对容易识别此类攻击特征。近年来 HW 行动中,暴露在互联网上的通用服务被持续挖出新的 0day,在入侵路径中屡见不鲜。三方软件尤其是非标组件,应避免直接开放互联网,并与其他区域做好隔离。

员工身份凭证盗取成为后渗透中最薄弱点

攻击者控制域控后,选择观察员工行为而非继续挖掘系统漏洞,说明身份冒用比漏洞利用更高效。 攻击者给员工下发恶意软件,监视日常操作,通过键盘记录器盗取登录凭据,再以员工身份合法执行业务操作。即便目标系统启用了双因素验证,也可以在员工输入令牌的瞬间窃取并迅速复用。

身份冒用无法被阻断,是这条攻击链得以成立的核心条件。 企业内部管理系统中存在大量可查询任意数据或执行命令的高危功能,当操作行为完全贴合正常业务流程时,实时检测极难奏效。事后审计流程虽然不能阻止攻击,但在溯源和损失评估中仍然具有不可替代的价值。

应急:未找到互联网侧入口,导致止血动作不彻底

PwC 在溯源过程中未能定位到互联网侧的突破口,直接导致攻击者在应急调查期间仍然保有访问权限。 SonicWall SSL-VPN 漏洞始终未被找到,攻击者因此得以持续通过邮件系统追踪调查进展,最终连调查报告本身也被他获取并泄露。

应急过程中通讯渠道的安全性是常被忽视的环节。 卡巴斯基在处理三角测量行动时,因为无法确定攻击者是否具备实时监听能力,专门找了一个会议室,并要求成员不带手机或开启飞行模式。这是一种在信息不对称时的合理对策,也说明应急团队的协调本身需要独立于被攻陷的通信基础设施之外。

将 PwC 报告与攻击者自述的信息对比后可以发现,行为溯源层面的分析基本准确,但对恶意软件的深度分析存在差距,只停留在行为表层,未能还原攻击者的完整意图。

建高围墙式的安全体系无法应对纵深威胁

这次攻击所使用的技术工具并无特别之处,PowerShell、Mimikatz、Metasploit 均是广泛可得的公开工具,真正起决定性作用的是长达数月的潜伏和对业务流程的深入理解。 该银行在互联网边界做了相当程度的安全工作,但 0day 漏洞突破边界后,内网几乎没有任何检测能力被触发,攻击者在内网的横向移动和数据收集阶段完全没有遭遇阻力。

纵深防御的核心是假设边界会被突破,并在内网各层设置独立的检测和响应能力。 Operation Aurora 事件后,Google 意识到建高围墙的安全思路无法应对高级持续威胁,由此启动 BeyondCorp 项目,推动了零信任架构的普及。开曼国家银行案例与之形成了直接的对应:边界之外的防御固然必要,内网的身份验证、会话监控和异常行为检测才是应对此类攻击的根本。

A-DIY-guide-to-robbing-banks

Download

Cayman-National-Bank-and-Trust-CompanyIsle-of-Man-Limited-Project-Pallid-Nutmeg-2016-mini

Download