渗透测试与工具
4.3 评估过程
4.3.4 红队的过程
虽然渗透测试擅长说明攻击者如何深入一个网络,红队则可以给出攻击者进入的所有
路径。红队这个词是从军队借用而来的。军事训练把好人称之为“蓝军”,或简称“蓝”,
把反方称之为“红军”或红队。(演习一般由“白队”观察、仲裁、评价。)所以,红队是 模拟敌方的。在本书中,笔者使用红队不仅是模拟敌方,而且模仿擅长攻击系统和社交工 程的敌方。
红队有自己的方法。为了正确地模拟敌方,红队不应该得到网络引线和办公室(可能 就在 IT 管理人员的对面)。好的红队应该自行发现网络上的入口,如果可能的话,在雇用 期间应一直“隐形”。这对顾客是个好事,因为红队测试了网络许多不同的方面,包括应急 反应。
红队可以是有系统的,也可以临机应变。在评估的计划阶段(前文讨论过),应该告诉 顾客你的红队能力并列出打算测试的所有领域。在每件事情都就位之后,红队评估阶段的 任务很典型的就是获得访问权限和特权。
获得网络访问权限
首先,你需要获得访问网络的路径。有许多方法可以实现,因此这实际上比听起来要 容易。然后可以尝试穿透外部防火墙、攻陷一台内部的机器、用该机器作为跳板来完成其 余的攻击活动。这类似于纯粹的渗透测试,即可以按照前文描述的进行。
如果无法穿透防火墙,则需要其他路径来进入网络。最常用的方法包括:无线接入点、
连接到公司网络的调制解调器、公用终端和社交工程。对红队来说,无线接入点实际上是 最方便的通道,只需在顾客的工作地点周围开车转悠,寻找无线接入点即可。这种方式取 决于接入点的配置,可能只需要停车并在车里完成其余的评估工作,或需要留下“木箱”
以便在旅馆里通过 SSH 接入。
在发现无线接入点并拥有安全的初始访问权限,或在等待破解接入点的无线安全机制,
此时要搜索额外的入口。目前调制解调器方法使用得较少了,但仍然在使用中,pcAnywhere 就是其中一个。黑客团体 THC 制造了 THC Scan,一个免费的“战争拨号”工具。战争拨 号是指对某个范围内的号码全部进行拨号的做法,以查找用调制解调器应答的号码。
红队还应该测试用户对安全的意识以及顾客的物理安全性。这只需在顾客的工作地点 四处转转,寻找不受保护的工作站即可。在做这种事情时,要记得把“免于入狱卡”随身 携带!那种供访客使用的工作站,可以坐在那里数个小时而不引起注意的,特别有吸引力。
随身携带一份可启动的 Linux CD,把所有的攻击工具放到上面,或者把几个工具放到 USB 驱动器上,就可以开始工作了。如果你稍微勇敢点,可以走进不用的办公室把无线卡插到 笔记本计算机里,再走出来。即使大门是锁着的,你可能仍然会感到惊讶,因为如果你手 里塞满了东西,仍然有许多人会帮你打开门。
虽然它可能不是太令人愉快的任务,开车转悠仍然是一种有效查找信息的手段,可以
第 2 部分
暴露出企业安全方面的弱点。每天都有人丢弃不应该丢弃的东西:在废纸篓里通常会发现 打印的电子邮件、描述安全威胁或漏洞的文档、写着口令的随意贴、已安装系统的配置信 息、饱含源代码的 CD。如果还需要一些令牌(车辆通行证或识别章)才能获得对某公司的 物理通道,那么在废纸篓中通常会发现丢弃的通行证或到期的临时识别章。在经过骗子创 造性的改动之后,可以把到期的通行证转换为一个有效的通行证。至少这些令牌可以提供 一种模式或范例,你可以遵循这些范例,来自行制造外观相仿的访问令牌。
有许多方法,无须太多的努力即可获得访问权限。在执行红队任务时,需要测试几种 不同的方式,以便向顾客报告其总体安全强度。我们在第 1 章中讨论过,在本章前文也提 到过,在没有授权的情况下,此类入侵式的攻击是非法的。在没有与相应公司的管理层签 署合同的前提下,切勿对实际的网络执行此类活动。
逐步提升权限
在获得初始的网络访问权限之后,下一步是提升权限,这与渗透测试一样。可以利用 通常的渗透测试过程提升权限,还可以同时测试顾客安全系统的各个不同方面。为实践红 队的真正精神,不要用通常的系统化方法机械地取得域所有权;相反,首先要向管理员发 送欺诈性电子邮件,直接要求其口令。为在此类伎俩中获得成功,需要编造一些欺诈故事。
一个这样的欺诈故事就是,建立一个看起来具备官方性质的网页,把公司的标志放在页面 顶部,并要求用户输入用户名和登录口令以测试其口令的强度。在该网页上,要指出强度 较高的用户口令的重要性,以及公司通过提高口令的强度来增强信息安全的规定。当然,
输入的口令会纪录到文本文件中,以便后续工作使用;甚至可以建立一个小的脚本或程序,
负责向 Administrators 组添加一个账号,然后把该程序作为电子邮件的附件发送出去,邮件 中指定了运行该程序的指令。(还记得“ILOVEYOU”病毒吗?)要针对实际的目标,在 邮件中讲个适当的故事。此类的社交工程欺诈手段,将能提供更多的入口。
应急响应测试
在获得了尽可能多的入口之后,现在应该是被“抓住”的时候了。是的,笔者没写错,
是被抓住。如果没有人觉察到有一支测试团队在工作中,就可以测试其实际的应急反应能 力。当然也可以同时测试物理安全应急反应和信息安全应急反应,以便把本地的 CERT 组 织对此次红队行动的反应包括进来。
为测试信息安全应急反应,可以使用干扰强烈的网络扫描,以便被 IDS 捕捉到。如果 这样不行,可以创建一个新的用户账号,或向 Domain Administrators 组添加一个现存的账 号,看看是否有人注意到。还可以用服务账号,交互式地登录到工作站,看看是否有人注 意到(这种事情通常不应该发生)。如果顾客启用了接口安全系统,可以尝试把一台机器插
到几个无效接口中,看安全系统是否注意到了网络上的未授权计算机。
为测试物理安全应急反应和用户的安全意识,可以在社交工程中更积极一点。可以问 一下布线室或服务器的方向;可以尝试获得来宾识别章,但并不描述进入的目的;可以打 电话给客服人员,要求创建一个账号。可以走进前门,问问某人是否可以借用其计算机用 一会儿。建立自己的无线接入点和天线,要尽可能显眼,并将其塞到网络插口里。看看有 多少人登录到你随身携带的笔记本计算机中。
在被抓住之前,应该尽可能走得最远。在被抓住时,请出示你的“免于入狱卡”,此时 即可认为应急响应测试已经完成。请在简报中向顾客解释,在被抓住之前已经逍遥了多长 时间。
红队的利弊
笔者在文中只描述了红队使用的少量工具。本节更重要的内容是红队的测试过程和状 况。对一个没有觉察的组织进行测试,有一个巨大的好处就是可以捕获其日常的安全状况,
不像渗透测试中,其安全戒备已经提高了。红队的测试也远远超过了实际的网络攻击,能 够向顾客提供真实的描述:黑客可能如何进入其系统。
按本节的定义,红队向顾客提供了不同的视角来考察其总体安全性。当然,它未必是 增强网络安全性的最佳方法。漏洞评估显示了易于被扫描的漏洞,而杰出的红队则能够显 示网络安全中的突破口,其重要性对公司而言,可能是更为重要的。