CEH-备考指南-全-

CEH 备考指南(全)

原文:Certified Ethical Hacker (CEH) Preparation Guide

协议:CC BY-NC-SA 4.0

一、道德黑客入门

在本章中,您将了解道德黑客行为的五个阶段以及不同类型的黑客攻击。

本章结束时,您将能够

  • 确定道德黑客的五个阶段。

  • 识别不同类型的黑客攻击。

道德黑客

公司雇佣道德黑客做非法黑客做的事情:利用漏洞。道德黑客也被称为安全测试员(T0)或渗透测试员(T2)。在本章中,您将了解保护网络免受攻击所需的技能。在学习每一章的过程中,你将关注下面列出的要点。

在整本书中,假设上层管理人员认同组织的信息资产需要得到保护这一事实。还假设高层管理人员已经制定了适当的安全策略来支持他们认可的安全需求。

  • 信息:信息资产必须得到保护。

  • 假设:假设高层管理人员认识到安全的需要,并且有一个安全策略来定义对象在安全域中如何交互。

  • 挑战:你的任务是通过警惕那些出于自己的动机使用类似基础设施的人来防止基础设施被利用。

  • 解决方案:雇佣具有恶意黑客能力的道德黑客。

弱点

需要记住的是,漏洞是可以被操纵的弱点,而威胁是可能危及安全的行为或事件。考虑已识别的弱点如何影响安全性。思考以下问题:

  • 由于分析、设计、操作或组织失败而导致的目标弱点

  • 由于系统安全程序、基础设施设计或可被利用的控制措施而导致的信息系统缺陷

  • 弱点、设计错误或实现错误导致危及设备、网络、应用程序或协议安全的意外事件

攻击

“评估目标”是被保护资产的名称。这可以是 IT 系统、产品或组件。攻击是针对目标采取的蓄意行动,目的是影响系统的机密性、完整性、可用性或真实性。攻击可以是主动的,也可以是被动的,可以从组织内部或外部发起。需要注意的各种类型的攻击包括:

  • 主动攻击改变目标系统以影响隐私、可信度和可访问性。

  • 被动攻击在不影响系统状态的情况下破坏系统数据的机密性。

  • 内部攻击由授权用户从网络内部发起。

  • 外部攻击由攻击者在没有网络授权的情况下进行。

安全性与功能性和易用性

安全性是功能性和易用性之间的权衡。可以说,许多产品都设计成开箱即用。启用默认配置和软件后,安全性会受到影响。图 1-1 展示了安全性、功能性和易用性之间的关系。走向安全性通常意味着远离功能性和易用性。进入市场的新产品通常是功能性和易用性之间的平衡,因此对用户来说安全性较低。

img/505537_1_En_1_Fig1_HTML.jpg

图 1-1

安全性、功能性和易用性

攻击的各个阶段

安全漏洞利用漏洞。暴露是由于漏洞造成的损失。一旦暴露,攻击者收集机密信息并掩盖他们的踪迹。简要介绍一下攻击的各个阶段,如下所示。未来的章节将提供更深入的讨论。

  • 侦察:在侦察阶段,也就是计划阶段,攻击者收集尽可能多的目标信息。简单的旧研究可能是这个阶段的第一个活动。然后,攻击者可以继续使用其他侦察方法,如翻垃圾箱或扫描。考虑侦察方法的类型:被动(攻击者不直接与系统交互,如社会工程或翻垃圾箱)或主动(攻击者使用工具直接与系统交互)。后者可能包括使用工具来检测开放端口、路由器位置、网络映射和操作系统细节。

  • 扫描:在扫描阶段,攻击者试图识别特定的漏洞。漏洞扫描器是使用最广泛的工具。端口扫描器用于识别提供正在运行的服务类型线索的监听端口。

    扫描是侦察阶段的逻辑扩展,但它涉及更深入的探测,这被认为是主动侦察的扩展。

  • 获得访问权限:获得访问权限通常是攻击者的目标。但是,请记住,情况并不总是如此。例如,拒绝服务攻击会导致资源不可用,攻击者不一定要获得对该资源的访问权才能成功。影响攻击者能否成功获得访问权限的因素有几个,如目标系统的体系结构和配置、技能水平或获得的访问权限级别。

  • 保持访问:一旦攻击者成功获得访问权限,他们需要通过安装后门或 rootkit 来保持访问权限。例如,为了不被发现,攻击者还会通过更改日志文件来消除任何证据。

    组织可以使用入侵检测系统(IDS)或蜜罐来检测潜在的入侵者。

  • 掩盖踪迹:要知道攻击者会抹去他们存在的所有证据。Netcat 或其他木马等工具可用于删除日志文件中的证据。其他选项包括隐写术、在其他数据中隐藏数据和隧道(在另一个协议中携带一个协议)。

黑客攻击的类型

攻击者可以通过几种方式利用他们发现的漏洞来访问组织的网络。这些攻击可以分为四类。

  • 操作系统:增加的功能放大了复杂性。

  • 应用级:对于应用开发者来说,安全性并不总是优先考虑的问题。

  • 收缩包装代码:开发者使用从其他来源获得批准的免费库和代码。

  • 错误配置:建立有效的配置,删除所有不必要的应用程序和服务。

骇客主义

黑客行动主义是一个结合了黑客行动主义的术语。为了提高对政治或社会议程的认识,黑客行动主义者使用黑客技术。政府实体和跨国公司是目标之一。以下是与黑客活动主义相关的黑客类别类型的示例:

  • 黑帽子为了不正当的目的雇佣计算机技能。

  • 白帽子将他们的力量用于防御目的。

  • 灰色帽子相信完全的公开。

  • 自杀黑客渴望成为他们目标的殉道者。

道德黑客

道德黑客受雇于威胁评估和安全。值得注意的是,一个有道德的黑客得到了雇佣他们的组织的同意。道德黑客使用与攻击者相同的技术和工具。道德黑客必须具备以下技能:对软件和硬件的透彻了解,对网络和编程的良好理解,以及安装和管理几种操作系统的知识。

道德黑客寻找三个基本问题的答案:

  • 攻击者会在目标上看到什么?

  • 攻击者如何使用这些信息?

  • 攻击者对目标的尝试是否被识别?

脆弱性研究

由于攻击者使用研究来寻找漏洞,这对好人也很重要。不断有新产品推出,你必须跟上最新的技术。

