首页
登录 | 注册

渗透测试:正义黑客的渗透测试以及该过程和黑客活动的区别

渗透测试是正义黑客大展身手的地方。他们可以对漏洞评估中识别出的许多漏洞进行测试,以量化该漏洞带来的实际威胁和风险。

当正义黑客执行渗透测试时,他们的最终目标是入侵一个系统,然后从一个系统入侵另一个系统,直到“占领”整个域或环境。所谓“占领”,是指他们在最关键的Unix或Linux 系统上拥有root 权限,或者取得了可以访问和控制网络上的全部资源的管理员账户。这么做的目的是为了向客户(公司)展示在网络的当前环境和安全配置下,真正的攻击者可以采取哪些行动。

很多时候,正义黑客在按照自己的工作过程获得对网络的控制的同时,还会收获一些战利品。这些战利品包括CEO 的密码、公司的商业机密文件、所有边界路由器的管理员密码、CFO 和CIO 的笔记本电脑中标记为“机密”的文档等。沿路收集这些战利品的目的是为了使决策者理解漏洞的危害并引起重视。否则,就算花费几个小时向CEO、CIO或COO 解释有关服务、开放端口、不当配置和可能被攻击之处,他们也不能很形象地理解安全问题并引起足够的重视。但是一旦向CFO 展示其下一年度的规划,向CIO 展示其下一年的生产线蓝图,或者说出CEO 的密码“IAmWearingPanties”,他们自然而然就会想更多地了解防火墙和其他应该就位的防护措施的重要性了。

警告:任何安全从业者都不应该嘲笑客户,或者让客户觉得自己对安全的认识太过匮乏,因为如果客户什么都懂,他们也就没必要寻求安全从业者的帮助了。安全从业者是来帮助解决问题的,而不是来指指点点的。另外,在大多数情况下,负责渗透测试的团队都不应该读取任何敏感数据,以避免在将来发生由于使用公司的机密信息而导致的法律诉讼。

漏洞测试的目标是提供网络中所存在的所有漏洞的清单。渗透测试的目标是向公司展示,攻击者可以利用这些漏洞来进行攻击的方式。至此,安全从业者(正义黑客)就可以对应该实现的必要防护措施给出建议,以逐个封堵漏洞,从而使整个公司的环境更加安全。本书首先将介绍高级的漏洞修复工具和方法,以及复杂的渗透技术。然后将深入研究程序代码,以展示熟练的攻击者是如何找出漏洞并通过开发工具来利用这些漏洞的。

接下来首先介绍一下正义黑客的渗透测试过程,以及该过程和黑客活动的区别。

1. 渗透测试过程

(1) 组织两或三个团队:

— 红队:攻击团队

— 白队:网络管理团队,受害者

— 蓝队:协调和监管测试的管理团队(可选)

(2) 建立基本规则:

— 测试目标

— 攻击范围

— 每个团队对其他团队的了解程度(两个团队知道对方的存在吗?测试是单盲还是双

盲的?)

— 开始和结束日期

— 法律问题

– 客户端做出的要求并不代表该要求合法。

– 正义黑客必须知道相关的地区、州和联邦法律,以及这些法律对测试过程的

影响。

— 机密性/不可揭秘性

— 报告需求

— 带有签名和联系信息的正式书面同意书。

– 在测试过程中将这份文件放在手边,必要时它可以作为“免罪金牌”

2. 渗透测试活动

(3) 被动扫描 收集尽可能多的关于目标的信息,同时使渗透测试人员和目标之间保

持零接触。在被动扫描过程中可以包含关于以下方面的问题:

— 公司的网站和源代码

— 社交网站

— Whois 数据库

— Edgar 数据库

— 新闻组

— ARIN、RIPE、APNIC 和LACNIC 数据库

— Google、Monster.com 等

— 垃圾搜寻

(4) 主动扫描 使用扫描工具探查目标的公共接口,这些工具包括:

— 商用扫描工具

— 横幅劫持

— 社会工程攻

— 战争拨号

— DNS 区域传送

— 流量嗅探

— 无线战争驾驶攻击

(5) 攻击面枚举 探查目标网络以确定、枚举和记录每个可被访问的设备:

— 网络映射

— 路由器和交换机的位置

— 外围防火墙

— LAN、MAN 和WAN 连接

(6) “指纹识别” 彻底探查目标系统以确定:

— 操作系统类型和补丁级别

— 应用程序和补丁级别

— 开放端口

— 运行服务

— 用户账户

(7) 目标系统选择 确定最有用的目标。

(8) 利用他人未发现的漏洞 针对可疑暴露执行合适的攻击工具。

— 一些工具可能无效。

— 一些工具可能会终止服务,甚至终止服务器。

— 一些工具可能成功。

(9) 提升权限 提升安全上下文,从而使正义黑客具有更多控制权限。

