《高度安全环境下的高级渗透测试》—第1章1.2节渗透测试开始之前

1.2 渗透测试开始之前
在渗透测试开始之前,必须考虑一些需求:你需要界定测试的范围、时间限制和约束条件、测试的类型(白盒测试、黑盒测试)、如何处理第三方的设备以及IP地址空间。渗透测试执行标准(PTES)列出一些界定范围的条款作为“前期互动”阶段的部分内容。我强烈建议你在http://www.pentest-standard.org/index.php/Pre-engagement查看这一部分的内容。

尽管这本书不直接遵循PTES进行讲解,但是我将试着将本书与PTES相关的部分关联起来。
1.2.1 界定范围
在你准确地界定测试的范围之前,你需要收集尽可能多的信息。在渗透测试之前,深入了解以下几点非常重要。
谁有权利授予这次渗透测试任务?
测试的目的是什么?
测试预计的时间范围是多少?渗透中有什么限制,比如什么时候可以进行测试?
你的客户知道漏洞评估和渗透测试的区别吗?
你在此次渗透测试过程中会和IT安全团队合作么?你需要测试他们的能力么?
可以在渗透过程中使用社会工程学攻击么?可以使用拒绝服务攻击么?
你能够使用一些物理安全测试方法来测试那些安全服务器、敏感数据存储,或其他能够物理接触的设备吗?例如,撬锁、仿冒一名员工获得进入大楼的权限,或是走进那些普通人员通常不能单独访问的区域。
你是否被允许查看网络文件,或者在测试之前告知网络架构来加速测试过程?(不明白这一点可能会影响到你得到的测试结果的价值。但是在绝大多数业务中,这类企业信息不会像你想象的那么容易得到。)
允许你检查的IP范围是什么?没有经过正式允许的扫描和测试是法律所不允许的。
  你必须尽力弄清属于客户的网络范围和设备,否则可能会陷于法律指控的危险之中。

公司的物理位置在哪里?如果允许使用社会工程学攻击,那么这个信息对测试人员非常重要。因为这能够保证你身处被测试的建筑物当中。如果时间允许,你应该让客户知道:尽管他们认为自己的位置信息是保密或者难以发现的,但是你却能够轻松地从公开渠道获取上述的信息。
如果测试时遇到一个问题,或测试的最初目标已经达到,你应该做什么?你是否会继续检查,以发现更多入口或结束测试?这个问题非常重要,它关系到客户为什么要进行一次渗透测试这一首要问题。
你需要注意不同国家对信息系统制定的法律不同,以及其他不同的情况吗?在针对渗透测试的法律上,不是所有国家的法律都是相同的。
一旦通过漏洞攻击了系统,进一步拓展是否需要获得其他许可?这在对分段的网络进行测试时非常重要。客户可能不会想到,你能够通过内网一台主机作为支点来进一步渗透内网。
怎样处理数据库?是否允许你添加记录、用户等信息?
你需要维护一个列表,列出根据客户要求需要测试的内容。大部分数据可以从客户那里直接收集,但是还有一些数据需要你们团队进行处理。

如果担心法律问题,建议你咨询法律顾问以确保你对渗透测试的合法性有一个完全了解。一旦开始测试,要获取尽可能多的信息。无论在任何情况下,你应该始终确保你获得的信息是准确的。你不希望直到测试时才发现即将进行测试的系统实际上并不属于你的客户!

获得准确的书面授权是在你对客户系统进行渗透测试前最重要的事情,不这样做将可能导致你面临法律诉讼的问题,更有可能为此锒铛入狱。请进行正确的判断!你还需要考虑到在进行渗透测试时,出现错误和遗漏是必然的。
1.2.2 设定你的范围——凡事总有结束时
如果你想成功地实施渗透测试,设置合适的范围是非常必要的。你的客户需要理解测试过程的所有细节,也应该告知他们一些额外的服务(没有列在合同清单中的)产生的费用。
为你的服务设定开始和结束的日期。清楚地约定测试中的规则以及可能测试的IP地址范围、建筑物、时间等,不在约定文档中的内容则不应被测试。在开始测试之前,应在会议中事先定义好测试内容,同时让客户准确地了解到你将交付的结果会是怎么样的。

