• 沒有找到結果。

测试的种类

在文檔中 第 3 部分 攻击 101 (頁 71-75)

渗透测试与工具

4.1 测试的种类

黑客原型(如果有的话),是精于发现惟一的漏洞或因为有漏洞而葬送了网络其余部分 的那台计算机的人。此类扫描、推测、攻击和逐步扩展战果的过程则称之为渗透测试。渗 透测试的首要目标是拥有目标网络;第二是以尽可能多的不同方式拥有该网络,这样才能 向顾客指出各个缺陷。对网络进行渗透测试,是测试一个企业安全措施有效性的极佳手段,

并能够暴露其安全缺口。

在安全社区中,渗透测试和漏洞评估两个词通常互换使用。但这两者有一点区别。漏 洞评估会扫描并指出漏洞,但并不利用漏洞进行攻击。漏洞评估可以通过工具完全自动化 进行,如 ISS、Nessus 或 Retina。漏洞评估很有用,这是因为它易于进行,并可对各主机逐 台给出了各潜在的网络漏洞。在另一方面,渗透测试则将注意力集中在针对发现的漏洞进 行实际的攻击。在第 6 章中,笔者将说明如何使用自动化工具(Core 的 IMPACT)执行全 阶段的渗透测试。

有些顾客则更多的得益于对其信息安全性的全局概览,这种对客户安全性的宽泛分析 称之为红队(Red Teaming)。红队不仅包括网络勘查和端口扫描(这是渗透测试的两种手 段),还会测试面向互联网的应用程序、测试 IDS、社交工程、并分辨出企业内部的一些安 全问题。红队和渗透测试(红队的一个子集,参见图 4.1)应该包括一个完整的报告和修补 漏洞的清单;还应该包括两份摘要,分别提供给修补漏洞的技术人员和雇用你完成测试工 作的管理层人员。在本章稍后,笔者将提供摘要的写作指南。

第 2 部分

红队 社交工程

电子邮件欺诈

物理通道检查

IDS 测试

战争拨号

更积极的战争驾驶

测试可感知网络的内部应用程序,寻找安全漏洞

检查键盘底下,看是否有写了口令的随手贴

企业对安全问题的认识将包括在最终 报告中

渗透测试 端口扫描 网络踩点 进行攻击

4.1 渗透测试和红队的差异

系统测试是另一种类型的安全服务,有些对特定系统或应用的安全情况感兴趣的顾客 通常会要求提供此种服务,这些服务通常是可以通过网络访问的系统或应用程序。此类评 估,与纯粹的渗透测试或红队相比,更大程度上是一种艺术。

执行系统测试时,你的工作不仅仅是支持已知的漏洞,还需要深挖系统的工作方式、

指出不正确的安全假定,从而发现新的漏洞。举例来说,成功的系统测试通常会发现:在 向应用程序提供了过多数据的情况下发生的缓冲区溢出,或指出用来进行可信决策的关键 文件的写权限是开放的。

参考文献

[1] Christopher Peake, "Red Teaming: The Art of Ethical Hacking"

[2] www.giac.org/practical/GSEC/Christopher_Peake_GSEC.pdf

4.2 如何开始评估

笔者将讨论如何进行各种评估,但我们首先需要看一下在进行评估之前需要做的一些

事情。

4.2.1 建立团队

要在合理的一段时间内完成顾客要求的评估,这通常不是一个人能够完成的工作。在 团队建设中没有什么硬性规定,但好团队和坏团队之间生产率的差别是巨大的,因此,花 费些时间思考如何建立一个好的团队,肯定是有回报的。

首先,在选择团队时,把能够友好相处的人放在一起。这些人将密切协作,而队员之 间的协作将大大地提高团队的效率。你需要的最后一件事是让队员彼此融洽相处。这看起 来不值一提,但是没什么比一个斗嘴的团队更能毁掉渗透测试了。

当各个队员了解各自的角色后,也更容易融洽相处、顺利工作。团队中有几个角色,

对于不同类型的评估,其中有的可能不需要。

技术领导者

对每个评估,都应有一位队员担任技术领导者。技术领导者的职责是:启动评估、指 挥工作的所有方面和控制工作流程。技术领导者当然应该听取团队中每一个人的意见,但 队员如果对评估的方式有不同意见,那是很好解决的,按照技术领导者决定的方式运行就 是了。所以事先把某人指定为技术领导者,临场的一些决定就很容易做出。

技术领导者应该是老资格的黑客,能够轻松胜任领导者的位置,如果给出足够的时间,

甚至可以独自完成所有的测试。技术领导者的注意力应集中在团队的生产率和整个评估的 质量上。对某些团队的某些工作而言,技术领导者可以在整个任务期间埋头进行黑客工作。

其他时间,技术领导者必须放弃个人的生产率目标,帮助指挥其他队员以确保每个人的工 作按时完成。

队长