— 获取root 或管理权限

— 使用破解的密码进行未授权访问

— 执行缓冲区攻击,以获取本地以及远程控制

(10) 文档和报告 记录找到的漏洞、找到漏洞的方式、使用的工具、已利用的漏洞、

活动的时间线,以及成功与否。

注意:第4 章将更详细地讨论渗透方法。

3. 不道德黑客的做法

(1) 目标选择

— 动机源于感到不满、寻求乐趣或追踪利益。

— 没有基本准则,没有不可攻击的目标,而白队对于即将遭受的攻击一无所知。

(2) 中间媒介

— 攻击者不使用自己的系统,而是从另一个不同的系统(中间媒介)开始攻击,以便当

攻击被检测到时,使自己很难被跟踪到。

— 攻击者和受害者之间可能有好几层中间媒介。

— 中间媒介通常也是攻击者的受害者。

(3) 接下来,攻击者将执行前面描述的渗透测试步骤。

— 被动扫描

— 主动扫描

— 确定攻击面

— 目标系统选择

— 指纹识别

— 利用他人未发现的漏洞

— 提升权限

(4) 保留访问权

— 需要上传和安装rootkit、后门、特洛伊木马感染后的应用程序和/或僵尸程序,以

确保攻击者可以在以后重新进行访问。

(5) 清理痕迹

— 清理事件日志和审核日志

— 隐藏上传的文件

— 隐藏允许访问者重新获取访问权的活动进程

— 禁用安全软件和系统日志的消息,以隐藏恶意进程和动作

(6) 硬化系统

— 在占领系统后,攻击者可以修复开放的漏洞,这样其他攻击者就不能将系统用于其他目的。

攻击者如何使用受害系统取决于他的整体目标是窃取敏感信息、重定向财务交易、将系统添加到他的僵尸网络还是敲诈公司等。

正义黑客和不道德黑客进行的活动基本上是相同的,只是他们的动机不同。如果正义黑客没有首先找出防御系统中存在的漏洞,那么肯定会给不道德的黑客留下可乘之机。

本文摘自《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(3)

ISBN:9787302301509

出版社:清华大学出版社

原书名: Gray Hat Hacking: The Ethical Hacker's Handbook, Third Edition

试读地址:http://product.china-pub.com/3684438

编辑推荐

  专家级的系统攻击方法
  最先进的渗透测试技术
  最新安全漏洞和补救措施
  恶意软件和rootkit的分析与捕获
  缓冲区溢出、SQL注入、逆向工程

本文网址:http://www.bnee.net/article/91942.html

相关文章

  • 什么是基于模型测试      基于模型的测试就是基于描述程序如何动作的模型的测试.该模型用于自动生成测试用例,并作为检查ITU(Implementation Under Test,被测实现)是否可以通过测试的预言(Oracle).      ...
  • 我是国内最早一批从事测试自动化的工程师,并经历了软件测试技术从"原始社会"向"现代文明"发展的整个历程,也经历了从"测试不受重视"到"测试和开发同等重要"的行业 ...
  • Spring Boot (测试篇):SpringBoot 测试
    SpringBoot 测试 测试是对于一个CodeMonkey来说很重要的,也是必须要掌握的一项技能,凡事自测. 在pom.xml加入相关依赖 引入SpringBoot Test,这个默认新建 SpringBoot 项目就会自带jar包. ...
  • 内网通过映射后的公网IP访问内网服务测试--ASA8.0 hairpin NAT测试
    一.测试拓扑:参考链接:http://blog.csdn.net/boblxs/article/details/8063814二.基本思路:A.通过配置hairpin NAT使得内网通过映射后的公网地址访问内部服务器时同时做目标地址转换,也 ...
  • 数据库测试规范
    特别说明:本文虽归类于原创,但并非原创,实收集整理于网络! 一. 数据库测试概论 随着软件业的迅猛发展,我们的开发也从以前的单层结构进入了三层架构甚至现在多层架构的设计,而数据库从以前一个默默无闻的后台仓库,逐渐成为了数据库系统,而数据库开 ...
  • 测试工程师,必备这“7”个,手机测试技能
    用您5分钟时间阅读完,希望能对您有帮助!移动应用安全近几年越来越被重视,目前针对移动端的应用也越来越多,每天有大量的数据从移动端发出,部分数据在移动端进行处理,移动应用安全在今天显得尤为重要,那么如何能及时发掘移动APP的潜在漏洞,以免被* ...
  • APP测试中工程师应注意哪些事项-干货分享!
    结合了工作经验,写出了这篇文章,全是干货和经验分享.用您5分钟时间阅读完,希望能对您有帮助! 一.安装.卸载测试 1.安装 1.软件在不同操作系统(Palm OS.Symbian.Linux.Android.iOS.Black Berry ...