规则文档
每个渗透测试都需要从规则文档开始,所有参与方都应有这份文档。这份文档至少应该包含如下条款。

由适当的人授予的合理权限。
你的测试开始和结束的日期。
将要执行测试的类型。
测试中的限制。
什么类型的测试是被允许的?分布式拒绝服务攻击(DDOS)?全面的渗透测试?还是社会工程学攻击?这些问题都需要详细讨论。
是否能够执行入侵性质的和隐蔽的检测?
客户希望你在渗透测试后进行清理,还是希望在渗透测试完成后对目前这个环境进行完全重建?
要检测对象的IP地址范围和物理位置。
测试结束后如何发送报告?(使用安全的传输手段!)
将在测试期间使用哪个工具?不要局限在一种特定工具上,准备一个常用的工具列表对你会非常有帮助。例如,我们将使用的最新版本BackTrack套件里的工具集。
告诉你的客户你将如何处理检查期间找到的非法数据。你将首先告诉执法部门,而不是客户。请确保在执行你的测试之前就完全理解这个法律问题。
如何处理敏感信息?你不能下载敏感的客户信息,但一定有其他方法能够证明客户的数据是不安全的,在客户关注数据管理时,这点尤其重要。
在进行渗透测试的时候,你需要和团队以及公司的关键人物就重要信息进行沟通。
在渗透测试时,你需要向客户保证,客户的系统信息不会保留在不安全的笔记本或者台式机上。你需要在渗透测试之后清理你的机器吗?你如何处理收集的信息?你会把这些信息保存在某个地方以备日后测试使用么?在你开始测试之前一定要明确这些问题,而不是放到后面才考虑。
规则文档应当包含所有决定测试范围的细节信息,任何问题都应该在起草规则文档之前得到解决,以确保在测试开始之前不会再有任何疑问。在测试过程中,测试团队的每个成员都应该保存一份签署的协议文档。

试想你被雇佣来测试客户无线网络的安全情况,你在私有停车场鬼鬼祟祟地带着巨大的WiFi定向天线和笔记本来回走动。如果有人注意到你的行为,他们很有可能会心存戒备,从而打电话告诉执法部门。你需要随身携带某些文档以证明你在这里的合法性。拥有雇主公司领导的联系信息也是一个非常方便的办法。

时间: 2024-10-24 08:56:01

《高度安全环境下的高级渗透测试》—第1章1.2节渗透测试开始之前的相关文章

《高度安全环境下的高级渗透测试》目录—导读

版权 高度安全环境下的高级渗透测试 • 著 [英] Lee Allen 译 孙松柏 李 聪 陈力波 责任编辑 傅道坤 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn • 读者服务热线:(010)81055410 反盗版热线:(010)81055315 版权声明 高度安全环境下的高级渗透测试 Copyright Packt Publishing 2012. Firs

《高度安全环境下的高级渗透测试》—第1章1.1节什么是高级渗透测试

第1章 计划和界定一次成功的渗透测试高度安全环境下的高级渗透测试本章将介绍在对一个复杂和加固环境进行渗透测试时,该如何进行计划和准备.本章将讲解下述主题: 什么是高级渗透测试:如何成功地界定渗透测试目标:渗透测试之前需要出现哪些情况:设定你的测试范围--凡事总有结束的时候:制定执行计划:利用MagicTree进行精细管理:使用MagicTree导出各种格式的测试结果:使用Dradis进行基于团队的数据收集和信息共享:在Dradis中创建可重用的模板.1.1 什么是高级渗透测试渗透测试能有效检测你

《高度安全环境下的高级渗透测试》—第1章1.3节制订执行计划

1.3 制订执行计划一旦开始测试,你需要准备一些东西.这需要一个执行计划,你的所有设备和脚本都需要启动并处于运行状态,你还需要制定一些机制来记录所有的步骤和操作.这样也能为你自己和团队其他成员提供一个参考.你可能现在还记得绕过某台防火墙的步骤,但是当你在4个月之后面对同样的防火墙时,你还记得住么?做好记录对一次成功的渗透测试而言至关重要. 对于本书而言,我们将使用VirtualBox来回顾BackTrack套件的安装过程.VirtualBox是在GNU通用公共许可协议(GPL)保护下,由Orac

