渗透测试是正义黑客大展身手的地方。他们可以对漏洞评估中识别出的许多漏洞进行测试,以量化该漏洞带来的实际威胁和风险。
当正义黑客执行渗透测试时,他们的最终目标是入侵一个系统,然后从一个系统入侵另一个系统,直到“占领”整个域或环境。所谓“占领”,是指他们在最关键的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注入、逆向工程