还有许多黑客网站,你可以监控信息。两个值得访问的优秀网站是美国计算机应急准备小组 ( www.us-cert.gov/ )和国家漏洞数据库 ( https://nvd.nist.gov/ )。

道德黑客任务

当您接受道德黑客任务时,记住以下步骤很重要:

  1. 您首先与客户进行初次会面,提供概述并准备一份保密协议。

  2. 保密协议写道,道德黑客得到了客户的完全同意。

  3. 然后,您创建一个团队并准备测试时间表。进行测试时,可以采取两种方法之一:黑盒或白盒测试。使用黑盒测试,测试人员没有关于系统的先验知识或信息。白盒测试正好相反:测试人员对系统有预先的了解。例如,测试人员被告知网络拓扑结构,并被提供一张显示公司所有路由器、交换机、防火墙和指令检测系统(IDS)的网络图。

  4. 测试完成后,您分析结果并准备一份报告提交给客户。

计算机犯罪

计算机犯罪可以通过使用计算机或以计算机为目标来实现。作为一名道德黑客,留意颁布的法律并遵守法律是很重要的。要了解更多信息,请查阅网络安全加强法案 ( http://beta.congress.gov/bill/113th-congress/house-bill/756 )。

摘要

在本章中,您了解了道德黑客、黑客行动主义以及不同类型的黑客和黑客攻击。现在,您已经知道了攻击的五个阶段,并对漏洞研究和相关工具有了基本的了解。您可以描述道德黑客测试目标网络的不同方式。最后,您了解犯罪的各种类别,以及了解该领域的法律对于保持合规性的重要性。

资源

二、足迹和侦察/扫描网络

在本章中,您将了解足迹以及使用这种技术可以搜索到什么类型的信息,包括如何识别黑客可能想要获取的信息类型。在本章中,您将了解各种信息收集工具和方法。本章还将介绍其他几个概念:端口扫描、网络扫描、漏洞扫描、传输控制协议(TCP)通信标志、端口扫描类型和扫描对策。

本章结束时,您将能够

  • 确定足迹流程中寻求的信息类型。

  • 描述信息收集工具和方法。

  • 解释 DNS 枚举。

  • 执行主动和被动侦察。

  • 认识端口扫描、网络扫描和漏洞扫描之间的区别。

  • 识别 TCP 标志类型。

  • 识别端口扫描的类型。

  • 确定扫描对策。

足迹

互联网上有各种资源可以帮助您决定如何构建公司的网络。发现组织网络细节的机制被称为足迹。用于收集目标信息的探测技术被称为侦察。足迹是一个非侵入性的过程。您没有获得对数据的未授权访问。有许多工具可以帮助合法地收集大量信息,这被称为竞争情报。当你在组合中加入创新时,你就扩展了竞争情报。网络攻击通常始于从公司网站收集的信息。

WHOIS 工具用于收集有关 IP 地址和域名的信息。它还可以用来识别公司的电子邮件帐户。您可以使用 URL 来查找正在使用的 web 服务器和操作系统,以及 IT 工作人员的姓名。足迹是三个攻击前阶段的第一步。足迹搜索的信息包括域名、电话号码、身份验证、访问控制列表、IP 地址、服务和 id 的存在。

信息收集方法

攻击者可以从网页、搜索引擎、网站内的高级搜索功能、搜索上市公司或提取网站档案中获取信息。要开始收集信息,请考虑以下准则:

  1. 获取初始信息(域名)。

  2. 找到网络范围(Nslookup,WHOIS)。

  3. 确认活动计算机(ping)。

  4. 发现开放的端口或接入点(端口扫描器)。

  5. 检测操作系统(远程登录查询)。

  6. 绘制网络图。

存档网站

Wayback Machine ( www.archive.org/ )是一个让人们能够访问网站存档版本的平台。访问 Wayback 机器的人将输入一个 URL,选择一个特定的日期,然后浏览网站的存档版本(图 2-1 )。

img/505537_1_En_2_Fig1_HTML.jpg

图 2-1

一些存档的信息可供 CSSIA 使用( http://cssia.org/ )

搜索公共记录

公开信息可能不会立即提供揭示数据,但它可以用来构建一个更大的画面。各种网站提供公开记录的信息:

工具

WHOIS ( www.whois.com )实用程序用于收集 IP 地址和域名信息。回想一下,DNS 使用名称服务器来解析名称。确定公司使用的名称服务器后,您可以尝试传输 DNS 服务器负责的所有记录。这叫做zone transfer。要确定组织的主 DNS 服务器,请查找包含授权起始(SOA)记录的 DNS 服务器。确定主 DNS 服务器后,执行另一次区域转移以查看网络上的所有主机。这些信息有助于形成组织的网络图。

使用的一些工具根据它们帮助收集的信息类型进行分类:

域名搜索

DNS 信息工具

区域转移

定位网络范围

现在,您可以继续定位目标系统的网络范围。诸如 NeoTrace 和 Visual Route 之类的 Traceroute 工具可能有用。可以检测到 Traceroute 实用程序的使用,但其他工具本质上是被动的。

一些选项包括

其他有用的工具包括网络蜘蛛,它可以获取电子邮件地址并将其存储在数据库中。想想垃圾邮件发送者。像 GEO spiders 这样的其他工具可以在世界地图上绘制网络活动。谷歌地球提供几乎任何地点的图像和地理信息。

最后,有许多元搜索引擎工具将用户的请求发送到其他几个搜索引擎,然后显示聚合的结果,包括 Dogpile、WebFerret、Robots.txt、WTR 网络开膛手 2 和网站观察者。

对目标进行主动和被动侦察

在开始扫描之前,您应该清楚地了解连接到 Internet 的网络是如何工作的。

我的攻击机器有一个 216.6.1.100 的公共 IP 地址,如图 2-2 所示。示例中被扫描的组织有一个 216.1.1.1 的公共 IP 地址。防火墙计算机本身没有安装 web 服务器软件。实际上,像 FTP 或 HTTP 这样的 web 服务运行在 Windows 2003 SQL 上,而不是防火墙本身。当请求这些服务时,防火墙会将这些请求重新路由到在内部网络上运行的 Windows 2003 SQL server。因此,尽管 Windows 2003 SQL 没有直接链接到 Internet,但由于防火墙的重定向,Internet 用户可以使用该计算机上的服务。

img/505537_1_En_2_Fig2_HTML.jpg

图 2-2

网络攻击

扫描网络

在攻击者识别目标系统并进行侦察后,攻击者将继续进入目标系统。通过网络扫描,攻击者可以获得有关目标的信息,如使用的操作系统和正在运行的服务。

扫描是一种扩展的侦察形式,攻击者试图找到侵入目标系统的方法。正确理解 TCP、UDP 和 ICMP 协议对于理解本章的目标非常重要。

需要注意的是,在互联网协议中,65,535 是一个 IP 地址中可用的 TCP 和 UDP 端口的数量。您需要知道攻击者在攻击哪些端口,以便保护这些端口。当攻击者发现开放服务时,找到漏洞并不困难。端口扫描分析一系列 IP 地址,以识别正在运行的服务。网络扫描调查网络上的活动,如跟踪数据流和网络设备的功能,并可以检测网络上的活动主机。漏洞扫描主动识别网络上的安全漏洞,以评估系统可能被利用的位置。

扫描的目的可以是为了以下任何一个目标:

  • 识别网络上的实时系统。

  • 找出哪些端口是开放的。

  • 找出目标的操作系统。

  • 找出正在运行和/或正在监听的服务。

  • 找出 IP 地址。

  • 识别特定的应用。

  • 查找网络上任何系统的漏洞。

扫描方法

了解扫描方法对于选择完成此任务所需的适当工具至关重要。有五个步骤可以指导扫描过程:检查活动系统、检查开放端口、识别操作系统、扫描漏洞和探测网络。

记住这五个步骤,以下附加因素也很重要:

  • ping 扫描是一种扫描技术,用于确定映射到网络上活动系统的 IP 地址范围。

  • 熟悉三次握手和指导主机间连接的 TCP 通信标志,有助于选择扫描方法。

  • 如果知道目标系统上运行的操作系统,这对攻击者来说是一个很大的优势。标题抓取可用于帮助识别操作系统。

  • 有许多工具可用于漏洞扫描,包括 Nessus、SAINT 和 GFI·兰加德。

三次握手

回忆一下三次握手(图 2-3 )。从远程系统接收 SYN 数据包的系统,如果其端口是开放的,则用 SYN/ACK 数据包进行响应。最后,发送系统发送一个 ACK。如果一个端口被关闭并收到初始 SYN 数据包,它会发回一个 RST/ACK 数据包。

img/505537_1_En_2_Fig3_HTML.jpg

图 2-3

三次握手

TCP 标志

下面的列表包括 TCP 标志的类型以及每种标志的用途:

  • URG:将传入数据标记为紧急

  • ACK:确认已成功获取数据包

  • PUSH:确保在发送或接收端对数据进行优先排序和处理,并在数据传输开始和结束时使用

  • SYN:开始两台主机之间的三方握手

  • FIN:断开使用SYN标志形成的连接

  • RST:当当前连接不需要的段进入时使用。它还表示远程主机已重置连接。

端口扫描的类型

端口扫描有几种类型。熟悉每一个都很重要。

  1. SYN 扫描:通过三次握手,攻击者的计算机发送初始 SYN 数据包。如果攻击者收到一个 SYN/ACK 数据包作为响应,攻击者会迅速响应一个 RST/ACK 数据包来关闭会话,从而使连接无法完成。攻击者知道该端口是打开的。

  2. 连接扫描:通过连接扫描,完成三次握手,这使得该扫描很容易被检测到。

  3. 空扫描:在空扫描中,所有数据包标志关闭。关闭的端口会用 RST 数据包响应空扫描。如果没有收到数据包,端口打开的可能性很高。

  4. 圣诞节扫描:通过圣诞节扫描,设置FINPSHURG标志。关闭的端口将使用 RST 数据包对此类数据包做出响应。

  5. ACK 扫描:ACK 扫描用于通过防火墙,防火墙是一种过滤设备。过滤设备寻找 SYN 数据包。如果被攻击的端口返回 RST 数据包,该端口将不会被过滤。

  6. FIN 扫描:通过 FIN 扫描,FIN 数据包被发送到目标。如果端口关闭,将返回一个 RST 数据包。

  7. UDP 扫描:通过 UDP 扫描,UDP 数据包被发送到目标计算机。“端口不可达”的响应意味着端口被关闭。

使用 Nmap

Nmap 是一个应用程序,可用于在 Linux、Mac 或 Windows 环境中识别网络上的计算机。还可以用来评估机器上打开了哪些传输控制协议(TCP)和用户数据报协议(UDP)端口(图 2-4 )。Nmap 可以提供远程机器正在使用的操作系统的指示。

img/505537_1_En_2_Fig4_HTML.jpg

图 2-4

Nmap 显示五个开放端口

  • 如果不使用任何开关,Nmap 将能够成功抵御阻止 ICMP 的系统。

  • 默认 Nmap 扫描会扫描许多端口,但不是所有端口。

  • 通过互联网扫描系统时,您不会看到 MAC 地址。

Zenmap(泽纳 map)

Zenmap 是 nmap 的 GUI 前端(图 2-5 )。在 Zenmap 工具中输入相同的 IP 地址。扫描完成后,点击端口/主机查看结果(图 2-6 )。网络日志文件显示了 Zenmap 的扫描结果(图 2-7 )。

img/505537_1_En_2_Fig7_HTML.jpg

图 2-7

Zenmap 扫描和网络日志文件

img/505537_1_En_2_Fig6_HTML.jpg

图 2-6

Nmap 扫描结果

img/505537_1_En_2_Fig5_HTML.jpg

图 2-5

Zenmap 是 nmap 的 GUI 前端

制作包装

使用 Fping ( www.fping.com/ ),您可以在命令提示符下指定一系列 IP 地址,也可以创建一个包含多个 IP 地址的文件,并将其用作输入文件。这包含在回溯软件中。

Hping ( www.hping.org/download )可以通过手工制作或修改数据包绕过过滤设备。要了解更多信息,请在命令行中键入Hping -help

扫描对策

您可以采取各种措施来防止扫描失败:

  • 利用防火墙,它应该可以检测到探针。

  • 安装网络入侵检测系统。它应该确定各种工具使用的操作系统检测方法。

  • 关闭任何不需要的端口。

  • 部署工具来检测端口扫描。

摘要

有许多工具可以帮助您保护组织的网络。该过程涉及足迹,或通过使用侦察在网络上查找信息,侦察是用于查找信息的检测方法。您了解了攻击者如何使用网络扫描来获取目标的信息。

资源

三、枚举

枚举涉及到连接到系统,因此它将端口扫描提升到下一个级别。由于枚举是测试中更具侵入性的部分,作为一个有道德的黑客,你必须得到组织的许可。您正试图使用员工登录帐户检索信息并获得对服务器的访问权限。在本章中,您将学习枚举技术,如何建立空会话,以及如何识别枚举对策。你将学习涉及主动和被动枚举的重要概念。

本章结束时,您将能够

  1. 解释枚举技术。

  2. 了解如何建立空会话。

  3. 确定枚举对策。

  4. 执行主动和被动枚举。

危害系统的步骤

枚举是危害系统的第一步。攻击者主动连接到目标以获取信息。从那里,攻击者试图识别密码。一旦攻击者获得了使用帐户访问系统的权限,他们就会试图获得管理员权限。攻击者安装提供目标信息的应用程序,并隐藏它们,使管理员无法识别它们。攻击者擦除他们使用过的路径的任何痕迹。

危及系统安全有六个基本步骤:

  1. 枚举

  2. 密码破解

  3. 权限提升

  4. 跟踪保持

  5. 文件隐藏

  6. 应用程序执行

枚举

枚举被列为组成系统的第一步,是一个涉及到与目标建立活动连接的过程。枚举信息的类型可以分为四类:网络资源和共享、用户和组、审核设置和应用程序标题。

要进行身份验证,操作系统需要一个用户帐户。Windows 还支持一种独特的用户类型,称为空用户(图 3-1 )。空值没有用户名和密码,但可以用来访问网络上的某些信息。null 能够枚举帐户名和共享。

img/505537_1_En_3_Fig1_HTML.jpg

图 3-1

空用户

对于空会话,不提供任何用户和密码凭据。这是到网络共享 IPC$的匿名连接。要建立空会话,请在命令提示符下键入下面显示的命令行命令。从空会话中,攻击者可以调用 API 并使用远程过程调用来获取有关密码、用户和服务的信息。对策包括使用过滤器端口、禁用 SMB 服务、检查 HKLM、配置安全策略和限制远程访问。

net use \\192.168.1.101\IPC$ "" /user:""

从 Windows Vista 和 Server 2008 开始,空会话不可用,甚至管理员也无法启用。

NetBIOS 基础

一个 NetBIOS 名( https://searchnetworking.techtarget.com/definition/NetBIOS )可以是 16 个字符,其中 15 个是计算机名。最后一个字符保留为十六进制字符,用于标识计算机上运行的服务。NetBIOS 是一个 API,资源共享协议可以访问它,以便按名称引用计算机。计算机名不可路由。

设置 NetBIOS 的进度阶段如下所示:

  1. 一种 Windows 编程接口,使计算机能够通过局域网(LAN)进行通信

  2. 文件和打印机可以共享。

  3. 利用 UDP 端口 137(服务器服务)、138(数据报服务)和 139 (TCP)端口(会话服务)

  4. 15 个字符的限制适用于 NetBIOS 名称,即分配给系统的计算机名称。

  5. 在网络上,NetBIOS 名称必须是唯一的。

命令行工具

Windows 操作系统内置了几个命令行工具。建议您查看一下可用的各种参数和开关。

  • netstat显示网络连接、路由表和网络协议统计。

  • nbstat是 NetBios 的诊断工具,用于诊断 NetBios 名称解析问题。

SNMP 枚举

简单网络管理协议( https://networkencyclopedia.com/simple-network-management-protocol-snmp/ )用于维护和管理路由器、集线器和交换机。它是应用层协议。攻击者对主信息库(MIB)感兴趣,因为它是存储描述被监控资源的数据的地方。

  • 分配给受管系统和网络管理站的代理

  • 获取过程信息

  • MIB 是用要监控的资源建立的。

  • 默认社区字符串包含字符 PUBLIC。

  • 攻击者寻找启用了 SNMP 和默认团体字符串的目标主机。

  • 对于枚举,内置 SNMP 对象将是可见的。

如果不打算使用管理和监视组件,请不要安装它,这一点很重要。重要的 SNMP 枚举对策如下:

  • 限制对空会话共享的访问。

  • 删除 SNMP 代理或关闭 SNMP 服务。

  • 更改社区字符串。

  • 实现组策略安全选项。

使用 Windows 命令行工具发现主机

像 nmap、zenmap、tcpdump 和 Wireshark 这样的工具允许您枚举主机,但是也可以使用一些内置于 Windows 中的命令。表 3-1 ,包括任务 2 中用于枚举 Windows 主机的命令列表。

表 3-1

任务 2 中用于枚举 Windows 主机的命令

|

命令

|

结果

|
| --- | --- |
| net view | 枚举同一工作组中的计算机 |
| net view/domain | 枚举所有工作组和域 |
| net view/domain: workgroup | 枚举工作组中的机器 |
| net view/domain: XYZcompany | 枚举工作组 XYZcompany 中的机器 |

使用 Metasploit 发现主机

Metasploit 中有大量的扫描器。使用搜索扫描仪命令列出它们。ARP 扫描可以针对一个网络,如图 3-2 所示。Netbios 扫描程序可以获取计算机名列表,如图 3-3 所示。

img/505537_1_En_3_Fig3_HTML.jpg

图 3-3

Netbios 扫描

img/505537_1_En_3_Fig2_HTML.jpg

图 3-2

Arp 扫描

利用该隐

Cain 是一个密码恢复工具( https://resources.infosecinstitute.com/topic/password-cracking-using-cain-abel/ ),用于各种类型的密码,如网络、计算机、无线等。您可以使用 MAC 地址扫描器扫描子网中的所有主机(图 3-4 )。通过选择每一个并选择解析主机名,显示结果(图 3-5 )。

img/505537_1_En_3_Fig5_HTML.jpg

图 3-5

Cain 扫描结果

img/505537_1_En_3_Fig4_HTML.jpg

图 3-4

和凯恩一起做扫描

摘要

枚举是测试过程中需要组织许可的部分。在本章中,您学习了特定的枚举技术、如何建立空会话以及各种枚举对策。您还了解了主动枚举和被动枚举之间的区别。

资源

四、系统攻击

在本章中,您将了解系统黑客,包括能够识别各种类型的密码攻击、使用密码破解工具以及检测密码破解对策。系统黑客包括使用 rootkits 和其他工具来掩盖攻击者的踪迹,这也将在本章中讨论。

本章结束时,您将能够

  • 识别不同类型的密码攻击。

  • 使用密码破解工具。

  • 识别各种密码破解对策。

  • 识别隐藏文件的不同方法。

  • 了解如何检测 rootkit。

  • 识别可用于掩盖攻击者踪迹的工具。

密码攻击:被动在线攻击

在完成枚举和扫描阶段后,攻击者会寻找安全配置较弱的用户帐户或主机。系统黑客包括破解密码、使用键盘记录器和使用间谍软件。安装 rootkits 和使用隐写术也属于系统黑客的范畴。

密码是最常用的身份验证形式。四种类型的密码攻击是被动的、主动的、离线的和非技术性的。

  • 被动:通过被动密码破解攻击,攻击者嗅探网络流量,以查明是否有任何密码信息被泄露。

    • 线嗅探只在公共冲突域中起作用,攻击者在局域网的一个系统上运行嗅探器。

    • 中间人和重放攻击同时嗅探连接的两端。这在 telnet 和无线技术中很常见,由于 TCP 序列号和速度的原因,很难实现。重放攻击使用嗅探器获取数据包,提取信息,然后将数据包放回服务器。

  • 主动:密码猜测是比较有效的主动在线攻击技术之一。通过侦察和计数收集的信息现在可能是有用的。主动在线攻击的一个例子包括密码猜测。当攻击者构建包含外语单词、专有名称和常用密码的大型字典时,就会出现密码猜测。在这种情况下,攻击者扫描用户配置文件来寻找线索。

  • 离线:密码不应该以纯文本格式存储。通常使用散列算法。下面详细介绍了一些可用的离线攻击。

    • 预先计算的哈希根据系统范围的列表验证登录用户名和密码。包含列表的文件必须始终加密,因为如果文件具有可读格式的加密密码,哈希函数就可以被攻击者识别。

    • 音节攻击是暴力攻击和字典攻击的混合,利用字典中单词的每种可能组合。

    • 如果攻击者有一些密码细节(即密码包含两位数),就会发生基于规则的攻击。

    • 在网络分布式攻击中,攻击利用网络未使用的处理能力来解密密码。运行 DNA 客户端的机器可以访问安装在中央位置的 DNA manager。

    • 当密码哈希表(称为彩虹表)产生并保存在内存中时,就会发生彩虹攻击。彩虹表可用于从密文中检索明文密码。

  • 非技术性:密码攻击不一定意味着技术正在被使用。有时,密码攻击可能是一些敏锐的观察或他人操纵的结果。非技术性攻击的例子包括肩冲浪、键盘冲浪和社会工程。

密码攻击示例

攻击者只需要获得存储在系统上的单向散列的副本,就可以开始成功的密码攻击(图 4-1 )。

img/505537_1_En_4_Fig1_HTML.jpg

图 4-1

密码攻击

空会话

可以通过连接到共享来建立空会话,而无需提供用户名或密码。空会话允许未经身份验证的主机收集数据,如密码策略、本地计算机上的用户名和帐户锁定策略。

可以使用命令Net View \\TargetComputerName列出共享资源。端口 139 或 445 必须打开,空会话才能成功。

在 Windows 网络中,空会话的存在允许

  • 资源枚举的受信任域

  • 用于用户身份验证和枚举的域外计算机

  • 用于验证和列出资源的系统帐户

NetBIOS 空会话允许对 Windows NT/2000 进行读写访问,对 XP 和 2003 进行读访问。预防措施包括防火墙、禁用 TCP/IP 上的 Netbios、将RestrictAnonymous=1添加到HKLM\SYSTEM\CurrentControlSet\Control\LSA。桌面哨兵这样的工具可以让你看到谁连接到你的机器,给你一个用户名和 IP 地址。

有关更多信息,请阅读空会话漏洞( http://msdn.microsoft.com/en-us/library/ms913275(v=winembedded.5).aspx )

证明

基于 Windows 的系统采用质询-响应身份验证协议来验证远程文件访问请求。Kerberos 已经取代 NTLM 成为 Active Directory 环境中的默认身份验证协议。NTLM 仍然在域控制器不可用的情况下使用。查看图 4-2 和下面概述的步骤。

img/505537_1_En_4_Fig2_HTML.jpg

图 4-2

证明

  1. 到服务器的网络路径由客户端建立。

  2. 服务器用一条用于确定客户端身份的质询消息来响应。

  3. 客户端使用两个哈希密码值(存储在服务器上)中的一个或两个来响应质询。如果哈希值被攻击者获取,攻击者可以在不知道密码的情况下进行身份验证。

Kerberos 操作

Kerberos 使用强大的加密技术向服务器证明客户机的身份,而服务器又可以向客户机验证自己的身份。

为了说明 Kerberos 身份验证服务是如何工作的,考虑一下您的驾驶执照。你可以向其他人出示你的执照,以证明你就是你所声称的那个人。因为其他方信任颁发许可证的州,所以他们会接受您的许可证作为您身份的证明。

颁发许可证的州类似于 Kerberos 身份验证服务,许可证充当客户端到服务器的票证。

img/505537_1_En_4_Fig3_HTML.jpg

图 4-3

Kerberos 操作

  • Kerberos 服务器包括所有拥有领域服务授权的用户的用户 id 和散列密码。

  • Kerberos 服务器还与它授予访问票的每台服务器交换秘密密钥。

  • 认证的基础是 Kerberos 环境中的票证。票证在两个阶段的过程中与客户端一起使用。第一个票证是由 AS 提供给请求客户端的票证授予票证(TGT)。然后,客户机可以将这个票证提交给 Kerberos 服务器,请求访问特定的服务器。这个客户端到服务器的票证(也称为服务票证)用于获得对服务器领域中的服务的访问。

  • 由于可以对整个会话进行加密,这可以防止可能在网络上捕获的项目(如密码)的潜在不安全传输。

  • 票是有时间戳的,也是有寿命的,所以试图重用一张票是行不通的。见图 4-3 。

密码破解对策

了解与密码破解相关的对策非常重要。

  • LAN Manager 或 LM 哈希是运行 DOS、Windows 3.11、95、ME、NT、2000、XP 和 Windows 2003 的系统的默认哈希。

  • NT 哈希是用于 Windows Vista、7、8、Server 2008 和 Server 2012 的默认哈希。Kerberos 身份验证在早期版本中不可用。

  • LM 哈希不如 NT 哈希安全。

要禁用 LM 哈希,您需要

  1. 使用组策略实现 NoLMHash 策略。

  2. 通过编辑注册表实现 NoLMHash 策略。

  3. 找到 HKEY _ LOCAL _ MACHINE \ SYSTEM \ current Control set \ Control \ Lsa,点击 Add Key,,键入NoLMHash

  4. 使用长度超过 15 个字符的密码(LM 哈希不能用于该长度的密码)。

提升权限

默认情况下,Windows Vista 禁用管理员帐户,第一个创建的用户拥有管理权限。默认情况下,只有系统帐户可以访问位于 c 盘根目录下的系统卷信息文件夹。系统卷信息文件夹包含系统还原所需的文件。与提升权限相关的关键术语如下:

  • 系统帐户是为 Windows 操作系统保留的,对驱动器具有唯一的访问权限。

  • 网络服务是一个预定义的本地帐户,其权限低于需要访问网络的计算机上运行的系统程序所使用的系统。

  • 本地服务由运行在不需要访问网络的计算机上的系统程序使用。

密码破解

其他可用于转储散列的基于命令行的工具有pwdumpfgdump。Windows 将散列后的密码存储在C:\Windows\System32\Config的 SAM 文件中。Cain 是一个可以转储这些散列的程序。破解密码的三种方法是字典攻击、密码分析攻击和暴力攻击。参见图 4-4 和 4-5 。

img/505537_1_En_4_Fig5_HTML.jpg

图 4-5

密码分析攻击的示例

img/505537_1_En_4_Fig4_HTML.jpg

图 4-4

暴力攻击的示例

按键记录程式

键盘记录器可以是基于硬件的,也可以是基于软件的。键盘记录器捕获用户的击键,将数据记录在文件中,并根据配置的设置保存、通过电子邮件发送或传输文件。

用户通常不知道他们正在被监视,攻击可以是基于硬件或软件的方法。对策包括保持反病毒软件最新,寻找可疑的进程运行,并物理检查计算机硬件。

隐藏文件

计算机文件具有诸如文件长度、创建、访问和最后修改时间以及是否隐藏、存档或只读等属性。attrib命令用于显示或改变文件属性。

Microsoft NTFS 文件系统包含称为备用数据流的分支,用于存储作者或标题属性或图像缩略图。API 和命令行工具可以用来创建和访问分叉。Windows 资源管理器和DIR命令忽略分叉。

fork 是与文件系统对象相关联的字节流,每个文件至少有一个 fork。分支可能包含文件的主要数据,或者只是元数据( www.2brightsparks.com/resources/articles/ntfs-alternate-data-stream-ads.html )。

rootkits

Rootkit 检测是棘手的,因为 rootkit 可以破坏会发现它的软件。如果 rootkit 在内核中,删除是复杂的或几乎不可能的。重新安装操作系统可能是根除问题的唯一方法。

Rootkits 隐藏某些进程或程序的存在,使其无法被正常方法(审计、日志、IDS)检测到。它们为攻击者提供对计算机的特权访问,并被配置为跟踪流量、生成日志文件和创建后门,以便攻击者能够持续访问系统。攻击者可以通过使用备用数据流几乎完全隐藏系统内部的文件。

下面列出了检测 rootkits 的三个步骤:

  1. 在可能被感染的操作系统中运行 dir /s /b /ahdir /s /b /a-h并保存结果。

  2. 引导到干净的 CD,在同一个驱动器上运行dir /s /b /ahdir /s /b /a-h,并保存结果。

  3. 对这两组结果运行 CD 上的 WinDiff 的干净版本。

当检测到 rootkit 时,可以采取对策。被动对策是备份除二进制文件之外的所有关键数据,并从可信来源执行全新安装。您也可以使用代码校验和。另一个选择是用最少的设备驱动程序在安全模式下启动,这使得 rootkit 的隐藏文件可见。

密写

隐写术是一种将数据隐藏在其他数据后面的技术。完成此操作后,图像、声音、文本、音频或视频文件中未使用的数据位将被其他数据替换。最低有效位插入法通常用于隐藏数据。可以使用隐藏数据的二进制表示来覆盖图像中每个字节的最低有效位。隐写术工具创建图像调色板的副本。每个像素的 8 位二进制数的 LSB 被替换为隐藏消息中的一位,在复制的调色板中创建新的 RGB 颜色,并将像素更改为新 RGB 颜色的 8 位二进制数。

隐写分析是检测使用隐写术隐藏的消息并提取数据的过程。隐写分析工具使用检测、提取或销毁方法。

覆盖轨道

攻击者通过试图销毁证据来清理自己。Rootkits 可以完全禁用日志记录,并丢弃所有现有的日志。Auditpol.exe 可以禁用审核,并且可以通过 DumpEventLog、事件查看器、ElSave 和 WinZapper 来清除事件日志。其他工具,摆脱攻击者的踪迹是证据消除器,无痕,轨道橡皮擦亲,装甲工具,零轨道。

摘要

在本章中,您了解了攻击者如何破解密码,并了解了防止这种情况发生的对策。您现在了解了隐藏文件的不同方式以及攻击者安装 rootkits 的原因。最后,您现在知道攻击者使用什么工具来掩盖他们的踪迹。

资源

五、木马、后门、病毒和蠕虫

许多恶意程序包含病毒、蠕虫、木马和 rootkits 的特征。这些恶意程序是出于多种原因编写的,包括恶作剧、经济利益或传播政治信息。在本章中,您将了解木马感染系统的各种方式、需要注意的具体对策以及如何识别病毒,包括病毒检测方法和对策。

本章结束时,您将能够

  1. 解释木马如何感染系统。

  2. 识别木马使用的端口和木马对策。

  3. 识别病毒的症状。

  4. 描述病毒是如何工作的。

  5. 确定病毒类型、病毒检测方法和病毒对策。

木马

木马是恶意程序,会对系统的硬件和软件造成相当大的损害。后门是不遵循通常要求的安全和身份验证程序而访问设备的方法。

网络上或计算机系统内传输数据的合法通信路径被称为公开通道。传递信息并违反安全策略的通道被称为隐蔽通道。为了创建隐蔽通道,可以操纵公开通道。木马是一种简单的隐蔽通道。

木马,或简称为木马,是一种恶意软件,表面上是一种正常的可用程序,但实际上包含病毒。在特洛伊战争中,希腊人利用木马进入特洛伊城。同样,木马会在未被发现的情况下进入受害者的计算机,并拥有与受害者相同级别的权限。它会错误地将远程系统作为攻击源。

木马窃取敏感信息,存储非法资料,并被用作盗版软件的 FTP 服务器。木马以隐藏模式运行,可以改变注册表或其他自动启动方法。

后门是一种用来绕过系统中常用的身份验证方法的方法。木马可以通过多种方式渗透到系统中,包括即时消息应用程序、互联网中继缓存、附件、物理访问、浏览器和电子邮件软件错误、文件共享、虚假程序和免费软件,以及访问可疑网站。

木马攻击的迹象

了解指示木马攻击的症状非常重要。

  • 光盘抽屉自动打开/关闭

  • 电脑屏幕闪烁或倒置

  • 背景/壁纸设置会自动更改

  • 颜色设置会自动更改

  • 防病毒会自动禁用

  • 日期和时间更改

  • 鼠标指针消失

  • 弹出窗口突然出现

如果一个系统出现了上面提到的任何症状,那么就应该更仔细地看看这个系统到底发生了什么。

木马使用的端口

对活动连接的状态和木马使用的端口有一个基本的了解,将使您能够确定系统是否已经受损。查看表 5-1 中木马使用的端口。

表 5-1

木马使用的端口

|

特洛伊人

|

草案

|

港口

|
| --- | --- | --- |
| 后孔口 | 用户数据报协议(User Datagram Protocol) | 31337 或 31338 |
| 深喉 | 用户数据报协议(User Datagram Protocol) | 2140 和 3150 |
| NetBus | 三氯苯酚 | 12345 和 12346 |
| 打地鼠 | 三氯苯酚 | 12361 和 12362 |
| net beans 2 | 三氯苯酚 | Twenty thousand and thirty-four |
| 女朋友 | 三氯苯酚 | Twenty-one thousand five hundred and forty-four |
| 家伙 | 三氯苯酚 | Sixty-five thousand |
| 邪恶 | 文件传送协议 | Twenty-three thousand four hundred and fifty-six |
| 七层以下 | 三氯苯酚 | 6711, 671, 6713 |
| 末日之门 | TCP, UDP | 10067, 10167 |

Netstat 命令

netstat命令可用于确定哪些端口正在监听。图 5-1 显示了一个netstat命令的结果,指示活动连接并识别哪些端口正在监听。

img/505537_1_En_5_Fig1_HTML.jpg

图 5-1

Netstat 结果

木马的类型

木马可根据其运行方式分为以下几类:

  • 远程访问木马提供对受害系统的完全控制。

  • 数据发送木马可以安装键盘记录程序,并提供访问机密数据的途径。

  • 破坏性木马会删除目标系统上的文件。DoS 攻击木马允许攻击者发起分布式拒绝服务攻击。

  • 代理木马将目标电脑变成代理服务器,让攻击者可以访问该电脑。

  • FTP 木马开放 21 号端口,允许攻击者通过 FTP 连接。

  • 其他木马可以禁用防病毒软件,创建 ICMP 隧道,或允许攻击者绕过防火墙。

ICMP 隧道

任意数据被注入通过 ICMP 隧道发送到远程设备的回送数据包中。以同样的方式,远程机器通过将响应注入另一个 ICMP 数据包并返回来进行响应。客户端使用 ICMP 回应请求数据包进行所有通信,而代理则使用回应回复数据包。此漏洞的存在是因为用于管理 ICMP 数据包的 RFC 允许任何回应回复或回应消息 ICMP 数据包的任意数据长度。

通过混淆真实的流量,ICMP 隧道可能被用来绕过防火墙规则。模糊暗示你隐藏了交流的真正意义。根据 ICMP 隧道程序的配置,这种形式的通信也可以归类为两台机器之间的加密通信信道。如果没有足够深入的数据包检测或日志分析,网络管理员就无法识别网络中的这种流量。见图 5-2 。

img/505537_1_En_5_Fig2_HTML.jpg

图 5-2

ICMP 隧道

用于创建木马的工具

这里根据类别列出了一些可用于创建木马的工具。不用说,攻击者不难找到用木马渗透受害者系统的方法。

  • 后门工具包括 Tini、Icmd、NetBus、Netcat。

  • 隐藏工具包括 Wrappers、EXE Maker、Pretator、Restorator、俄罗斯方块。

  • 远程访问工具包括 VNC、RemoteByMail 和 Atelier Web Remote Commander。

  • Shell 和隧道工具包括 Windows Reverse Shell、Perl-Reverse-Shell、XSS Shell、XSS 隧道和隐蔽通道隧道工具。

  • 其他工具包括 SHTTPD 服务器、木马构建工具包、Rapid Hacker、SARS 木马通知、T2W(木马转蠕虫)。

特洛伊对策

有许多对策可以减少成为受害者的机会。通过实现列出的措施可以避免木马感染。

  1. 不要从未知网站下载文件。

  2. 不要在程序中使用预览窗格。

  3. 在您的桌面上运行防病毒、防火墙和入侵检测软件。

  4. 删除可疑的设备驱动程序。

  5. 扫描可疑的开放端口、正在运行的进程和注册表项。

  6. 运行木马扫描程序。

  7. 下载有用文件的同时,不要下载其他程序;这可能会导致病毒感染,窃取您的个人数据。

检测工具

要检测木马,请扫描可疑的开放端口。然后扫描可能正在运行的可疑进程。扫描注册表。使用 Wireshark 等工具扫描可疑的网络活动。最后,运行木马扫描程序。可以用来检测木马的其他工具有 Netstat、fPort、TCPView、CurrPorts、PrcView、Msconfig、Autoruns 和 HijackThis。

后门对策

列出的对策将有助于保护系统不被创建后门,从而为攻击者提供访问权限。下载电子邮件附件或安装从互联网下载的应用程序时,应始终小心谨慎。如果站点为文件下载提供了哈希值,请确保在下载文件后验证该值,以确保文件未被篡改。您应该使用能够识别木马签名的防病毒软件包,并使用最新的安全补丁更新您的应用程序。

对策工具

有许多对策工具可供使用。旨在帮助检测木马的反木马软件可以与防病毒程序一起运行。与防病毒软件一样,反木马软件也必须保持最新。

  • 反木马软件包括 TrojanHunter、Comodo BOClean、Spyware Doctor、SPYWAREfighter。

  • 后门工具包括 Tripwire、系统文件验证、MD5sum.exe、微软 Windows Defender。

过程监视器

木马可以隐藏在任意数量的。Microsoft 操作系统中的. exe 文件。诸如进程监视器之类的工具可以用来监视系统进程文件。它可以从微软网站免费下载。它显示实时文件系统、注册表和进程或线程活动。见图 5-3

img/505537_1_En_5_Fig3_HTML.jpg

图 5-3

流程监控汇总示例

恶意软件工具:毒藤

用户友好的恶意软件应用程序(如 Poison Ivy Remote Access 木马)经常被网络犯罪分子用来进行许多利用后的活动,如加载恶意软件、执行程序、停用服务、中断进程和窃取信息。

Poison Ivy 是一种高度危险的恶意软件工具,因为它允许黑客通过加密连接与受害者的机器建立持续连接。毒藤在许多引人注目的事件中被用作攻击工具,包括 2011 年对 RSA 网络的攻击。

在实验室中,您可以设置 Poison Ivy 客户端,引诱受害者启动恶意文件,并利用带有 Poison Ivy 的受害者机器。见图 5-4 。

img/505537_1_En_5_Fig4_HTML.jpg

图 5-4

毒常春藤听港口

病毒和蠕虫

虽然病毒和蠕虫都是会对计算机造成损害的恶意程序,但了解它们之间的区别是很重要的。随着本章的继续,重点将是仔细看看病毒与蠕虫。

  • 病毒需要一个主机、一个程序或一个文件才能从一台电脑传播到另一台电脑。病毒是通过人类活动传播的,比如打开附件或运行程序。

  • 一个蠕虫是自我复制的。不需要人工操作。蠕虫利用安全漏洞通过网络在计算机之间传播。

病毒的症状

识别病毒的症状意味着您可以更快地采取行动,以减少对您的系统或网络的损害。

需要注意的症状包括:

  1. 程序加载时间较长。

  2. 硬盘总是满的。

  3. 未知文件不断出现。

  4. 键盘或计算机发出奇怪的声音或蜂鸣声。

  5. 电脑显示器显示奇怪的图形。

  6. 文件名变得奇怪,经常让人认不出来。

  7. 一个程序的大小不断变化。

  8. 系统上的内存似乎正在使用中。

病毒和蠕虫感染造成的损害可分为三类:

  • 技术损害因为内存、CPU 时间、网络带宽等资源被浪费。

  • 道德或法律损害由未经授权的数据修改、版权或所有权问题导致。

  • 心理伤害,如信任问题和缺乏知识导致了混乱。

病毒生命的各个阶段

任何具有基本编程知识的人都可以创建病毒,并且有许多工具可用于设计病毒。复制需要一段时间。对于病毒,需要人的行动来启动病毒。在用户注意到前面提到的症状之一后,病毒被识别为威胁。反病毒软件公司在他们的产品中加入了一个补丁,这样用户就可以安装更新并清除病毒。图 5-5 显示了病毒在其整个生命周期中的各个阶段。

img/505537_1_En_5_Fig5_HTML.jpg

图 5-5

病毒生命的各个阶段

感染阶段

病毒有两个阶段,真的。首先是感染阶段,然后是攻击阶段。一旦病毒被触发,事件序列将继续,直到用户注意到症状并采取适当的措施。

一旦病毒被触发,它就会破坏其宿主的文件和程序,或者执行与应用程序运行无关的任务。参见图 5-6 。

img/505537_1_En_5_Fig6_HTML.jpg

图 5-6

感染阶段

病毒的类型

病毒的不同之处在于它们如何将自己添加到目标主机的代码中,以及它们如何作用于目标系统。这里有三种类型的病毒:

  • 外壳病毒:在外壳病毒中,病毒代码在目标宿主程序的代码周围形成一层,原代码移动到新的位置,病毒就采取了自己的身份。

  • 附加病毒:附加病毒将代码附加到宿主代码的开头,因此病毒代码在宿主代码之前执行。

  • 入侵型病毒:入侵型病毒会将其代码覆盖在主机的程序代码上,因此原始代码无法正常执行。

什么病毒会攻击

病毒分类的另一种方式是基于它们感染的东西。一个常见的目标是引导扇区,它是计算机启动时在磁盘上执行的一个区域。

程序病毒感染可执行程序文件或带有。exe,。com,或者。比如 sys。多重病毒感染程序文件,进而影响引导扇区。网络病毒利用计算机网络的命令和协议进行复制。

源代码病毒更不寻常,因为编写它们需要技巧,而且有许多类型的源代码。宏病毒在应用程序运行时执行一系列操作。

病毒如何感染

病毒也可以根据它们如何感染目标系统来分类。一个终止并停留的常驻病毒会一直留在内存中,直到系统重新启动。一种短暂的 T2 病毒 T3 的生命依赖于它的宿主。当它的附加程序结束时,病毒也就终止了。一个伴随病毒与目标程序文件具有相同的文件名。一旦特定的程序被执行,病毒就会感染计算机。多态病毒通过改变自身特征来躲避杀毒程序。隐形病毒在运行时会改变和破坏服务调用中断。当执行操作的请求涉及这些服务调用时,病毒会中断并替换该调用。

空洞病毒填充程序的空白空间,是更难编写的病毒。隧道病毒通过拦截操作系统的中断处理程序,试图在防病毒程序下安装,逃避检测。伪装病毒将自己伪装成正版应用程序,很容易被反病毒程序追踪。还有可引导光盘病毒可以通过载入光盘进入系统。

自我修改病毒

防病毒程序扫描模式或病毒签名,病毒签名是病毒的一部分。如果发现模式匹配,防病毒程序会将该文件标记为已感染。对于自我修改型病毒,代码会在每次感染时被修改。可变密钥加密使用加密密钥,每个受感染文件使用不同的密钥组合。为了操纵新执行的文件,变形代码病毒重写它们自己,而多态代码病毒用加密的多态代码的副本感染文件。

最糟糕的计算机病毒

花一些时间来回顾一些最著名的病毒和蠕虫。

  1. “我爱你”蠕虫是一个 VBScript。它通过微软的电子邮件客户端传播。它利用了一个名为LOVE-LETTER-FOR-YOU.TXT.vbs的文件附件,当它打开时,会将自身复制到 Windows 系统目录中。蠕虫修改了注册表,以便在系统启动时运行。

  2. 梅利莎病毒也通过访问受害者在微软 Outlook 中的联系人进行传播。这种病毒降低了计算机的安全设置。该病毒的目标是 Word 文档模板。Melissa 因其生成的大量电子邮件而使许多服务器不堪重负。

  3. SQL Slammer 利用了微软 SQL Server 中的缓冲区溢出漏洞。虽然该蠕虫不包含破坏性的有效载荷,但它确实产生了大量的网络流量。

  4. Nimda 使用了五种不同的感染方法,成为互联网上传播最广的蠕虫,影响运行 Windows 操作系统的工作站和服务器。“nimda”这个名字实际上是“admin”的反向拼写。

  5. 安娜·库尔尼科娃电脑蠕虫用一张网球比赛的照片作为诱惑打开附件。

文件扩展名

检查未知文件的文件扩展名是确定文件安全性的好方法。

| 您熟悉下面列表中的文件类型吗?。计算机输出缩微胶片。初始化设置文件的后缀名。快捷方式。容器。动态服务器页面. MP3。半铸钢ˌ钢性铸铁(Cast Semi-Steel)。车辆注册号。动态链接库。脚本。装甲兵基础训练(Basic Armor Training)ˌ教学法学士(Bachelor of Arts in Teaching)ˌB.A.T.Industries PLC(在英国的世界最大的香烟公司)。[计]系统复制命令(system 的简写) |

对策

病毒扫描程序是必备的。在新病毒被发现后,病毒的特征字符串被识别。您的防病毒软件必须用新的签名更新,以便扫描您的内存文件和系统扇区。尽管病毒扫描程序可以在程序执行前对其进行检查,并且是检查新软件中已知病毒的最简单的方法,但它们是一种被动的解决方案。

完整性检查器读取并记录集成数据,以便为这些文件和系统扇区生成签名。有些还能够分析病毒引起的变化类型。

拦截是指请求操作系统采取对程序造成威胁的行动。如果它发现一个请求,拦截器会弹出并在继续之前要求用户交互。

概述了处理病毒或蠕虫时的标准事件响应。杀毒软件是检测攻击的必备工具。要跟踪进程,以下实用程序很有用:

  • Handle.exe:显示系统中任何进程的打开句柄信息。

  • Listdll.exe:显示命令行参数和所有使用的相关 dll。

  • Fport.exe:报告所有打开的 TCP/IP 端口,并将它们映射到应用程序。

  • Netstat.exe:显示网络连接和网络协议统计。

防病毒软件

防病毒软件(图 5-7 )需要安装、更新并运行才能最有效。有很多选择。

img/505537_1_En_5_Fig7_HTML.jpg

图 5-7

微软安全基础

利用恶意软件

黑客经常使用像 Dark Comet 这样的恶意软件程序来保持与受害者机器的连接。然后,黑客能够通过该连接对受害者执行恶意任务。

在图 5-8 中,Windows 7 使用广域网上的公共 IP 地址。Windows 2003 SQL 位于防火墙之后,防火墙将流量重定向到 SQL。

img/505537_1_En_5_Fig8_HTML.jpg

图 5-8

在广域网上使用公共 IP 地址的 Windows 7

在图 5-9 中,SQL 注入为受害者提供了一个黑暗彗星的连接。

img/505537_1_En_5_Fig9_HTML.jpg

图 5-9

SQL 注入和暗彗星

利用这种联系

与受害机器的连接提供了许多可能的操作。一旦连接到受害机器,攻击者就可以操纵目标机器,就好像他们坐在键盘后面一样(图 5-10 )。

img/505537_1_En_5_Fig10_HTML.jpg

图 5-10

暗彗星连接

摘要

恶意程序是为了让攻击者受益而编写的,并且出于多种原因而被创建。这些程序包含病毒、蠕虫、木马和 rootkits 的特征。在本章中,您学习了木马感染受害者系统的方式、对策以及木马使用的端口。现在,您可以在对策中识别病毒的症状、病毒类型和病毒检测方法。最后,您了解病毒是如何工作的,并且熟悉后门和蠕虫的概念。

六、嗅探器和社会工程

在这一章中,你将学习嗅探以及如何使用这项技术。您将了解易受嗅探攻击的协议,以及如何检测嗅探攻击的类型。在本章中,还将向您介绍针对嗅探的对策。您还将了解不同类型的社会工程以及保护个人免受攻击的对策。

本章结束时,您将能够

  1. 识别嗅探的类型和易受嗅探攻击的协议。

  2. 识别嗅探攻击的类型。

  3. 确定检测嗅探的方法。

  4. 确定嗅探的对策。

  5. 识别不同类型的社会工程和社会工程对策。

嗅探器

嗅探器是监控网络数据的程序。监控程序使用嗅探器来产生指标并用于分析,嗅探器不会拦截或更改数据。或者,嗅探被用来窃取网络上的密码、电子邮件和文件。

在这一章中,你将学习嗅探的基本概念,以及嗅探器在黑客攻击中是如何使用的。对于管理员来说,了解嗅探器并了解保护网络安全的各种工具和技术非常重要。

交换式以太网

在以太网上,有两种环境。首先,所有主机都可以连接到同一条总线上,它们在总线上竞争带宽。否则,主机会连接到交换机。当然,使用交换机更安全,因为交换机只将数据包发送到流量的目标计算机。交换网络更为常见。见图 6-1 。

img/505537_1_En_6_Fig1_HTML.jpg

图 6-1

交换网络

嗅探的类型

大多数嗅探器工具在基于集线器的环境中工作良好。攻击者可以通过危害组织的物理安全或使用木马安装数据包嗅探器来访问网络并使用被动嗅探。嗅探可以分为被动和主动两种。

  • 被动嗅探:在网络上使用交换机是对抗被动嗅探的一种对策。在交换网络上,如果有一个被动的嗅探器,它只能看到进出安装它的机器的数据。被动嗅探在具有集线器的网络上很常见,集线器从所有机器收集数据。主动嗅探交换机主动监控每个端口上的 MAC 地址,并将流量注入 LAN 以实现流量嗅探。

  • 主动嗅探:主动嗅探交换机主动监控每个端口上的 MAC 地址,并将流量注入 LAN 以实现流量嗅探。主动嗅探器可分为地址解析协议(ARP)欺骗、MAC 泛洪和 MAC 复制。

    • ARP 欺骗的结果是目标机器具有错误的网关条目,因此所有去往网关的流量现在都将通过攻击者系统。

    • 如果交换机被大量的 MAC 地址淹没,以至于无法继续工作,那么交换机将进入“无阻通信模式”,并像集线器一样开始向交换机上的所有端口广播数据包。

    • 当在网络中搜寻与交换机端口相关联的客户端的 MAC 地址并重用这些地址之一时,就会发生 MAC 复制。

易被嗅探的协议

通过网络以明文形式发送密码和数据的协议容易被监听。不要让用户名和密码的要求给你一种虚假的安全感。

容易被嗅探的协议包括

  • 用于远程联接服务的标准协议或者实现此协议的软件(可为动词)

  • 简单网络协议(SNMP)

  • 网络新闻传输协议(NNTP)

  • 邮局协议

  • 超文本传输协议(HTTP)

  • 文件传输协议

  • 互联网消息访问协议(IMAP)

电子监视

有一个将嗅探作为合法工具的应用。例如,当司法行政命令授权时,电子监控使用窃听来利用目标的服务提供商收集数据。中介设备负责处理,使用的工具包括 Wireshark 和 Tcpdump。

如何检测嗅探

嗅探器不会留下痕迹,因为它不传输数据。有时执行嗅探的机器处于混杂模式。混杂模式允许网络设备拦截和读取每个传输的网络数据包。您可以运行arpwatch来查看是否有任何 MAC 地址发生了变化,并运行网络工具来监控网络中的奇怪数据包。见图 6-2 。

img/505537_1_En_6_Fig2_HTML.jpg

图 6-2

检测嗅探的过程

有几种方法可以用来检测嗅探。查看每种方法的详细信息。

  • ping 方法 : 使用 Ping 方法的调查者在路由表中更改可疑计算机的 MAC 地址,然后使用 IP 地址和修改后的 MAC 地址发送 Ping。带有嗅探器的系统会对此 ping 做出响应。

  • ARP 方法 : 响应非广播 IP 地址请求的系统被怀疑执行嗅探器。

  • 源路由方法 : 松散源路由列出了数据包到达目的机器所经过的系统的 IP 地址。如果在松散源路由中有 IP 地址的机器发生故障,数据包就无法到达目的地。如果调查者禁用了路径中的一台计算机,而数据包仍然到达目的地,则很可能目的地计算机正在运行嗅探器。

  • 诱饵方法 : 诱饵方法使用一个带有虚拟用户帐户的诱饵服务器和一个带有脚本的客户端来连接到服务器。借助入侵检测系统(IDS),调查人员可以发现攻击者何时试图登录。

  • 反向 DNS 方法 : 一些嗅探器执行反向 DNS 查找,以确定链接到特定 IP 地址的域名。执行反向 DNS 查找的计算机对 ping 做出响应,并将其识别为具有嗅探器。

  • 延迟方法 : 通过延迟方法,调查人员可以计算 pings 的响应时间,以确定过载会影响哪个系统。运行嗅探器的计算机具有较长的响应时间,并且受较高负载的影响。

Wget

攻击者通常会复制受害者的网站,并在以后执行鱼叉式网络钓鱼攻击时使用它。如果一个人每天都去同一个网站,他就不太可能仔细检查 URL。Wget 是一个可以用来复制网站的工具(图 6-3 )。

img/505537_1_En_6_Fig3_HTML.jpg

图 6-3

Wget

鱼叉攻击

复制的网站存在于攻击者的机器上。攻击者现在使用鱼叉式网络钓鱼让内部用户访问网站并输入他们的凭据。

在本练习中,您将尝试鱼叉攻击,并说服受害者登录攻击者机器上复制的网站,而不是用户自己的内部网站。当受害者连接到您的攻击机器时,您也将利用受害者的浏览器。见图 6-4 。

img/505537_1_En_6_Fig4_HTML.jpg

图 6-4

鱼叉攻击

查看凭据

您现在有了受害者的用户名和密码。如果您在攻击者机器上测试该用户名和密码,您将得到一个“无法显示页面”错误。知道将会有什么样的反应是很重要的,因为如果在随后的鱼叉式网络钓鱼攻击中与受害者有进一步的通信,则可以使用该信息。见图 6-5 和 6-6 。

img/505537_1_En_6_Fig6_HTML.jpg

图 6-6

捕获的用户名和密码

img/505537_1_En_6_Fig5_HTML.jpg

图 6-5

网页登录

社会工程

社会工程是利用一个人的“口才”让另一个人放松警惕,也就是说,让他们泄露通常不会泄露的信息或采取通常不会采取的行动。

社会工程利用了大多数人在工作场所乐于助人的愿望。你知道有多少组织强调客户服务?获得的信息有时可以直接用于攻击,但大多数情况下是作为更复杂计划的一部分间接使用的。

社会工程可以分为两类。第一种是基于人类的,第二种是基于计算机的。有六种人类行为是对社会工程的积极回应:

  1. 回报:被给予某物时被迫采取行动,比如收到免费样品后购买产品。

  2. 一致性:行为模式是相同的,这可能发生在,例如,你问了一个问题,然后等待别人来填补这个停顿。

  3. 社会认可:做别人都在做的事。一个例子是,如果你在拥挤的街道上抬头看,其他人也会抬头看。

  4. 喜欢:倾向于对我们喜欢的人或有吸引力的人说好。广告中用模特来引起人们的兴趣。

  5. 权威:听从那些处于权威地位的人的建议,比如广告上说五分之四的医生同意。

  6. 稀缺:越少的东西越有吸引力,就像圣诞节流行的玩具一样。

社会工程循环

社会工程循环由四个不同的阶段组成:信息收集、关系发展、关系利用和实现目标的执行。见图 6-7 。

img/505537_1_En_6_Fig7_HTML.jpg

图 6-7

社会工程循环

技术

以人为基础的社会工程涉及人类互动,包括模仿、窃听、肩膀冲浪、翻垃圾箱、第三方授权和捎带等行为(图 6-8 )。例如,攻击者可能冒充员工并给出虚假身份。攻击者甚至可以更进一步,冒充重要员工的身份,例如董事或高层管理人员。攻击者也可能伪装成技术支持人员。

与冒充雇员密切相关的是第三方授权。攻击者将自己伪装成由权威人士授权的代理,代表他们获取信息。

img/505537_1_En_6_Fig8_HTML.jpg

图 6-8

以人为基础的社会工程技术

基于计算机的社会工程

基于计算机的社会工程依靠软件来执行有针对性的行动。例如,木马是一种恶意软件,它看起来是一个正常可用的程序,但实际上里面隐藏着病毒。后门可用于绕过系统上常用的身份验证方法。

下面列出了攻击者可以用来发起基于计算机的社会工程攻击的其他几种技术。只要一个心怀不满的员工通过破坏计算机系统来报复组织。

  • 弹出窗口

  • 邮件附件

  • 网站

  • 即时消息

  • 网络钓鱼

  • 内部攻击

鲨鱼

恶意的 Shark 远程管理工具负载编码有攻击机器的 IP 地址和监听端口。攻击者使用窃取的凭证来映射受害者的进程间份额。然后,内部攻击者使用 psexec 在远程系统上执行恶意负载。这是通过另一个用户的凭据完成的,如果检查网络流量,这可能会引起对该用户的注意。查看图 6-9 。

img/505537_1_En_6_Fig9_HTML.jpg

图 6-9

远程 shark 连接

预防建议

组织可以采取几个步骤来防止内部威胁。在不同的雇员之间划分职责,使得没有一个雇员拥有完全的控制权,这被称为职责分离。类似的概念是在不同的时间将单一的职责轮换给不同的员工。

还必须在整个组织中实现访问控制策略,以限制未经授权的访问。记录和审核访问是预防性措施,制定法律政策和归档关键数据也将有助于组织。

一般防御措施

有效的防御需要管理层的计划。

  1. 管理层应该制定一套安全目标,并为这些目标指派工作人员。

  2. 公司应该进行风险管理评估。

  3. 在公司的安全策略中实现防御措施是至关重要的。员工需要了解如何通过政策和安全意识来处理社会工程威胁。

对策

组织可以实现的具体对策包括培训、密码策略、操作指南、物理安全策略、信息分类、访问权限、背景调查、事件响应系统以及策略和程序。不过,归根结底还是要对员工进行关于这些对策的充分培训。用户必须能够识别社会工程师可以使用什么样的信息。

摘要

你在这一章探索了嗅探器和社会工程。您了解攻击者如何使用嗅探来窃取组织和个人的密码、电子邮件和文件。您还可以描述两种类型的社会工程以及保护组织和个人免受攻击的对策。

七、拒绝服务

拒绝服务(DoS)攻击的示例包括向已识别的系统发送超出其处理能力的流量,向服务发送超出其处理能力的事件,或者通过发送损坏的数据包使 TCP/IP 堆栈崩溃。在本章中,您将学习如何识别和检查 DoS 攻击的症状,并了解如何识别检测技术和对策。

本章结束时,您将能够

  1. 识别拒绝服务攻击的特征。

  2. 分析拒绝服务攻击的症状。

  3. 认识 DoS 攻击技术。

  4. 确定检测技术和对策策略。

拒绝服务攻击

拒绝服务攻击的目标不是获得对系统的未授权访问,而是阻止合法用户访问该资源。DoS 攻击会导致诸如消耗资源、改变网络组件、消耗带宽以及破坏程序和文件等问题。

攻击类型

重点介绍几种类型的拒绝服务攻击。

  • 一个 Smurf 攻击是当攻击者发送额外的 ICMP 流量到 IP 广播地址,带有受害者的欺骗源 IP。

  • 缓冲区溢出攻击向应用程序发送过量数据,导致应用程序停机和系统崩溃。

  • 死亡攻击的 ping 发送一个大于允许的 65,536 字节的 ICMP 数据包。

  • 一个泪滴攻击操纵碎片的值,使它们重叠,导致接收系统重组数据包的问题,这使它崩溃,挂起或重新启动。

  • 一种 SYN flood 攻击通过从不响应服务器的响应来利用 TCP 的三次握手。

在针对一个目标的协同攻击中,分布式拒绝服务(DDoS)攻击利用几个受损系统。

僵尸网络

bot 是一种运行自动化任务的软件应用程序,可用于良性数据收集、数据挖掘或协调拒绝服务攻击。僵尸网络被称为僵尸网络。僵尸网络可以用来执行这里列出的所有任务:

  • 分布式拒绝服务

  • 垃圾邮件

  • 嗅探流量

  • 攻击 IRC 聊天网络

  • 安装广告加载项

  • 键盘记录

  • 操纵在线投票和游戏

  • 身份盗窃

实现 DDoS 攻击

DDoS 攻击的主要目标是获得大量计算机的管理权限,将它们变成僵尸。通过用特定数据激活僵尸,僵尸会被信号唤醒。使用僵尸也增加了追踪原始攻击者的难度。攻击者制造一种病毒,向目标发送 ping 数据包。他们用这种病毒感染大量电脑,制造僵尸,然后引发僵尸发动攻击。

进行 DDoS 攻击的过程包括以下步骤:

  1. 创建一个病毒向目标发送 ping 数据包。

  2. 用这种病毒感染大量电脑制造僵尸。

  3. 触发僵尸发动攻击。

  4. 僵尸攻击目标。

分布式拒绝服务攻击

处理程序通常被称为主程序,代理程序被称为守护程序。处理器软件安装在受损的路由器或网络服务器上,而软件代理安装在将执行攻击的受损系统上。代理可以配置为与单个处理程序通信,如图 7-1 所示,或者与多个处理程序通信。

img/505537_1_En_7_Fig1_HTML.png

图 7-1

DDoS 攻击

基于 IRC 的 DDoS 攻击与此类似,但它安装在网络服务器上,并通过使用 IRC 通信通道将攻击者连接到代理。

攻击类别

DDoS 攻击要么耗尽带宽,要么利用和消耗资源。在洪水攻击中,僵尸用 IP 流量淹没受害者,减慢受害者的速度或使系统崩溃。放大攻击使用子网的广播 IP 地址。攻击者通过直接或使用代理发送广播消息来增加流量(见图 7-2 )。

img/505537_1_En_7_Fig2_HTML.jpg

图 7-2

攻击类别

对策

理解处理程序、客户端和代理之间的通信协议和流量是发现网络中的处理程序并禁用它们的关键。预防二次受害者可以通过主动预防技术来实现。保持防病毒程序和软件补丁最新将防止恶意代码插入。

出口过滤用于扫描离开网络的 IP 数据包的报头。建立规则,要求离开组织网络的合法数据包具有正确的源 IP 地址,有助于减少攻击。

入口过滤是一种观察、控制和过滤进入网络的流量的技术,其目标是确保只有合法流量进入,未经授权或恶意的流量不能进入。

复制服务器或增加带宽都是负载平衡技术。节流有助于路由器管理大量的传入流量,以便服务器能够处理这些流量。最小和最大吞吐量控制可用于防止服务器停机。使用诱饵(如蜜罐)可以保护组织的资源,同时提供一种研究攻击者技术的方法。

存储攻击后数据的工具可用于分析攻击期间流量的特殊特征。有了这些数据,就可以进行调整来更新负载平衡和节流对策。

追踪攻击者流量的工具可用于逆向工程攻击。此信息可用于实现不同的过滤技术来阻止流量。事件日志有助于调查。

执行拒绝服务攻击

拒绝服务是一种黑客攻击,其中大量流量被发送到主机,而主机不再有能力响应合法用户的请求(见图 7-3 、 7-4 和 7-5 )。

img/505537_1_En_7_Fig5_HTML.jpg

图 7-5

DoS 数据包示例

img/505537_1_En_7_Fig4_HTML.jpg

图 7-4

用于发起 DoS 攻击的命令

img/505537_1_En_7_Fig3_HTML.jpg

图 7-3

使用 Tcpdump 捕获网络流量

切勿在隔离的虚拟环境之外使用该工具或这些命令。

摘要

本章回顾了拒绝服务攻击和不同类型的攻击,如 Smurf、缓冲区溢出、ping of death、teardrop 或 SYN flood,包括 DoS 攻击中出现的各种症状。它还涵盖了对保护系统安全非常重要的技术和对策。

八、会话劫持

在本章中,您将了解会话劫持,包括涉及的步骤、不同的类型以及可用于防范这种类型攻击的对策。

本章结束时,您将能够

  1. 确定进行会话劫持攻击的正确步骤顺序。

  2. 识别不同类型的会话劫持。

  3. 识别 TCP/IP 劫持。

  4. 描述防止会话劫持的对策。

会话劫持

当用户在两台计算机之间的有效计算机会话被攻击者接管时,就会发生会话劫持。在本课中,您将了解攻击者如何窃取有效的会话 id,并使用它进入系统并提取数据。首先,在仔细研究会话劫持的细节之前,首先回顾传输控制协议(TCP)栈以建立坚实的理解基础是很重要的。

TCP 栈

报头确保传输数据的可靠性。网络层允许数据报从源到目的地每次一跳。数据链路层与物理硬件通信,负责将信号从源设备传送到目的设备。见图 8-1 。

img/505537_1_En_8_Fig1_HTML.jpg

图 8-1

TCP 堆栈

三次握手

要使用 TCP 在双方之间建立连接,需要使用三次握手。攻击者试图破坏三次握手。攻击者可以发送数据包,如果 TCP 序列很容易预测,这些数据包就会被操纵。攻击者还可以访问未经授权的信息。序列号是随机的,但是随着时间的推移,随机数会重复出现,因为随机性是基于操作系统内部的算法。

TCP 数据段提供初始序列号(ISN)作为每个数据段报头的一部分。每个参与者在握手过程中陈述 ISN,然后该阶段的数字是连续的。参见图 8-2 。

img/505537_1_En_8_Fig2_HTML.jpg

图 8-2

三次握手

会话劫持的步骤

会话劫持涉及三个重要步骤。有关详细信息,请查看每个步骤。

  1. 追踪连接:攻击者使用网络嗅探器,以容易预测的 TCP 序列来锁定受害者。攻击者捕获序列号和确认号,并使用这些号码构建数据包。

  2. 去同步连接:攻击者改变服务器的序列号,去同步主机和目标之间的连接。为此,攻击者向服务器发送空数据,以提高服务器的 SEQ/ACK 数(目标机器没有相同的增量),从而使服务器和目标不同步。目标没有意识到攻击。

  3. 注入攻击者的数据包:一旦服务器和目标之间的连接中断,攻击者就能够将数据注入网络或进行中间人攻击。

会话劫持的类型

要使主动攻击成功,攻击者必须在目标响应服务器之前猜出序列号。操作系统供应商对初始序列号使用随机值,这使得序列号更难预测。主动攻击接管现有会话,中断连接,并主动参与。被动攻击监视正在进行的会话并使用嗅探器。

网络层劫持

网络层劫持包括在客户端和服务器之间的 TCP/UDP 会话中传输数据包时拦截数据包。为了攻击应用层会话,攻击者拥有所需的基本信息。

以下是网络层劫持方法的列表:

  • TCP/IP 劫持使用欺骗数据包接管连接。攻击者必须与受害者在同一个网络上。

  • 中间人使用数据包嗅探器拦截客户端和服务器之间的通信。它还通过攻击者重定向客户端和主机之间的流量。

  • IP 欺骗攻击者创建数据包插入到 TCP 会话中,通过使用可信主机的 IP 地址来获得未经授权的访问。

  • 盲目劫持发生在攻击者预测到受害者发送的序列号,并且连接似乎来自主机的时候。

  • RST 劫持发生在攻击者重置目标计算机,并通过攻击者重新路由新建立的会话时。

  • UDP 劫持不使用包排序。在服务器响应之前,攻击者向客户端发送一个伪造的服务器回复。

应用层劫持

攻击者通过访问会话 id 来控制现有会话。您可以在 URL 中找到嵌入的会话 id。

在 HTML 注入中,攻击者注入由客户端执行的恶意 HTML 代码。会话数据被返回给劫持者。跨站点脚本通过利用 web 应用程序来验证用户输入。

应用层劫持的类型:

  • 嗅探是在 HTTP 流量未加密时通过主机重定向流量进行攻击。未加密的数据包含会话 id、用户名和密码。

  • 强力攻击攻击就是尝试多种可能性,直到一个会话 ID 起作用。

  • 误导信任使用 HTML 感叹和跨站脚本。

其他攻击包括在 URL、表单或 cookies 中嵌入代码。

对策

TCP 协议的规范已经改变,使得序列号的预测变得更加困难。具有 32 位字段的 ISN 可能有 43 亿个潜在值。网络管理员可以使用不同的最佳实践来防范会话劫持。它们可以限制传入连接、使用加密、最小化远程访问、使用安全协议、教育用户,以及使用电路级网关防火墙作为互联网协议安全(IPSec)的一部分。

浏览器漏洞

对于市场上的不同浏览器,包括 Internet Explorer、Mozilla Firefox、Google Chrome 和 Safari,Metasploit 都有漏洞。然而,浏览器漏洞只有在使用特定版本的操作系统时才起作用。

通过输入适当的命令,可以显示关于该漏洞的信息。您还可以查看该漏洞的选项。见图 8-3 和 8-4 。

img/505537_1_En_8_Fig4_HTML.jpg

图 8-4

利用选项

img/505537_1_En_8_Fig3_HTML.jpg

图 8-3

利用信息

配置的设置

在使用适当的命令设置 SRVHOST、SRVPORT、有效负载、本地主机和 URIPATH 之后,您可以使用show options命令查看您的所有设置。exploit命令将启动远程连接的监听器。在机器连接到机器或端口 80 之前,不会发生任何利用。见图 8-5 和 8-6 。

img/505537_1_En_8_Fig6_HTML.jpg

图 8-6

配置的设置

img/505537_1_En_8_Fig5_HTML.jpg

图 8-5

配置设置

长矛费西合唱团攻击

熟练的黑客可以创建鱼叉式网络钓鱼攻击电子邮件。通过 HTML 格式、徽标和签名块等策略,它们看起来非常可信。您可以通过将鼠标悬停在链接上来显示链接的真实 IP 地址或 DNS 名称。用户教育是关键。参见图 8-7 和 8-8 。

img/505537_1_En_8_Fig8_HTML.jpg

图 8-8

利用成功

img/505537_1_En_8_Fig7_HTML.jpg

图 8-7

假的网络链接

利用受害者机器

Windows LM(局域网管理器)和新技术局域网管理器(NTLM)散列也可以从系统中转储(图 8-9 )。在转储时,有可能使用像开膛手约翰或该隐这样的方法来破解密码哈希。攻击者可以利用 Meterpreter 执行权限提升、转储哈希、终止进程和捕获屏幕截图等活动。Metasploit 必须在隔离的实验室环境中运行的机器上使用和评估。它不适合在野外使用。

img/505537_1_En_8_Fig9_HTML.jpg

图 8-9

利用受害者机器

摘要

在本章中,您了解了涉及会话劫持的关键因素,以及如何识别用于实现攻击的步骤。您回顾了几种有助于防范此类攻击的对策。

九、入侵网络服务器

在这一章中,你将会学到在入侵一个网络服务器的过程中会发生什么。您将了解 web 服务器的基本架构,并了解与之相关的漏洞。您还将了解防止 web 服务器攻击的有效对策。

本章结束时,您将能够

  1. 定义 web 服务器架构。

  2. 描述 web 应用程序攻击。

  3. 探究各种 web 服务器攻击。

Web 服务器安全漏洞

web 服务器为不同类型的用户带来了不同的问题。例如,网站管理员可能担心网络服务器会通过互联网将局域网暴露在威胁之下。网络管理员可能担心配置不佳的 web 服务器会给本地网络的安全带来漏洞。最终用户可能会担心 ActiveX 或 Java 等活动内容会使应用程序有可能入侵用户的系统。见图 9-1 。

img/505537_1_En_9_Fig1_HTML.jpg

图 9-1

Web 服务器安全漏洞

风险类型

浏览器端风险会影响最终用户,并且可能包括会使浏览器崩溃或导致滥用个人信息的活动内容。窃听者可以捕获在网络上传输的网络数据。

漏洞和配置错误允许未经授权的远程用户窃取机密信息,执行命令更改配置,检索用于危害系统的基于主机的信息,以及发起 DoS 攻击。

Web 服务器攻击

网站污损是一种改变网站或网页外观的攻击。宗教和政府网站经常成为黑客行动主义者传播政治信息的目标。这些攻击可能以中间人攻击、暴力攻击、DNS 攻击、SQL 感叹词、目录遍历攻击和远程服务入侵的形式出现。

微软的网络服务器——互联网信息服务(IIS)经常成为攻击的目标。被利用的具体漏洞包括::$数据漏洞、showcode.asp 漏洞、捎带漏洞、缓冲区溢出和 WebDAV/RPC 利用。

IIS 组件

当您看到 IIS 用来提供功能的各种组件时,web 服务器安全性成为挑战就不足为奇了。IIS 依赖于一组 dll,这些 dll 与主服务器进程一起提供其所有功能。

IIS 的组件包括以下内容:

  • 协议侦听器(HTTP.sys)

  • 网络服务(万维网服务)

  • 激活服务

  • BITS 服务器扩展

  • 公共文件

  • FTP 服务

  • FrontPage 服务器扩展

  • IIS 管理器

  • 互联网打印

  • NNTP 服务

  • SMTP 服务

IIS 日志

网络管理员将 IIS 捕获的日志文件作为 web 服务器管理的一个重要部分。将 IIS 日志文件与其他监控记录结合起来,可以强化任何证据,并使其更具可信度。

日志记录的规则包括

  1. 配置日志以记录每个可用字段。

  2. 用时间戳捕获事件。

  3. 确保连续性。

  4. 确保原始记录后日志未被修改。

Web 服务器安全性

无论您使用的是哪种 web 服务器,都可以采取一些措施来提高 web 服务器的安全性。可以使用防火墙;重命名管理员帐户;禁用默认网站;删除未使用的应用程序映射;禁用目录浏览;张贴法律公告;安装服务包、修补程序和模板。并禁用远程管理。

Web 服务器安全清单

  1. 补丁和更新:为了降低隐藏有害软件病毒的风险,下载补丁和更新非常重要。它们通过删除不必要的信息来帮助保护,并建立在您对系统的积极支持上。

  2. 审计和日志记录:审计和日志记录有助于您启用和记录失败的登录尝试,重新定位 IIS 日志文件,锁定服务器,以及保护站点和虚拟目录。

  3. 服务:减少服务数量或禁用不需要的协议,减少了 web 服务器的攻击面。但是,您必须确保 web 服务器所需的功能没有被大幅削减。您要禁用的协议有 WebDAV、NetBios 和 SMB。

    脚本映射是一种要使用的安全措施,您可以使用。idq,。htw,。伊达,。shtml,。shtm,。stm,。idc,。htr,还有。404.dll 分机的打印机。您还可以使用 ISAPI 过滤器,它监视进出的信息,并修改信息以保护系统免受攻击。

  4. 协议:禁用来宾帐户和未使用的帐户、重命名管理员帐户以及禁用空用户连接非常重要。您可以做的另一项安全措施是删除管理共享,如 C\(和 Admin\)

Apache Web 服务器安全清单

大多数 web 服务器是基于 Linux 的,并且使用 Apache Web 服务器软件。所示的安全检查表提供了一些特定于 Apache 的指导。尽管保护 web 服务器涉及到更多的内容,但这已经超出了本书的范围。

Apache Web 服务器的安全检查清单如下:

  1. 禁用不必要的模块。

  2. 作为单独的用户和组运行 Apache。

  3. 限制对根目录的访问。

  4. confbin目录设置权限。

  5. 禁用目录浏览。

  6. 不允许.htaccess

  7. 不要显示或发送 Apache 版本。

利用阿米蒂奇攻击网络

使用 Zenmap 运行扫描以找到打开的端口后,滚动到输出选项卡上的80/tcp。检查robots.txt文件,它限制了 web 机器人可以遍历的目录位置。查看图 9-2 ,显示使用 Zenmap 扫描 XYZ 公司的公共 IP 地址,然后选择 nmap 输出选项卡。

img/505537_1_En_9_Fig2_HTML.jpg

图 9-2

使用 Zenmap

使用阿米蒂奇

这是面向互联网的 Windows 设备,所以你必须攻击 IIS。不幸的是,大多数 IIS 攻击都是针对 Windows 2000 机器的。横幅消息似乎表明是 Windows 2003 服务器。

要尝试 IIS WEBDAV 攻击,右键单击 216.1.1.1 并选择攻击,然后从选项中选择 IIS,然后选择iis_webdav_upload_asp。见图 9-3 。

img/505537_1_En_9_Fig3_HTML.jpg

图 9-3

IIS WEBDAV 攻击

目标将变为红色(带亮色),表示它已被破坏。

如图 9-4 所示,键入以下命令提升权限:

meterpreter > getsystem

img/505537_1_En_9_Fig4_HTML.jpg

图 9-4

仪表首选 1

如果攻击者连接到内部网络上的目标,他们可以使用该机器来旋转和定位内部网络上具有私有 IP 地址的其他机器。Armitage 可以在扫描机器时揭示目标机器使用的操作系统和服务包级别。与直接连接到互联网的机器相比,内部网络上的机器上的更多端口可能是开放的。如果攻击者可以连接到另一个受害者,它将显示一个红色边框。参见图 9-5 和 9-6 。

img/505537_1_En_9_Fig6_HTML.jpg

图 9-6

连接到另一个受害者

img/505537_1_En_9_Fig5_HTML.jpg

图 9-5

配置远程攻击

攻击者现在控制了内部网络上的 Windows 2003 和 2008 机器。攻击者的下一步行动是攻击运行 XP 的工作站。参见图 9-7 。

img/505537_1_En_9_Fig7_HTML.jpg

图 9-7

更多受害者

现在,内部网络上应该有三台被入侵的机器。在所有这些 Microsoft Windows 系统上,您还拥有系统级访问权限。获得网络控制权后,攻击者可能会进行利用后的活动,包括安装恶意软件、执行程序、转储哈希、践踏时间、中断服务、终止进程和窃取信息。参见图 9-8 。

img/505537_1_En_9_Fig8_HTML.jpg

图 9-8

受损的机器

摘要

本章向您介绍了围绕 web 服务器的各种安全问题。这些信息对于服务器管理员来说至关重要,他们必须解决许多安全问题,包括恶意代码、网络安全和服务器错误,以保持系统正常运行。在本课中,您了解了有关 web 服务器的知识,包括它们的体系结构、漏洞以及防范 web 服务器攻击的对策。

十、网络应用的黑客攻击

在这一章中,你将学习如何入侵 web 应用程序组件,以及如何描述在 web 应用程序攻击过程中会发生什么。您还将获得有关有效对策的知识,以帮助保护系统。

本章结束时,您将能够

  1. 识别 web 应用程序组件。

  2. 描述 web 应用程序攻击。

  3. 确定对策。

Web 应用程序攻击

Web 应用程序攻击有一个过程,下面概述了每个步骤。这些步骤的结果可能是网站受损、内容被篡改、数据被盗或失去客户。

  1. 扫描是第一步,首先运行端口扫描来查找开放的 HTTP 和 HTTPS 端口。这也有助于确定哪些服务正在运行,并从每个打开的端口检索默认页面。

  2. 信息收集是攻击者解析每个页面以找到常规链接并确定网站结构和应用程序逻辑时发生的步骤。他们还会检查页面上的注释,这些注释可能有助于获得对受限文件的访问权限。

  3. 测试是 web 应用程序攻击的另一个步骤。当攻击者准备好攻击时,他们会对每个应用程序脚本运行一个测试过程,并寻找开发错误。

  4. 策划攻击发生在攻击者根据收集到的信息选择特定攻击的时候。

  5. 发起攻击是最后一步,当攻击者追踪每个被识别为易受攻击的 web 应用程序时,就会发生这一步。

跨站点脚本攻击

当用户访问网站时,用户可以登录。如果站点使用服务器端脚本,它会生成一个欢迎页面,并在用户的计算机上放置一个 cookie。每当访问网站时,都会检索 cookie。

当用户点击电子邮件时,会插入一个邪恶的脚本,而不是用户名。web 服务器仍然会生成一个欢迎页面,但是用户的浏览器会运行恶意脚本并执行恶意代码,将敏感数据发送到黑客的计算机。见图 10-1 。

img/505537_1_En_10_Fig1_HTML.jpg

图 10-1

跨站点脚本攻击

对策

许多 HTML 标记可用于传输恶意 JavaScript。可用于防范威胁的对策包括:

  • 验证所有表单字段、隐藏字段、标题、cookies 和查询字符串。

  • 检查所有来自 HTTP 请求的输入通过 HTML 作为输出的地方的代码。

  • 限制输入字段。脚本攻击需要大量的字符。

SQL 注入

如果应用程序在将用户输入传递给 SQL 语句之前没有正确验证用户输入,SQL 注入攻击就会得逞。攻击者绕过正常的安全措施,直接访问有价值的数据。SQL 注入攻击使用 SQL 语句来控制数据库数据。

应用程序使用 SQL 语句向应用程序验证用户身份,验证角色和访问级别,存储和获取信息,以及链接到其他数据源。对策是不允许未经检查的用户输入到数据库查询中。

cookie/会话中毒

Cookies 用于维护将个人绑定到 web 应用程序的会话状态。Cookie 中毒允许攻击者注入恶意内容来获取未经授权的信息。

Cookies 包含特定于会话的数据,例如

  • 用户 id

  • 密码

  • 账号

  • 购物车内容

  • 用户的私人信息

  • 会话 id

cookies 有几个用途。一是当你浏览网站时,网站可以“记住”你。持久性 cookie 存储在计算机的硬盘上,而非持久性 cookie 存储在内存中,安全 cookie 通过 SSL 传输。

保存 cookie 带来的威胁是,攻击者可以在访问系统时使用 cookie 进行身份验证,并且他们可以重写会话数据。

要考虑的一些对策包括:

  • 不要在系统中存储简单的文本或弱密码。

  • 实现 cookie 超时。

  • 将 cookie 身份验证凭据绑定到一个 IP 地址。

  • 提供注销功能。

  • 使用 MAC 来保护 cookie 的完整性。

参数/形式篡改

这种攻击利用隐藏或固定字段作为某些操作的唯一安全措施。攻击者将更改这些参数来绕过安全机制。属性参数描述了正在上载的页面的行为。

当使用 GET 方法提交表单时,所有表单参数和值都出现在用户看到的查询字符串中。攻击者可以篡改查询字符串。一个好的对策是对所有表单进行有效性检查。

缓冲区溢出

Web 应用程序和服务器软件可能会出现缓冲区溢出错误。如果服务器产品中存在缓冲区溢出,这通常是常识。如果 web 应用程序使用这些库,它就容易受到缓冲区溢出攻击。

对策包括使用服务器端代码验证表单中的输入长度、执行边界检查以及避免不执行边界检查的函数。见图 10-2 。

img/505537_1_En_10_Fig2_HTML.jpg

图 10-2

缓冲区溢出

错误消息拦截

如果您在网上冲浪时遇到问题,您可能会看到“404–未找到”的错误消息。错误消息还可能包含特定于站点的信息,这将允许攻击者了解有关应用程序体系结构的信息。它们可用于确定 web 应用程序中使用的技术,确定攻击尝试是否成功,并为未来的攻击收集信息。一个有效的对策是使用通用错误消息。

其他攻击

针对其他几种 web 应用程序攻击,简要描述了攻击及其对策。

  • 目录遍历允许攻击者浏览目录和文件。拥有强大的配置可以防止信息泄露。

  • 密码拦截发生在攻击者寻找数据暂时不受保护的交接点时。为了防止这种情况,您应该使用 SSL 和高级私钥保护。

  • 认证劫持是指攻击者利用不安全的凭证和身份管理。为了防止这种情况,您应该通过安全通道进行身份验证,并使用 SSL 和高级私钥保护。

  • 日志篡改发生在攻击者删除日志并更改用户信息以销毁攻击证据的时候。针对日志篡改的预防措施包括数字签名和时间戳日志。

  • DMZ 协议攻击将允许进入 DMZ 的协议限制为 FTP、SMTP、DNS、HTTP 和 HTTPS。防范这种攻击的一种方法是使用入侵防御系统。

  • 当攻击者可以修改保护策略、添加新策略以及修改应用程序、系统数据和资源时,就会出现安全管理漏洞。所有管理功能都应该有防火墙来防止这种类型的攻击。

  • 零日攻击发生在发现漏洞和发布修正补丁之间。为了防止这种情况,请使用最新的修补程序和补丁,采用防火墙,并启用启发式扫描。

  • 网络访问攻击当攻击者使用欺骗、桥接、ACL 攻击和堆栈攻击时发生。使用检查网络防火墙、NAT 或网络 ACL 来防止这种攻击。

  • TCP 分段是指攻击者将一次攻击分段成多个 TCP 数据包。防范措施包括使用防火墙规则来检查定向到 web 服务器的流量。

使用 Nmap

ncat 工具是支持 IPv6 的工具,是 nmap 套件的成员之一。如果 IPv6 流量不受监管,网络上可能检测不到可以使用 IPv6 的工具。Wireshark 使用户能够监控和检查网络上的 IPv6 流量。参见图 10-3 至 10-5 。

img/505537_1_En_10_Fig5_HTML.jpg

图 10-5

Nmap 扫描

img/505537_1_En_10_Fig4_HTML.jpg

图 10-4

打开反向外壳

img/505537_1_En_10_Fig3_HTML.jpg

图 10-3

上传 Nmap

使用 ncat

验证 ncat 已在受害者身上安装并正常运行。见图 10-6 。

img/505537_1_En_10_Fig6_HTML.jpg

图 10-6

Ncat 选项

建立会话

图 10-7 展示了两个 IPv6 连接建立的过程。

img/505537_1_En_10_Fig7_HTML.jpg

图 10-7

建立会话

摘要

在本章中,您回顾了几种不同类型的攻击,它们可能发生在 web 应用程序上。您还了解了如何对 web 应用程序攻击进行分类,以及可以用来防范这些类型攻击的对策。

十一、SQL 注入

结构化查询语言(SQL)是一种允许与数据库服务器交互的语言。程序员使用 SQL 命令来执行使用数据库的操作。SQL 注入利用未经验证的输入漏洞。攻击者通过在后端数据库上执行的 web 应用程序注入 SQL 命令。

任何接受用户输入以采取行动或执行查询的 web 应用程序都容易受到 SQL 注入的攻击。在本章中,您将了解 SQL 注入,它们是如何工作的,以及管理员可以做些什么来防止它们。

本章结束时,您将能够

  1. 检查 SQL 注入攻击。

  2. 确定防御 SQL 注入袭击的策略。

Web 应用程序组件

web 服务器接收请求,并验证用户发出请求的访问权限。web 服务器验证该请求,并查询数据库服务器以满足该请求。数据库服务器接收请求并处理查询。基于查询响应构建网页,并将其返回给浏览器。见图 11-1 。

img/505537_1_En_11_Fig1_HTML.jpg

图 11-1

Web 应用程序组件

SQL 注入分类

一旦发现 SQL 注入漏洞,对攻击者的唯一限制就是他们的 SQL 查询技能。攻击者可以提交一个又一个 SQL 语句,直到后端被映射、更改、查看和控制。SQL 注入分类见图 11-2 。

img/505537_1_En_11_Fig2_HTML.jpg

图 11-2

SQL 注入分类

SQL Server 的 Web 前端

如果一个 web 应用程序链接到一个 SQL 后端数据库,当用户输入信息(如用户名和密码)时,这些值被放在一个 SQL 语句中。见图 11-3 。

img/505537_1_En_11_Fig3_HTML.jpg

图 11-3

登录页面

在 web 用户提交请求后,输入被放入一个 SQL 语句中(图 11-4 )。

img/505537_1_En_11_Fig4_HTML.jpg

图 11-4

SQL Server 的 web 前端

操作输入字段

SQL 注入通过操作语句中的值来工作。例如,在这种情况下,攻击者插入图 11-5 中显示的用户名的值JESSE’ OR 1=1--

img/505537_1_En_11_Fig5_HTML.jpg

图 11-5

输入字段操作

SQL 注入尝试失败

如果用户名字段以双破折号结尾,则不会评估 SQL 密码字段。SQL 注入失败的原因是浏览器的 JavaScript 验证了输入。见图 11-6 。

img/505537_1_En_11_Fig6_HTML.jpg

图 11-6

失败的 SQL 注入尝试

使用客户端验证

web 应用程序可以使用 JavaScript 来检查输入验证。这是客户端验证的一种形式。您可以在浏览器中禁用 JavaScript。见图 11-7 。

img/505537_1_En_11_Fig7_HTML.jpg

图 11-7

客户端验证

成功登录

再次尝试 SQL 注入。显示名字的原因可能是因为他们是该列中的第一个用户。一旦 1=1 被提升为真,登录就成功了。见图 11-8 。

img/505537_1_En_11_Fig8_HTML.jpg

图 11-8

登录成功

使用存储过程

要查看数据库中的所有名称和密码,只需使用一个存储过程。这个存储过程被称为sp_makewebtask。这个仅在 Microsoft SQL Server 中提供的存储过程生成 HTML 输出。使用显示为用户名的代码。虽然收到了失败的登录名响应,但这并不意味着 SQL 语句没有执行。见图 11-9 。

img/505537_1_En_11_Fig9_HTML.jpg

图 11-9

存储过程

注射结果

包括所有用户名和密码的整个数据库如图 11-10 所示。这可能是信用卡或社会安全号码数据库。

img/505537_1_En_11_Fig10_HTML.jpg

图 11-10

注射结果

注入用户名

将用户名和密码注入现有数据库。这允许您登录并访问数据库中的资源。或者,在数据库中,您可以创建一个提供物理或网络访问的帐户。登录到 SQL server 后,您可以验证您的凭证是否已添加,如图 11-11 所示。

img/505537_1_En_11_Fig11_HTML.jpg

图 11-11

注入用户名

对策

正则表达式在克服 SQL 注入中起着重要的作用。最后四个对策特别适用于盲人 SQL 注入。当应用程序接受来自客户端的数据并执行 SQL 查询而没有首先验证输入时,就会发生这种情况。要避免这种情况,请执行以下操作:

  1. 为每个用户输入输入一个验证检查。

  2. 使用 Salt 存储密码的哈希,而不是以纯文本的形式存储。

  3. 检查特定于 SQL 的元字符,如单引号(')或双破折号(-)。

  4. 绝不允许客户端提供的数据修改 SQL 语句的语法。

  5. 将 web 应用程序与 SQL 隔离开来。

  6. 应用程序所需的所有 SQL 语句都应该在数据库服务器的存储过程中。

  7. 应用程序应该使用安全的接口执行存储过程。

防止 SQL 注入攻击

通过以下几个建议,可以防止 SQL 注入病毒的攻击。预防是开发人员和数据库管理员的责任。

  • 使用简单的替换功能将所有单引号转换为双引号。

  • 最小化特权。

  • 实现一致的编码标准。

  • 为 SQL server 设置防火墙。

  • 永远不要相信用户的输入。

  • 千万不要用动态 SQL。

  • 异常应该只提供最少的信息。

摘要

在本章中,您了解了 SQL 注入攻击,它们是如何工作的,以及可以用来防止它们的战术类型。您回顾了有助于防止 SQL 攻击的具体对策,从而有助于管理员维护安全性。

十二、入侵无线网络

随着组织从有线网络转向无线通信,许多安全问题需要解决。使用无线电波的无线局域网比使用物理线路的局域网更容易被拦截。去酒店、机场或当地的麦当劳。许多组织现在为他们的客户提供无线连接。不幸的是,提供的易用性也伴随着风险的增加。攻击者可能在危及无线网络的组织之外。在本章中,您将了解不同类型的无线网络、身份验证方法以及无线加密的重要性。

本章结束时,您将能够

  1. 识别各种类型的无线网络。

  2. 确定身份验证方法和无线加密类型。

  3. 解释无线黑客的方法。

  4. 应用无线命令和工具。

  5. 检查明文无线流量、有线等效保密(WEP)流量和 Wi-Fi 保护访问(WPA)流量。

无线网络的类型

您应该了解四种类型的无线网络。查看下面列出的每个网络以了解详细信息。

  • 对等网络 : 在对等网络中,每台计算机都可以直接与同一网络上的其他计算机进行通信,而无需通过接入点。但是,他们可能无法访问有线局域网。

  • 有线网络的扩展 : 如果在有线网络和无线设备之间放置接入点,则有线网络被扩展。接入点将无线局域网连接到有线局域网,因此无线设备可以访问局域网资源。

  • 多个接入点 : 多个接入点可用于覆盖更大的区域,使用户能够在覆盖范围内无缝移动。

  • 局域网到局域网无线网络:局域网到局域网无线网络使用接入点在一个网络上的本地计算机和另一个网络上的计算机之间提供无线连接。

无线标准

除了 802.11 标准,还有 802.15.1 和 802.16,802 . 15 . 1 是覆盖蓝牙的 IEEE 标准,802.16 覆盖 WiMAX,是一种长距离无线基础设施。查看表格 12-1 以熟悉可用的无线标准范围。

表 12-1

可用的无线标准范围

|

规格

|

速度

|

频率范围

|
| --- | --- | --- |
| 802.11a | 54mbps | 5.2 千兆赫 |
| 802.11b | 11 Mbps | 2.4ghz |
| 802.11g | 11 Mbps/54 Mbps | 2.4ghz |
| 802.11i | 11 Mbps/54 Mbps | 2.4ghz |
| 802.11n | 124-248 Mbps | 2.4 千兆赫/5.2 千兆赫 |

服务集标识符

SSID 是无线局域网(WLAN)的唯一名称,最长可达 32 个字符。无线局域网中的所有设备和接入点都必须使用相同的 SSID。SSIDs 不为 WLAN 提供安全性,因为它可以在明文中被嗅探到。许多设备都附带默认 SSIDs。

802.1x 身份验证过程

IEEE 802.1x 标准定义了在授权访问网络和认证服务器(例如 RADIUS 服务器)之前用于认证用户的方式。802.1X 通过中间设备(如边缘交换机)运行,如果连接经过适当的身份验证,则允许端口传输正常流量。这可以避免未经授权的客户端访问交换机上的公共端口,将未经授权的用户阻挡在 LAN 之外。

远程身份验证拨入用户服务(RADIUS)是一种客户端/服务器协议,它使用端口 1813 为连接和使用可用网络服务的计算机提供集中的身份验证、授权和记帐。

在 RADIUS 服务器认证了客户端并向接入点(AP)发送了加密的认证密钥之后,AP 在向客户端传输之前生成用逐站单播会话密钥加密的多播/全局认证密钥(步骤 7)。以下步骤概述了认证过程(也如图 12-1 所示)。

img/505537_1_En_12_Fig1_HTML.jpg

图 12-1

802.1x 身份验证过程

  1. AP 向无线客户端发出质询。

  2. 无线客户端以其身份进行响应。

  3. AP 将身份转发给 RADIUS 服务器。

  4. RADIUS 服务器通过 AP 向客户端发送请求。

  5. 客户端通过 AP 用其凭据响应 RADIUS 服务器。

  6. 如果凭据有效,RADIUS 服务器会发送加密的身份验证密钥。

  7. AP 向客户端传输。

802.11 漏洞

信标帧广播 SSID,以便用户可以定位网络。任何工作站都可以模拟另一个工作站或接入点。攻击者可以干扰身份验证和关联,这可以迫使工作站重新进行身份验证和关联过程。

接入点具有 MAC 地址过滤功能。然而,MAC 地址不能提供强大的安全机制,因为它可以被观察和复制。MAC 地址以明文形式出现。每个网卡上都有一个特定的 MAC 地址,该地址可以通过ifconfig命令修改。

有线等效隐私

有线等效保密旨在为 WLAN 提供与有线 LAN 相当的安全级别,并且是使用 RC4 ( www.geeksforgeeks.org/rc4-encryption-algorithm/ )的流密码。流密码算法的输入是以明文和密钥发送的初始化向量(IV)。IV 和密钥的总长度是 64 或 128 位。繁忙的接入点可以在数小时内使用所有可用的 IV 值(224),然后这些 IV 值被重新使用。有两个问题需要考虑:32 位循环冗余校验(CRC32)不足以确保数据包的加密完整性,并且容易受到字典攻击。

保护无线电脑网络安全系统 2

保护无线电脑网络安全系统 2 (WPA2)使用 8 到 63 字节长的 256 位预共享密钥。当用户的密码少于 20 个字符时,他们容易受到离线字典攻击。WPA2 提供两种运作模式:WPA2-个人和 WPA2-企业。WPA2 个人使用设置密码,而 WPA2 企业使用服务器来确认用户。WPA2 接入采用 AES 加密算法来提供政府级的安全性。

临时密钥完整性协议

临时密钥完整性协议(TKIP)是 IEEE 802.11i 加密标准的一部分。它是 WEP 的指定继任者,消除了 WEP 的缺点,无需更换设备。TKIP 实现了密钥混合,这意味着在将密钥传递给流密码之前,将密钥与初始化向量相结合。

从 WEP 到 TKIP 的更改包括添加了一个消息完整性协议来防止篡改。TKIP 改变了 IV 选择的规则,所以它现在改变了每个时间段的加密密钥。其他变化是 IV 的大小增加到 48 位,以及一种新的机制来分发和更改广播密钥。

四次握手

MIC 是一个消息完整性代码,包括认证。GTK 是用于解密多播和广播流量的组临时密钥。序列号将用于下一个多播或广播帧。图 12-2 说明了这一过程。

img/505537_1_En_12_Fig2_HTML.jpg

图 12-2

四次握手

入侵无线网络

运行 Network Stumbler、被动扫描仪(Kismet 或 KisMAC)或主动信标扫描仪(MacStumbler 或 iStumbler)的笔记本电脑可用于入侵无线网络。Network Stumbler 或 Kismet 会告诉攻击者网络是如何加密的。

流氓接入点

未经授权的接入点可以允许任何拥有无线设备的人进入网络。接入点可以通过进入隐形模式来隐藏。像 Network Stumbler 这样的主动扫描器检测不到伪装的接入点。需要被动扫描器来检测隐藏的接入点。用于定位接入点的方法包括请求信标和嗅探空气。可用于隐藏接入点的工具包括 Fakeap、Network Stumbler 和 MiniStumbler。

ipconfig 命令

无线网卡很可能处于管理模式,这是无线网卡的标准操作模式。使用iwconfig,可以将卡置于监控模式。如果在监控模式下操作无线网卡,您可以捕获网卡范围内的所有无线流量。见图 12-3 和 12-4 。

img/505537_1_En_12_Fig4_HTML.jpg

图 12-4

监控模式

img/505537_1_En_12_Fig3_HTML.jpg

图 12-3

托管代码

Airodump -ng 命令

如果程序正在运行,MAC 地址和 AP 名称将显示在顶部窗格中(图 12-5 )。底部窗格显示 AP 的 MAC 地址和站点的 MAC 地址(图 12-6 )。

img/505537_1_En_12_Fig6_HTML.jpg

图 12-6

AP 和 MAC 的 MAC 地址

img/505537_1_En_12_Fig5_HTML.jpg

图 12-5

MAC 地址和 AP 名称

空中播放命令

Aireplay-ng是另一个用于无线目的的命令。该命令用于对 WEP 破解或解除身份验证攻击执行重放攻击。在 WEP 和 WPA 攻击过程中,可以使用取消身份验证攻击将客户端从网络中删除。并非所有卡都支持取消身份验证功能。见图 12-7 和 12-8 。

img/505537_1_En_12_Fig8_HTML.jpg

图 12-8

在取消身份验证攻击中使用的 air play–ng 命令

img/505537_1_En_12_Fig7_HTML.jpg

图 12-7

空中播放命令

监控不安全的无线局域网

使用不安全的无线网络会带来巨大的安全风险。如果有人使用无线网卡在监控模式下工作,所有进出接入点的流量都会被捕获。这包括查看 DNS 请求、查看 HTTP 流量以及从无线捕获流量中检索图像的能力。参见图 12-9 和 12-10 。正因为如此,使用加密的无线网络是一个很好的实践,比如 WEP、WPA 或 WPA2。

img/505537_1_En_12_Fig10_HTML.jpg

图 12-10

跟随 TCP 流

img/505537_1_En_12_Fig9_HTML.jpg

图 12-9

FTP 流量捕获

使用空调–天然气

获得 WEP 密钥后(图 12-11a 和 12-11b ,就可以用aridecap-ng解密网络流量了。

img/505537_1_En_12_Fig12_HTML.jpg

图 12-11b

使用 aircrack-ng 解密

img/505537_1_En_12_Fig11_HTML.jpg

图 12-11a

使用 aircrack-ng 解密

摘要

随着使用无线局域网的组织数量的增加,危及网络的风险也在增加。在本章中,您复习了各种类型的无线网络、身份验证方法和无线加密。由于与使用无线局域网相关的问题,您了解了提高安全性对保护系统的重要性。

资源

十三、躲避入侵检测系统、防火墙和蜜罐

攻击者了解主要的对抗产品。对于攻击者来说,规避组织实现的对策以进行更精确的攻击是一个挑战。有道德的黑客需要了解部署这些技术所涉及的特性和安全问题。在本章中,您将了解管理员用来保护网络的技术。还将向您介绍入侵检测技术和系统、可用的防火墙类型以及如何识别内部网络上的攻击。

本章结束时,您将能够

  1. 识别入侵检测系统和技术。

  2. 识别防火墙的类别。

  3. 定义一个蜜罐。

  4. 使用入侵检测系统分析内部和外部网络流量。

入侵检测技术

入侵检测系统(IDS)收集并分析来自计算机或网络的信息,以识别入侵和误用。为了在网络安全中发挥有效的作用,IDS 需要持续的监控。入侵检测系统使用签名识别来识别可能指示系统滥用的事件。它在很大程度上依赖于一组预定义的攻击和流量模式,称为特征。

异常检测基于试探法或行为规则,可以称为基线。基线是在正常网络运行期间建立的,因为它监视活动并试图将其分类为“正常”或“异常”协议异常检测基于特定于协议的异常,并识别特定于 TCP/IP 协议的缺陷。如今,机器学习(ML)算法被用于异常检测。

id 类型

IDS 可以以多种不同的形式实现,从独立的设备到交换机或路由器操作系统中内置的功能。它也可以基于主机,作为操作系统或数据库的应用程序或功能。在对入侵检测系统进行分类时,我们通常将它分为两种类型:基于主机的和基于网络的。为了检测可能的攻击或可疑行为,基于主机的系统会分析本机主机上的签名和异常。基于网络的 IDS (NIDS)驻留在边界路由器或设备上,用于识别异常网络流量或基于网络的攻击的特征。系统完整性验证程序(SIV)管理系统文件并跟踪主要系统对象的变化。日志文件监视器(LFM)监视网络服务创建的日志文件。

IDS 放置

IDS 系统的位置对于其解释入侵的效率和能力至关重要。IDS 系统可以放置在防火墙的外部,作为 DMZ 或专用网络中的早期预警系统。当放置在防火墙之外时,它会生成大量警报。IDS 系统也可以驻留在网络中的任何主机上,这允许它查看和分析传入公司网络的流量。当放置在防火墙之后时,它导致较少的警报。通常,基于主机的 IDS 驻留在最关键的系统上,包括数据库服务器、关键应用服务器和网络管理系统。

入侵迹象

有一些迹象清楚地表明入侵者的存在。攻击者修改系统文件和配置来隐藏入侵的迹象。熟悉入侵的迹象非常重要。

  • 系统入侵:系统入侵指标包括系统无法识别有效用户或新用户帐户、非工作时间登录以及审计文件或日志文件中的空白。

  • 文件系统入侵:文件系统入侵指标包括系统上的新文件或程序、文件权限改变和文件丢失、文件大小的不明修改。

  • 网络入侵:网络入侵指示器可能会通过带宽消耗的突然增加、远程登录的重复尝试以及系统可用服务的重复探测来显示。

IDS 检测到攻击后

在入侵检测系统指出可能的攻击后,管理员应该执行几项操作:

  • 配置防火墙以过滤掉入侵者的 IP 地址。

  • 提醒管理员。

  • 将事件记录在日志中。

  • 保存攻击信息。

  • 保存原始数据包的跟踪文件以供分析。

  • 处理事件。

  • 强制终止连接。

IDS 攻击

有几种攻击可以对 IDS 发起。插入攻击通过强制 IDS 读取无效的数据包来混淆 IDS。当 IDS 丢弃一个数据包,但接收该数据包的主机却接受它时,就会发生规避攻击。许多类型的 DoS 攻击都可以用来攻击 IDS。去同步使用 SYN 数据包后连接和预连接。IDS 可能无法检测到通过混淆器运行的恶意程序,因为混淆器使程序更难理解。攻击者可以通过传递 IDS 来引导攻击。他们还可能使用分段方法或会话拼接,通过将一个字符串分割成几个数据包来逃避 IDS。

入侵防御系统

入侵防御系统可以配置为控制路由器操作、交换机操作、防火墙操作、VPN 建立和无线访问。根据对特征和异常的检测,IPS 可以采取纠正措施来阻止入侵或攻击。警告 IPS 也容易出现误报,因此操作员的知识和识别误报的能力对于防止 IPS 任意拒绝授权活动至关重要。

IPS 使用先发制人的方法来保护网络安全,是入侵检测的一种扩展。两种类型的 IP 包括基于主机的和基于网络的。

  • 基于主机的 IPS 安装在受保护的系统上,监视和拦截系统调用,并可以监视数据流、文件位置和 web 服务器的注册表设置。

  • 基于网络的入侵防御系统根据安全策略检查流量,管理基于内容的入侵防御系统,并检查网络数据包内容中的唯一序列,基于速率的入侵防御系统识别不同于普通流量的威胁。

信息流

IDS 和 IPS 中的信息流是相似的。该过程概述如下。

  1. 原始数据包捕获

  2. 过滤

  3. 分组解码

  4. 仓库

  5. 碎片重组

  6. 流组件

  7. TCP 会话的状态检查

  8. 用作防火墙

防火墙

防火墙已经成为大多数组织的标准操作的一部分。防火墙可以是基于硬件或软件的,也可以是两者的结合。防火墙旨在检查流量,然后根据组织的策略允许或阻止该流量。

img/505537_1_En_13_Fig1_HTML.jpg

图 13-1

防火墙

防火墙的类型

有许多可供选择的防火墙。然而,防火墙有其局限性。例如,防火墙不能阻止拥有调制解调器的用户拨入或拨出网络。防火墙不能抵御社会工程。最后,防火墙不能防止隧道攻击。您可以使用的几种防火墙是硬件防火墙、软件防火墙、包过滤防火墙、电路级网关、应用程序级防火墙和状态多层检查防火墙。

防火墙识别

攻击者可以使用几种方法来识别防火墙。他们可以使用 Nmap 扫描端口。他们可以执行 firewalking,它有一个网络发现阶段和一个扫描阶段。攻击者还可能使用横幅抓取,即从网络服务发送消息。

穿越防火墙

当防火墙保护网络时,攻击者可以使用各种方法侵入网络。他们可以使用内部同谋,找到易受攻击的服务,访问易受攻击的外部服务器,劫持,绕过防火墙(HTTPTunnel),通过防火墙放置后门(rwwwshell),隐藏在隐蔽通道(Loki)后面,以及使用 ack 隧道。

蜜罐和蜜网

许多组织部署蜜罐和蜜网作为针对潜在攻击的早期预警系统。这两种系统都被放置在网络上,诱使潜在的攻击者将它们作为组织内容易受到攻击的目标。这些设备可能故意配置有已知的弱点和薄弱的安全性。这些设备被设计用来发送警报和信息,表明它们受到了攻击或破坏。这使网络管理员能够识别攻击的来源并关闭大门,以防止攻击扩散到组织专用网络中的关键设备和系统。

蜜罐的类型

蜜罐是用来吸引和诱捕攻击者的,有多种方法可以配置蜜罐来引诱攻击者。

  • 低交互蜜罐模拟服务是如何配置的,并且被模拟的服务的活动被捕获和记录。

  • 高交互蜜罐是一种控制和捕获所有活动的网络架构;它们也被称为蜜网。

  • 中等交互蜜罐使用应用层虚拟化,并发送已知漏洞的预期响应,以欺骗漏洞发送有效载荷。

开源蜜罐

有许多蜜罐可作为商业产品或开源格式。一些商业上可用的蜜罐包括 KFSensor、NetBait、ManTrap 和 SPECTER。如果你想走开源路线,你有很多选择。

开源蜜罐包括

  • 气泡胶 Proxypot

  • 头奖

  • 后勤人员友好

  • 诱饵开关

  • 大眼鲷

  • 蜜网

  • 欺骗工具包

  • 迟到的工作台

  • 蜂蜜

  • 蜜网

  • Sendmail SPAN 陷阱

  • 小蜜罐

应对攻击

不仅检测入侵很重要,组织还应该制定良好的防御策略。事件响应团队应该包括来自整个组织各个部门的成员。公司应该为这种事件准备好响应程序、通信、记录程序以及培训和演练。

入侵检测工具

有许多工具可用,包括入侵检测工具,如

  • 小黑妞

  • RealSecure(安全)

  • 网络飞行记录器

  • 网络徘徊者

  • SilentRunner

  • 先锋执行者

  • 思科安全 IDS

  • 鼻息声

规避 IDS 的工具

管理员需要了解可用来帮助攻击者躲避 IDS 的工具。如果没有正确设置和配置,实时 IDS 系统可能会被愚弄。SideStep、Mendax、Stick、Fragrouter 和 ADMutate 是管理员应该知道的一些工具。

数据包生成器

有许多数据包生成器工具可供使用。查看以下列表,研究您想了解更多的工具:

  • Aicmpsend

  • 附加

  • 爆炸

  • 伊特怪

  • Hping2

  • ICMPush

  • Ipsend

  • InternationalStandardIndustrialClassification 国际标准工业分类法

  • 关于

  • 多生成器工具集

  • 净::rawip

  • 网猫

  • Netsh

  • 派克斯

  • 发送 ICMP 讨厌的垃圾

  • Tcpreplay

  • 包壳

  • USI++

  • Xipdump

突破防火墙的工具

有几种工具可以伪装两台服务器之间的通信并成功突破防火墙。其中有一些是 007 Shell、ICMP Shell (ISH)、AckCmd 和 Covert_TCP。

测试工具

有许多工具专门用于测试防火墙的过滤策略或配置:

  • 约当全职人数

  • 交通智商专业版

  • 下一代入侵检测专家系统

  • 安全主机

  • 系统入侵分析和报告环境

  • TCP Opera

  • 防火墙通知

  • Atelier 网络防火墙测试仪

摘要

在本章中,您了解了可以用来防范内部网络攻击的各种措施和过程。您回顾了入侵检测技术、各种类型的防火墙,以及如何通过监控识别攻击何时发生。

十四、缓冲区溢出

当漏洞存在时,黑客可以利用计算机网络中的缺陷。负责组织网络保护的人员必须修补易受攻击的系统。关闭系统上运行的非必要服务也是一个很好的做法。如果系统没有得到适当的管理或保护,它们就可能被黑客利用。在侵入远程系统后,攻击者可以通过设置帐户以及从网络中捕获和过滤信息来采取措施进行巩固。在本章中,您将仔细研究缓冲区溢出和缓冲区溢出对策。

本章结束时,您将能够

  1. 定义缓冲区溢出。

  2. 识别缓冲区溢出。

  3. 识别缓冲区溢出对策。

缓冲区溢出

如果攻击者能够找到将任意代码发送到目标系统并让该系统执行代码的方法,攻击者就可以获得对系统及其资源的访问权限。连续的内存块用于存储数据,当复制到缓冲区的数据超过缓冲区的大小时,就会发生缓冲区溢出。漏洞是由人为错误造成的,如开发人员的编程错误、包含错误的编程语言以及没有遵循良好的编程实践。许多程序被设计成允许输入。输入字段可用于向系统发送任意代码。

堆栈缓冲区溢出

当程序向堆栈上的缓冲区写入的数据比预期的多时,就会导致堆栈缓冲区溢出。这会导致数据损坏。欲了解更多信息,请访问堆栈缓冲区溢出 ( https://blog.rapid7.com/2019/02/19/stack-based-buffer-overflow-attacks-what-you-need-to-know/ ).

基于堆的缓冲区溢出

堆上的内存由应用程序动态分配。很多时候,程序数据包含在堆中。如果攻击者可以破坏这些数据,攻击者就可以使应用程序覆盖内部结构。更多信息,请访问基于堆的缓冲区溢出 ( https://cwe.mitre.org/data/definitions/122.html ).

检测缓冲区溢出漏洞

用 C 编写的程序更容易出现缓冲区溢出。标准 C 库提供了许多不执行任何边界检查的函数。

攻击者寻找在函数中声明为局部变量的字符串,并验证边界检查的存在或源代码中安全 C 函数的使用。要检测缓冲区溢出漏洞,您可以检查源代码中声明为函数或方法中的局部变量的字符串,检查标准函数的不当使用,以及在应用程序上强制大量数据并检查异常行为。见图 14-1 。

img/505537_1_En_14_Fig1_HTML.jpg

图 14-1

检测缓冲区溢出漏洞

防御缓冲区溢出

应用程序开发人员可以做几件事来消除缓冲区溢出,包括对代码进行手动审核、禁用堆栈执行、使用编译器技术以及开发更安全的 C 库支持。

Nmap(消歧义)

Nmap 是免费的,可以在各种平台上运行,比如微软的 Windows、Mac OS X 和 Linux。它可用于评估网络上的主机,然后识别远程系统运行传输控制协议(TCP)和用户数据报协议(UDP)的端口。要确定远程机器运行的是什么操作系统,您还可以执行操作系统扫描。nmap 给出的操作系统扫描结果通常可能是不确定的,这要求攻击者使用其他技术来准确确定远程操作系统。

Ping 扫描结果显示 192.168.100.0/24 网络中有五台主机处于运行状态。但是,可能有其他主机激活了防火墙,或者没有响应来自 Internet 控制消息协议(ICMP)的请求。见图 14-2 。

img/505537_1_En_14_Fig2_HTML.jpg

图 14-2

Nmap(消歧义)

TCP 扫描

这些端口在连接到互联网的机器上很少可用,但在连接到局域网的 Windows 机器上通常是开放的。在图 14-3 的特殊情况下,这些端口是可用的,因为 Windows 2008 服务器管理员在C:驱动器上共享了一个名为share的文件夹。通常,这些端口在 Windows 系统上是开放的,并且与 Microsoft Windows 的文件和打印共享相关。

img/505537_1_En_14_Fig3_HTML.jpg

图 14-3

TCP 扫描

操作系统的指纹

使用 nmap 的扫描提供了不确定的结果(图 14-4 )。它说操作系统可能是

img/505537_1_En_14_Fig4_HTML.jpg

图 14-4

操作系统指纹

  • 微软 Windows 7 专业版

  • 微软视窗 Vista SP0 或 SP1

  • Windows Server 2008 SP1 版

  • Windows 7

  • 微软视窗 Vista SP2

  • Windows 服务器 2008

使用 Metasploit 进行指纹识别

您需要更准确地了解目标计算机运行的是什么操作系统。如果您使用 Metasploit 辅助扫描模块之一,您可以获得更好的结果。见图 14-5 。

img/505537_1_En_14_Fig5_HTML.jpg

图 14-5

Metasploit 辅助扫描

使用show options命令查看辅助扫描模块的选项。见图 14-6 。

img/505537_1_En_14_Fig6_HTML.jpg

图 14-6

显示选项

设置 RHOSTS 后,运行扫描来确定远程机器的操作系统。见图 14-7 。

img/505537_1_En_14_Fig7_HTML.jpg

图 14-7

罗斯特

该操作系统被识别为不带 Hyper-V Service Pack 1 的 Windows 2008 标准版。见图 14-8 。

img/505537_1_En_14_Fig8_HTML.jpg

图 14-8

不带 Hyper-V Service Pack 1 的 Windows 2008 标准版

搜索漏洞

在我们回顾搜索结果时,最后提到了这些漏洞。利用漏洞的名称在 Metasploit 中,还有发布日期、利用漏洞的有效性以及利用漏洞影响的漏洞的概述。由于 Server 2008 于 2008 年推出,我们将寻找 2008 年或更晚出现的漏洞。参见图 14-9 。

img/505537_1_En_14_Fig9_HTML.jpg

图 14-9

使用 Metasploit 搜索

水表读数器

Meterpreter 是一种高级 Metasploit 有效负载,可让攻击者在攻击得逞后转储哈希、下载数据和执行特定任务。参见图 10-10。一旦散列被转储,诸如开膛手约翰这样的工具可以被用来破解密码。

img/505537_1_En_14_Fig10_HTML.jpg

图 14-10

水表读数器

摘要

在本章中,您了解了缓冲区溢出,以及黑客如何利用计算机系统中可能存在的漏洞。您熟悉了入侵检测技术和各种类型的入侵检测系统和防火墙。此外,您还了解了为了识别内部网络上的攻击,应该寻找什么。

资源

十五、密码系统

密码术是一种技术,采用简单、清晰的文本,并对其实现算法以加密它来产生密文,密文在被解密之前似乎是乱码。为了保密,使用了加密。

在本章中,您将了解目前使用的加密算法,以及如何应用加密来维护三个安全原则中的两个,即机密性和完整性。您将了解公钥加密、数字签名以及如何检查加密的电子邮件。

本章结束时,您将能够

  1. 认识公钥加密。

  2. 识别数字签名。

  3. 定义消息摘要。

  4. 定义安全套接字层(SSL)。

  5. 分析加密邮件。

对称加密

即使对于最古老的密码,持有相同的密钥也是基础。双方都需要知道在移位密码中被执行的移位的方向和数量。

所有对称算法,包括不可破解的一次一密法,都是基于这个共享秘密的概念。如前所述,这些方法的挑战是用于密钥管理的框架。见图 15-1 。

img/505537_1_En_15_Fig1_HTML.jpg

图 15-1

用于加密和解密的加密公钥和私钥

对称算法

您应该熟悉各种对称算法及其主要特征。表 15-1 中列出的大多数算法都是分组密码,这意味着它们通过固定的、不变的变换对固定长度的比特组进行操作。如果明文消息的长度不是块长度的倍数,则必须填充明文消息。流密码将密钥和算法应用于数据流中的每个二进制数字,并且可以加密可变长度的明文消息。

表 15-1

对称算法

|

对称算法

|

主要特征

|
| --- | --- |
| 是吗 | 块大小为 64,密钥长度为 56 位的分组密码 |
| 3 个(共 3 个) | 使用两个或三个密钥,并涉及多次加密,这些加密要经过 DES 算法三次 |
| 俄歇电子能谱 | 一种分组密码,将数据输入分成 128、192 或 256 位的块。密钥大小为 128、192 和 256 位,密钥大小影响算法中使用的轮数 |
| 投 | 对 64 位和 128 位密钥使用 64 位的块大小(对 256 位密钥版本使用 128 位的块大小) |
| RC6 | 在 32 位计算机上运行良好,可以抵抗暴力攻击(128 位块大小,密钥大小:128、192 和 256) |
| RC4 | 使用 8 到 2048 位密钥长度的流密码,最容易受到弱密钥的影响 |
| 河豚 | 块模式密码,使用 64 位块和 32 到 448 位的可变密钥长度。在 32 位机器上,它运行良好。 |
| 想法 | 使用 64 位块大小和 128 位密钥的块模式密码 |

不对称加密

不对称加密也称为公钥加密。这种方法依赖于一对密钥——公钥和私钥。这两个密钥在数学上是相关的,但是你不能仅仅因为知道某人的公钥就知道私钥。

生成一个密钥对。公钥被发布到第三方服务器,其他人将能够访问它。用户的私钥与用户在一起(例如,在软件应用程序中)。一个密钥锁定明文或对其加密,另一个密钥解锁密文或对其解密。没有一个键能够单独执行这两个功能。在不损害安全性的情况下,公钥可以被公布,而私钥不能透露给不允许阅读消息的人。

例如,假设您需要向 Blue 发送一条加密消息。你使用 Blue 的公钥(通过第三方服务器访问)加密消息,然后发送给他们。Blue 使用他们的私钥解密消息。即使 Green 截获了消息,他们也无法解密消息,即使他们也可以访问 Blue 的公钥。参见图 15-2 中的图示。

img/505537_1_En_15_Fig2_HTML.jpg

图 15-2

如何根据上面的例子加密消息

不对称算法

表 15-2 中列出了几种不对称算法及其应用方式。

表 15-2

不对称算法

|

不对称算法

|

主要特征

|
| --- | --- |
| 南非共和国(Republic of South Africa) | 用于加密和数字签名,也使用两个非常大的质数的乘积(长度在 100 到 200 位之间,长度相等) |
| 迪夫-赫尔曼 | 安全套接字层(SSL)协议的一种电子密钥交换方法,支持共享密钥 |
| 签名体制 | 免费使用(从未申请专利),被用作美国政府的数字签名标准 |
| 椭圆曲线加密(ECC) | 基于椭圆曲线工作 |

哈希函数

哈希函数用于确保消息或数据没有改变。换句话说,我们谈论的是保持诚信。如果您从互联网上下载一个程序,您可能会看到一个消息摘要值是使用特定的哈希算法标注的。下载文件后,对该文件使用哈希计算器。您的结果应该与网站上提供的值完全匹配。如果值不相同,则意味着文件已经以某种方式被篡改。

哈希算法

两种广泛使用的哈希算法是 SHA 和消息摘要。互联网上还有许多工具可以用来计算文件或字符串的哈希值。

  • SHA: 对 SHA 算法输入的数据应用压缩函数。它可以占用多达 264 位,然后将其压缩到更低的位数(即,SHA-1 为 160 位)。较长的版本被认为是 SHA-2 (SHA-256、SHA-384 和 SHA-512)。较长的散列结果意味着成功攻击要困难得多。

  • 消息摘要(MD): MD5 是一种消息摘要算法,它为任意长度的消息生成 128 位哈希,并将消息分成 512 位的块。

加密算法使用:保密性

对于存储的数据和传输的数据,保持机密性通常是至关重要的。在这两种情况下,对称加密都是优选的,这是因为它的速度快,还因为被加密的对象的大小会由于某些非对称算法而大大增加。

对于存储的项目,公钥通常是不必要的,因为该项目的加密是为了防止其他人的访问。对于传输的数据,公钥加密通常用于交换密钥,对称加密则用于保持传输数据的机密性。

非对称加密保持机密性,但是它的大小和速度使它更容易保护小单元的机密性,例如电子密钥交换。在所有情况下,算法的复杂性和密钥的长度确保了所讨论数据的机密性。

存储或传输的数据的机密性通过使用加密算法来创建和维护。保持完整性是邮件安全性不可或缺的一部分。哈希函数确定消息的摘要,这确保了消息的完整性。此外,消息的发送者不能再否认他们发送了在电子数据交换中具有重要意义的消息。最后,身份验证使人们能够证明他们是他们所声称的人。

加密算法使用:数字签名

哈希函数和非对称加密是数字签名的基础。在签署数字文档时,这两个加密因素都起着至关重要的作用。对于任何人来说,更改未受保护的数字文档确实很方便。重要的是,如果有人在文件上签字后对其进行了修改,则任何更改都可以被识别出来。散列函数用于构建消息的摘要,该摘要是唯一的并且容易被各方复制,以防止文档编辑。这保证了消息的完整性。见图 15-3 。

img/505537_1_En_15_Fig3_HTML.jpg

图 15-3

用于创建数字签名的哈希函数和非对称加密

当涉及到在线交易时,数字签名可以提供不可否认性,这对于确保合同或通信的一方首先不能拒绝他们在纸上签名的真实性是很重要的。在这种意义上,不可否认性与确保合同的一方必须承认他们在纸上签名的真实性的能力有关。

安全套接字层(SSL)

安全套接字层(SSL)管理通过互联网传输的信息的加密。SSL 使用不对称和对称身份验证机制,并负责执行 SSL 握手。该过程从客户端请求安全连接和服务器响应开始。双方需要就一项被广泛接受的协议达成一致。

SSL 握手

在 SSL 会话开始时,执行 SSL 握手,设置会话的加密参数。

  1. 客户端将其 SSL 版本号、密码设置和特定于会话的数据发送到服务器。

  2. 服务器发送相同的以及它自己的证书。如果请求的资源需要客户端身份验证,则服务器会请求客户端的证书。

  3. 客户端使用收到的信息进行身份验证。

  4. 客户端用服务器的公钥加密一个种子值,并将其发送给服务器。如果服务器请求客户端身份验证,客户端也会发送客户端证书。

  5. 如果服务器请求客户端身份验证,服务器会尝试对客户端证书进行身份验证。

  6. 服务器使用其私钥来解密秘密,然后生成主秘密。

  7. 客户端和服务器都使用主密钥来生成会话密钥,即对称密钥。

  8. 客户端通知服务器未来的消息将使用会话密钥加密。

  9. 服务器通知客户端相同的信息。

图 15-4 说明了上面列出的步骤。客户端或服务器端的步骤代表各自采取的行动。箭头还包括上面列出的每个步骤的编号,以显示发生 SSL 握手时客户端和服务器如何交互。

img/505537_1_En_15_Fig4_HTML.jpg

图 15-4

SSL 握手过程

安全外壳(SSH)

SSH 是不安全的 Telnet 应用程序的安全替代方案。Telnet 使用户能够在系统之间进行连接。尽管 Telnet 仍在使用,但它有一些缺点。

SSH 使用 SSH 守护进程在两端的机器之间打开一个受保护的传输通道。这些守护程序通过 TCP 端口 22 发起联系,然后通过更高的端口以安全模式进行通信。SSH 的优势之一是它支持几种不同的加密协议。

SSH 协议提供了自动数据加密、认证和数据压缩等功能。该协议旨在实现灵活性和简单性,并明确设计为减少系统之间的往返次数。在连接时,密钥交换、公钥、对称密钥、消息验证和哈希算法都要经过协商。通过使用根据共享秘密、分组内容和分组序列号确定的消息认证码来确保单个数据分组的机密性。见图 15-5 。

img/505537_1_En_15_Fig5_HTML.jpg

图 15-5

使用 SSH 的远程访问协议

加密应用

相当好的隐私(PGP)应用程序可以整合到常见的电子邮件程序中,通过利用对称和非对称加密协议的组合来执行大多数日常加密任务。

PGP 的一个与众不同的特性是它可以同时使用对称和非对称加密方法,利用每种方法的优点,同时避免每种方法的缺点。对称密钥用于批量加密,受益于对称加密的效率和速度。对称密钥通过非对称方法传递,利用了这种方法的灵活性。

用于加密数据的加密应用程序如下:

  • TrueCrypt 是一个开源的加密解决方案。它用于基于对称磁盘的文件加密。它包括 AES 密码和构建可拒绝卷的能力,加密存储在加密中,可防止卷检测。TrueCrypt 可以进行文件加密和整盘加密。计算机的整个硬盘驱动器以及操作系统都通过全磁盘加密进行加密。

  • FreeOTFE 就像 TrueCrypt 一样。作为一个开源的、可自由访问的程序,它提供了动态磁盘加密。它可以用几种常见的加密算法,比如 AES,对整个磁盘的文件进行加密。

  • Gnu Privacy Guard (GnuPG)是相当好的隐私(OpenPGP)规范的开源实现。这是一个公钥加密程序,旨在保护电子邮件等电子通信的安全。它的工作方式与 PGP 相同,并提供了一种管理公钥/私钥的方法。文件系统加密已成为保护存储数据的标准手段。甚至内置 AES 加密的硬盘也可以使用。

  • BitLockerT2。微软推出了 BitLocker 及其加密文件系统(EFS)。这是一种引导扇区加密方法,有助于保护最新 Windows 操作系统上的数据。BitLocker 使用 AES 加密来自动加密硬盘上的所有文件。所有加密都在后台进行,当需要数据时,解密可以顺利进行。您可以将解密密钥存储在 TPM 或 USB 密钥中。

对密码学的攻击

不对称加密也称为公钥加密。这种方法依赖于一对密钥——公钥和私钥。这两个密钥在数学上是相关的,但是你不能仅仅因为知道某人的公钥就知道私钥。

该过程从生成密钥对开始。公钥被发布到第三方服务器,其他人将能够访问它。用户的私钥与用户在一起(例如,在软件应用程序中)。一个密钥锁定明文或对其加密,另一个密钥解锁密文或对其解密。没有一个键能够单独执行这两个功能。在不损害安全性的情况下,公钥可以被公布,而私钥不能透露给不允许阅读消息的人。

例如,假设您需要给 Jane 发送一条加密消息。您使用 Jane 的公钥(通过第三方服务器访问)对消息进行加密,然后发送给她。简用她的私钥解密这条消息。如果 Karl 截获了该消息,即使他也可以使用 Jane 的公钥,他也无法解密该消息。

了解已知的针对加密技术的不同类型的攻击是很重要的。使用 Wireshark 和 tcpdump 会发生被动攻击。主动攻击涉及生日攻击、数学攻击和中间人的使用。高级攻击包括使用密码分析、暴力攻击和模式分析。

加密电子邮件

为了加密消息,使用公钥。通过对电子邮件进行数字签名,用户可以将他们的公钥发送给其他用户。然后,用户可以使用发送方给他们的公钥来加密发送给该发送方的消息。见图 15-6 。

img/505537_1_En_15_Fig6_HTML.jpg

图 15-6

如何从工具下拉菜单中选择数字签名选项。安全帮助加密邮件告知邮件已被发件人加密

摘要

在本章中,您了解了加密是一个过程,用于获取普通可读文本并对其应用算法,加密它以创建密文。在解密之前,这个密文是不可读的。您回顾了加密算法、如何应用加密来确保机密性和完整性、密钥加密、数字签名以及如何分析加密的电子邮件。

十六、渗透测试

在本章中,您将了解安全评估、渗透测试、风险管理和各种测试工具。

本章结束时,您将能够

  1. 身份安全评估。

  2. 确定渗透测试的步骤。

  3. 检查风险管理。

  4. 识别各种渗透测试工具。

渗透测试概述

渗透测试,也被称为笔测试,用于模拟攻击者用来获得对网络的未授权访问并危害系统的方法。渗透测试被认为是一种安全评估。

每种类型的评估都有其目的,了解它们之间的差异非常重要。渗透测试评估网络的安全模型,可以帮助管理员和管理层了解攻击的潜在后果。

安全评估

安全评估包括使用安全审计、漏洞评估和渗透测试来验证网络资源安全级别的过程。

  • 安全审计:安全审计主要关注用于设计、实现和管理网络安全的人员和流程。国家标准与技术研究所(NIST)有几个专门的出版物可以用作指南—SP 800-53 用于安全控制的规范,SP 800-53A 用于安全控制有效性的评估。更多信息,请访问国家标准与技术研究院 ( www.nist.gov/ ))。

  • 漏洞评估:漏洞评估扫描网络中已知的安全弱点。漏洞扫描工具将计算机与软件供应商提供的通用漏洞和暴露(CVE)索引和安全公告进行比较。CVE 是一个供应商中立的已报告安全漏洞列表,并且是经过维护的。详情请访问 CVE 网站 ( http://cve.mitre.org/ ))。

在域管理员的安全上下文中运行的漏洞扫描软件将返回与在经过身份验证的用户的上下文中运行不同的结果。

  • 渗透测试:渗透测试比漏洞扫描更进了一步,因为它不仅会指出漏洞,还会记录攻击者如何利用漏洞以及如何升级小漏洞。

渗透测试的阶段

外部测试可以是黑盒(零知识测试)、灰盒(部分知识测试)或白盒(完全知识测试)。内部测试可用于拥有可用资源的组织。如果内部专业知识不足,建议外包。

对于自动化测试,组织依赖于安全公司。手动测试需要安全专家的专业知识,并且可能是从潜在黑客的角度进行的。

  1. 计划阶段:在计划阶段,确定规则,设定测试目标。关于目标的信息是在预攻击阶段收集的。收集的信息将构成攻击策略的基础。攻击后,测试人员需要将网络恢复到原始状态。

pen 测试是一种枚举设备,可能会导致系统意外崩溃、数据被破坏或性能受到影响。应正确评估客户风险。在规划阶段起作用的主要因素是客户风险。由于 pen 测试的固有风险,管理层可能希望首先确认测试机构是否有专业责任保险。在规划阶段还需要考虑一些依赖因素。某些步骤需要在其他步骤之前执行。

  1. 预攻击阶段:预攻击阶段包括识别威胁,以帮助进行风险评估并计算威胁的相对严重性。威胁的业务影响可以分为高、中或低。内部指标使用组织内部可用的数据来评估攻击风险,而外部指标则来自于从组织外部收集的数据。为利用的成功分配概率值允许计算相对危险度。在这个阶段,测试团队将收集尽可能多的关于目标公司的信息。有许多方法可以检索信息,正如所详述的。

  2. 攻击阶段:攻击阶段涉及目标的实际危害,可能通过利用在预攻击阶段发现的漏洞或使用安全漏洞(如薄弱的安全策略)来获取访问权限。

  3. 攻击后阶段:测试人员负责将任何系统恢复到测试前状态。请记住,pen 测试的目的是显示安全问题存在的地方,而不是纠正问题。

文件

报告详细描述了测试过程中发生的事件以及测试人员执行的活动范围。三种类型的报告可用于文档目的,它们是渗透测试报告、故障树(攻击树)和差距分析。

  • 渗透测试报告强调发生的事件和活动范围。

  • 故障树 攻击树指定根事件并识别与根相关的事件。攻击树特别关注谁,什么时候,为什么,如何,和什么。

  • 差距分析评估一个组织想要达到的目标和它目前所处的位置之间的差距。外部标准可用作差距分析的一部分,以提供关于组织如何缩小差距的建议。

创建有效负载

您可以使用 Metasploit 构建有效负载,当受害者运行它们时,它会连接到攻击者的机器。可以创建 Windows、Linux 和 Mac OS X 操作系统的有效负载。创建有效负载时,您可以定义攻击者的端口号、IP 地址或完全限定的域名(FQDN)和有效负载类型,如 meterpreter 或 Windows 命令外壳。

如果 Windows 用户启动可执行文件,他们的机器将连接到 216.6.1.100 的端口 22(图 16-1 )。为此,攻击者机器需要监听该端口。

img/505537_1_En_16_Fig1_HTML.jpg

图 16-1

网络攻击 1

利用受害者机器

创建 MSF 有效负载后,通过 FTP 传输iexplore.exe文件。攻击者可以使用 SQL 注入为 FTP 构建应答文件,从而允许他们通过存储过程 xp_cmd shell 上传文件。如果上传的文件是一个 meterpreter 负载,也可以通过 xp_cmd shell 操作它,在攻击者和受害者之间创建一个 meterpreter 会话。见图 16-2 和 16-3 。

img/505537_1_En_16_Fig3_HTML.jpg

图 16-3

运行漏洞利用

img/505537_1_En_16_Fig2_HTML.jpg

图 16-2

FTP 会话

摘要

在这一章中,你学习了渗透测试。您了解了安全评估需要什么以及风险管理涉及什么。本章还强调了可以用来进行渗透测试的工具。

资源

  • 国家标准技术研究院(NIST): www.nist.gov/

  • CVE:T3http://cve.mitre.org/T4】

posted @ 2024-05-17 13:41  绝不原创的飞龙  阅读(17)  评论(0编辑  收藏  举报