《高度安全环境下的高级渗透测试》—第1章1.7节Dradis框架介绍

1.7 Dradis框架介绍Dradis框架是一个Rails应用程序,它可以用于管理在渗透测试时出现的数据过载情况.Dradis基于Web的用户界面体验良好,它简化了渗透测试周期的数据收集过程,并且能够将数据方便地分享给团队其他成员. 在结合不同的数据源,例如Nmap.Nessus,甚至Metasploit时,你通常需要构造某种数据库,然后使用各种方法管理导入的数据.Dradis可以让你单击几下鼠标,就能通过插件导入这些数据.Dradis也允许你上传附件(例如截图),或将你自己的注释添加至数据库

《高度安全环境下的高级渗透测试》—第1章1.4节探索BackTrack

1.4 探索BackTrack 恭喜,你现在已经拥有了世界上最强大的渗透工具集,并且已经安装好供你使用了.整本书将致力于介绍BackTrack--Linux平台上最优秀的工具集,该工具集无疑将会为你在渗透测试阶段节省大量的时间. 1.4.1 登录 安装的默认登录信息如下所示: bt login:root bt password:toor 1.4.2 修改默认密码 登录后,我们应该尽快修改默认密码.通过终端输入passwd,将密码替换为例子中的1NewPassWordHere这个密码作为你的安全密

《高度安全环境下的高级渗透测试》—第1章1.8节总结

1.8 总结在这一章中,我们讲解了一次成功的渗透测试之前所有必要的准备和计划.我们讨论了渗透测试和漏洞评估之间的区别. 详细阐述了界定恰当范围的具体步骤,这些步骤确保了在渗透测试前应该收集的信息,值得注意的是,恰当的界定范围和制定计划与测试中发现最新重大漏洞一样重要. 我们同时也讨论了如何安装VitualBox和BackTrack,不仅给出了从ISO文件安装BackTrack的必要指导,还给出了如何保持更新的指令.除此之外,我们也提供了在BackTrack上安装OpenOffice的指令. 最后

《高度安全环境下的高级渗透测试》—第1章1.5节安装OpenOffice

1.5 安装OpenOffice有时你需要打开电子表格查看IP的范围,或者需要迅速查看你的ROE.很多时候,在BackTrack中,最好让你的数据收集工具所导出的数据直接生成一个文字处理文件.目前,有很多与Microsoft Word 类似的开源软件,OpenOffice 就是一个非常好的选择.OpenOffice已经被很多公司采用,它可以输出各种文件格式.在BackTrack上安装OpenOffice只需要打开一个终端,并输入下述命令即可: # apt-get update # apt-get

Linux环境下的高级隐藏技术_unix linux

    摘要:本文深入分析了Linux环境下文件.进程及模块的高级隐藏技术,其中包括:Linux可卸载模块编程技术.修改内存映象直接对系统调用进行修改技术,通过虚拟文件系统proc隐藏特定进程的技术. 隐藏技术在计算机系统安全中应用十分广泛,尤其是在网络攻击中,当攻击者成功侵入一个系统后,有效隐藏攻击者的文件.进程及其加载的模块变得尤为重要.本文将讨论Linux系统中文件.进程及模块的高级隐藏技术,这些技术有的已经被广泛应用到各种后门或安全检测程序之中,而有一些则刚刚起步,仍然处在讨论阶段,应用

以Windows 2003为例了解群集环境下数据库高级属性

在群集环境下,数据库资源有一些属性.深入了解数据库资源的属性,对于我们更好的管理群集下的数据库,有很大的帮助.我们这里介绍一个公共的属性和特有的属性.并且试验这些属性.这里以Windows http://www.aliyun.com/zixun/aggregation/19058.html">2003 群集环境为例. [是否Restart] 这个属性设定是,当数据库资源Failed的时候,是否会去尝试重新启动.在群集环境下,这个属性要设为Restart.这样,当资源失败的时候,它会尝试去重