如果任务涉及外来的顾客或旅行,那么团队中应该有一个人成为队长。队长是服务者,

使其他每一个队员都能集中精力工作。队长应该是顾客的主要联系人,对许多评估而言,

这方面都会花费大量(但重要)的时间。队长还要确保团队的行政或后勤支援,为每个队 员做好旅行安排。任何行政事宜,即使能够由团队的其他人完成,也应该由队长或者由队 长安排后勤支援人员完成。队长应该与顾客和技术领导者协作,制定工作时间及其他工作 调度计划事宜。最后,在没有其他事情的情况下,队长应该像队员一样参与测试评估工作。

对小团队或有经验的团队,技术领导者和队长可以是同一个人兼任的。但把技术领导 者和队长分开,由两个人担任总是要好一些。队长需要经常离开现场,向顾客提供一些状 态更新信息,或为队员提出的问题寻求解答。队长无须是最有经验的队员。实际上,如果

第 2 部分

一个初级的黑客能够处理组织方面的工作和与顾客的交流,他就可以胜任队长。

队员

技术领导者和队长应该共同工作,把一组人组织为高效的团队。读者可以猜测到,团 队的成员具备多种不同才能时,团队的生产率通常更高。特别是在渗透测试时,让某个队 员专注于某个领域,而不用去了解其他人的领域,效果更好。此时需要考虑的重要因素是 覆盖度,但要确认团队中至少要有一个人能对要测试的任何系统都游刃有余。

4.2.2 建立实验室

无论执行何种类型的测试,都需要一个目标实验室用以研究和实验。如果计划攻击 Windows,那么就需要一个实验室,其中包括各种不同的 Windows 系统:不同的 OS、Service Pack 和补丁。由于各个目标在等待攻击时几乎什么也不做,所以用虚拟机来作目标是比较 容易成功的。如果买了一些比较健壮的服务器,可以在每个物理服务器上运行 8 个(或 8 个以上)虚拟机,以节省空间和成本。与物理机相比,使用虚拟机另一个好处在于容易回 退,即可以丢弃一个虚拟机,回退所有改变,并重新启动。可以在所有目标上运行终端服 务,有时甚至无需人亲自坐在控制台前。

还需要某种系统将某些机器标记为使用中,以跟踪各个虚拟机上的活动操作系统及各 台机器上可用的额外映像。在其他团队中,工作得很好的一种系统是:周期性地将所有系 统备份到一台中央机,并使用中央存储库作为版本控制系统。对小型团队来说,即便只简 单使用中央机桌面上的某个文本文件来控制把某台机器检出给不同的人使用,就能工作得 很好。

还可以使用该文本文件列出各个虚拟机上当前操作系统的版本,以及可供使用的映像。

大型团队虽然可以设计更高级的解决方案,但仍然可以从简单的临时方案开始。

4.2.3 合同、安全和免于入狱

但是,雇佣活动绝对不能从简单的临时合同开始。在顾客用于生产的网络上工作,从 黑客机器发出的每个数据包都会给你带来风险。

在为任何顾客开始任何工作之前,有几件事情必须到位。首先,顾客必须完全理解你 的团队即将实施的测试类型。在与不太了解技术的顾客打交道时,这件事做起来要比听起 来困难得多。队长必须向顾客解释测试期间将发生的好的、坏的和丑陋的一面。你的工作 当然是谨慎的,但某些攻击可能会冻结有漏洞的系统或使之重启。顾客需要了解测试对其 网络潜在的负面影响。在说明了风险之后,他们可能选择在周末或非工作时间进行测试。

接下来,必须到位的事是牢靠的合同和规划了评估范围的文档,其中包括即将进行的

各项具体任务。这些文档应该由律师起草/审定,最好是一位精通电子信息法律的律师,用 于保护你的评估团队。一定要将合同提交给顾客方的领导团队,以便其公司法人审阅并批 准该合同。这两份文档的重要性无需夸大。有过记载:安全从业者攻破了顾客的口令(这 是个常见的测试步骤),但顾客并不清楚这一点,而口令破解事先也没有列入到合同中;当 顾客发现其雇员的口令正在被破解时,就停止了评估并解雇了该团队。在另一个案例中,

一位安全从业者甚至被逮捕。因此花费时间向顾客解释所有测试期间将发生的事情以及可 能的后果,是非常必要的。

注意:请足够级别的管理人员来签署合同,同样是非常重要的。请确认,与您 打交道的人有权允许并授权即将在顾客处发生的此类活动。

根据所执行的测试种类的不同,可能还要注意其他事项。如果是在真实模拟秘密活动,

如社交工程、物理安全性测试、安全团队反应测试等等,公司的雇员可能出现防卫性反应

如社交工程、物理安全性测试、安全团队反应测试等等,公司的雇员可能出现防卫性反应

在文檔中 第 3 部分 攻击 101 (頁 71-75)