目录
- Section 6:网络流量分析
- 网络流量基础知识
- 介绍
- 网络流量分析的目的是什么?
- 我们可以观察到哪些网络流量?
- 网络流量来源和流向
- 我们如何观察网络流量?
- Wireshark:基础知识
- 介绍
- 工具描述
- 用例
- 图形用户界面和数据
- 加载PCAP文件
- 涂色包
- 交通嗅探
- 合并PCAP文件
- 查看文件详情
- 包解剖
- 数据包导航
- 数据包编号
- 前往数据包
- 查找数据包
- 标记包
- 数据包注释
- 导出数据包
- 导出对象(文件)
- 时间显示格式
- 专家信息
- 数据包过滤
- 数据包过滤
- 应用为筛选器
- 对话过滤器
- 为对话着色
- 准备作为过滤器
- 作为列应用
- 跟踪流
- Wireshark:数据包操作
- 介绍
- 统计数据 | 摘要
- 统计数据 | 协议详情
- 数据包过滤 | 原理
- 捕获过滤器语法
- 显示筛选语法
- 比较运算符
- 逻辑表达式
- 数据包过滤工具栏
- 数据包过滤 | 协议过滤器
- IP过滤器
- TCP 和 UDP 过滤器
- 应用层协议过滤器 | HTTP 和 DNS
- 显示筛选表达式
- 高级筛选
- 筛选条件:“包含”
- 筛选条件:“匹配”
- 筛选条件:“in”
- 筛选条件:“大写”
- 筛选条件:“小写”
- Wireshark:流量分析
- Nmap扫描
- ARP投毒攻击和中间人攻击!
- 主机识别:DHCP、NetBIOS 和 Kerberos
- 识别宿主
- DHCP分析
- NetBIOS (NBNS) 分析
- Kerberos 分析
- 隧道流量:DNS 和 ICMP
- 明文协议分析:FTP
- 明文协议分析:HTTP
- 加密协议分析:解密 HTTPS
- 奖励:寻找明文凭证!
- 额外福利:可执行的结果!
- 结论
- 网络矿工
- 介绍
- NetworkMiner 在取证中的应用
- NetworkMiner是什么?
- NetworkMiner 简介
- 操作模式
- 优点和缺点
- Wireshark 和 NetworkMiner 的区别
- 工具概述 1
- 首页
- 文件菜单
- 工具菜单
- 帮助菜单
- 机箱面板
- 主机
- 会话
- DNS
- 证书
- 工具概述 2
- 文件
- 图片
- 参数
- 关键词(keyword)
- 消息
- 异常
- 版本差异
- 练习
Section 6:网络流量分析
网络流量基础知识
了解什么是网络分析、为什么它至关重要、如何收集网络流量以及有哪些工具可用。
介绍
网络流量分析 ( NTA ) 是一个涵盖捕获、检查和分析网络中数据流的过程。其目标是全面了解网络内外通信的内容。需要强调的是,NTA并非 Wireshark 工具的同义词。它远不止于此:NTA 结合了多种日志、深度包检测和网络流量统计信息,并针对特定的目标(我们将在后文讨论)进行关联分析。
掌握网络流量分析技能至关重要,这不仅对有志成为安全运营中心 (SOC)一级分析师的人来说如此,对蓝队和红队中的许多其他角色也同样重要。作为一名一级分析师,你需要能够从海量的网络信息中理清头绪,分辨哪些是正常情况,哪些是偏离基准线的情况。
在这个房间里,我们将重点讨论网络流量分析的定义、为什么需要它、如何观察网络流量以及需要注意的一些网络流量来源和流向。
- 学习目标
- 了解什么是网络流量分析
- 了解可以观察到什么
- 了解如何监控网络流量
- 了解典型的网络流量来源和流
网络流量分析的目的是什么?
我们为什么要分析网络流量?在回答这个问题之前,让我们先来看下面的场景。
DNS隧道和信标
您是一名SOC分析师,收到一条警报,指出来自名为WIN-016、IP地址为192.168.1.16的主机的DNS查询数量异常增多。防火墙上的DNS日志显示,多个DNS查询发往同一个顶级域名(TLD),每次都使用不同的子域名。- 2025-10-03 09:15:23 SRC=192.168.1.16 QUERY=aj39skdm.malicious-tld.com QTYPE=A 2025-10-03 09:15:31 SRC=192.168.1.16 QUERY=msd91azx.malicious-tld.com QTYPE=A 2025-10-03 09:15:45 SRC=192.168.1.16 QUERY=cmd01.malicious-tld.com QTYPE=TXT 2025-10-03 09:15:45 SRC=192.168.1.16 QUERY=cmd01.malicious-tld.com QTYPE=TXT
复制代码 根据 DNS 日志,我们可以检索到以下信息:
- 查询和查询类型
- 子域名和顶级域名:我们可以使用 abuseDB 或 VirusTotal 等工具来检查域名是否恶意。
- 主机 IP:我们可以识别发出 DNS 查询的系统。
- 目标 IP:我们可以使用 AbuseIPDB或VirusTotal等工具来验证该 IP 是否被标记为恶意 IP。
- 时间戳:我们可以构建一个时间线,记录下不同的可疑查询。
DNS 日志包含的信息仅限于此,因此仅凭这些信息很难得出结论。我们需要更彻底地检查 DNS 流量,并核对 DNS 查询和响应的内容。这将有助于我们确定这些查询和响应的性质。
这种情况充分说明了为什么我们需要网络流量分析。防火墙和其他设备会记录 DNS 查询及其响应,但不会记录其内容。例如,攻击者可以利用 TXT 记录向受感染的系统发送命令与控制 (C2) 指令。我们可以通过检查 DNS 查询的内容来发现这一点。下面的数据包捕获片段显示了一个包含 C2 命令的 DNS 响应的内容。- Domain Name System (response) Transaction ID: 0x4a2b Flags: 0x8180 Standard query response, No error 1... .... .... .... = Response: Message is a response .... .... .... 0000 = RCODE: No error (0) Questions: 1 Answer RRs: 1 Authority RRs: 0 Additional RRs: 0 Queries cmd1.evilc2.com: type TXT, class IN Answers cmd1.evilc2.com: type TXT, class IN, TTL 60, TXT length: 20 TXT: "SSBsb3ZlIHlvdXIgY3VyaW91c2l0eQ=="
复制代码 我们为什么要分析网络流量?
通常,我们会利用网络流量分析来:
- 监控网络性能
- 检查网络是否存在异常情况,例如:性能突然飙升、网络速度变慢等。
- 检查内部和外部可疑通信的内容。例如,通过DNS进行数据泄露、通过HTTP下载恶意 ZIP 文件、横向移动等。
从安全运营中心(SOC)的角度来看,网络流量分析有助于:
- 检测可疑或恶意活动
- 事件响应期间的攻击重建
- 验证和确认警报
以下两个场景进一步说明了网络流量分析的重要性:
- 根据终端用户系统的日志,该系统在世界协调时下午 4 点左右开始出现异常行为。通过分析进出该系统的网络流量,我们发现了一个可疑的HTTP请求,并成功提取出了一个可疑的 ZIP 文件。
- 我们收到警报,显示某个终端用户系统发送的DNS请求数量远超网络基线水平。经检查,我们发现有人利用一种名为DNS隧道的技术窃取数据。
既然我们知道了为什么需要网络流量分析,接下来让我们继续下一个任务,看看我们究竟可以监控什么。
请回答以下问题。
通过 DNS 走私 C2 命令的技术名称是什么?我们可以观察到哪些网络流量?
要展现我们能够观察到的网络流量,最好的方法是使用几乎所有带网络接口的设备都实现的架构:TCP /IP协议栈。下图展示了TCP /IP模型的不同层。每一层都描述了将数据传递到下一层所需的信息(头部)。每个头部中包含的信息,连同应用程序数据,正是我们想要观察的内容。日志通常包含这些头部的部分信息,但从未包含完整的包详细信息。这就是我们需要进行网络流量分析的原因。
应用
层包含两个重要的信息结构:应用头部信息和应用数据本身(有效载荷)。这些信息会根据所使用的应用层协议而变化。我们来看一个HTTP的例子。
以下代码片段展示了客户端发送 GET 请求的应用程序标头和服务器的响应。大多数 Web 代理和防火墙都会记录这些标头数据。但它们不会记录应用程序数据或有效负载。从 GET 请求中,您可以确定客户端正在请求一个名为 的文件suspicious_package.zip。服务器的响应包含 200 代码,表示请求已被接受。
但是,您在日志中看不到的是 ZIP 文件的内容(用 为会话着色 --> 重置着色”</strong> 菜单撤销此操作。
就是可以为你这个会话进行颜色标记,让你更容易看清楚,这个就是你跟踪tcp或者http流量一样,把每一个包都着色标记出来让你识别。
准备作为过滤器
与“应用为筛选器”类似,此选项可帮助分析人员使用“右键单击”菜单选择:准备作为过滤器。但是,与前者不同的是,此模型不会在选择后立即应用筛选器。它会将所需的查询添加到窗格中,正如下图所示,你会看到已经添加了一个筛选规则上去,但是还没应用而已,需要你确定或者添加更多筛选规则进去
作为列应用
默认情况下,数据包列表窗格提供每个数据包的基本信息。您可以使用“右键单击菜单”或“分析 --> 应用为列”菜单向数据包列表窗格添加列。单击某个值并将其应用为列后,该列将显示在数据包列表窗格中。此功能有助于分析人员检查捕获文件中可用数据包中特定值/字段的出现情况。您可以通过单击数据包列表窗格顶部来启用/禁用其中显示的列。
跟踪流
Wireshark 以数据包大小的形式显示所有内容。然而,可以重构数据流,并查看应用层呈现的原始流量。遵循协议,数据流有助于分析人员重现应用层数据,并了解感兴趣的事件。此外,还可以查看未加密的协议数据,例如用户名、密码和其他传输的数据。
您可以使用“右键菜单”或 “分析 --> 跟踪TCP / UDP / HTTP流” 菜单来跟踪流量。流量会显示在单独的对话框中;来自服务器的数据包以蓝色高亮显示,来自客户端的数据包以红色高亮显示。
跟踪某个数据流后,Wireshark 会自动创建并应用所需的过滤器来查看该数据流。请注意,应用过滤器后,显示的包数量会发生变化。您需要使用位于显示过滤器栏右上角的 “ X ” 按钮来移除显示过滤器,并查看捕获文件中所有可用的包。
请回答以下问题。
请使用“ Exercise.pcapng ”文件回答问题。
转到第4个数据包。右键单击“超文本传输协议”,并将其应用为筛选器。
现在,查看筛选器窗格。筛选查询是什么?
显示的包数量是多少?
找到数据包编号33790 , 跟踪 HTTP 流,仔细查看响应。
根据 Web 服务器的响应,艺术家总数是多少?
第二位艺术家的名字是什么?
Wireshark:数据包操作
介绍
在本房间中,我们将介绍使用 Wireshark 进行数据包分析的基础知识,并从数据包级别分析感兴趣的事件。
- 学习目标
- 调查网络流量捕获
- 查看统计数据,包括摘要和方案详情
- 揭示并应用数据包过滤原理
- 应用协议过滤器
- 应用高级筛选
统计数据 | 摘要
统计数据
此菜单提供多种统计选项,方便用户进行分析,从而了解流量范围、可用协议、端点和会话等整体情况,以及一些协议特定细节,例如DHCP、DNS和HTTP /2。对于安全分析师而言,了解如何利用这些统计信息至关重要。本部分提供已处理pcap文件的简要概述,帮助分析师为调查建立假设。您可以使用 “统计” 菜单查看所有可用选项。现在启动指定的虚拟机,打开 Wireshark,加载“Exercise.pcappng”文件,并按照步骤进行操作。
已解析地址
此选项通过提供已解析地址及其主机名的列表,帮助分析人员识别捕获文件中可用的 IP 地址和DNS名称。请注意,主机名信息取自捕获文件中的DNS应答。分析人员可以使用此菜单快速识别已访问的资源。因此,他们可以快速发现已访问的资源,并根据感兴趣的事件对其进行评估。您可以使用 “统计信息 --> 已解析地址” 菜单查看 Wireshark 解析的所有地址。
协议层次结构
此选项会将捕获文件中所有可用协议进行细分,并帮助分析人员根据数据包计数器和百分比以树状视图查看这些协议。因此,分析人员可以查看端口和服务的总体使用情况,并专注于感兴趣的事件。上一节中提到的黄金法则在本节中同样适用;您可以右键单击并筛选感兴趣的事件。您可以使用 “统计信息 --> 协议层次结构”。
会话
会话代表两个特定端点之间的通信流量。此选项以五种基本格式(以太网、IPv4、IPv6、 TCP和UDP)列出会话。因此,分析人员可以识别所有会话并联系感兴趣的事件的端点。您可以使用“统计信息 --> 会话”菜单查看此信息。
终点
“端点”选项与“会话”选项类似。唯一的区别在于,此选项针对单个信息字段(以太网、IPv4、IPv6、TCP和UDP)提供唯一信息。因此,分析人员可以识别捕获文件中的唯一端点,并将其用于感兴趣的事件。您可以使用“统计信息 --> 端点”菜单查看此信息。
Wireshark 还支持使用 IEEE 分配的制造商名称将 MAC 地址解析为人类可读的格式。请注意,此转换仅使用 MAC 地址的前三个字节,并且仅适用于已知的制造商。在查看以太网端点时,您可以通过端点窗口左下角的 “名称解析”按钮启用此选项。
名称解析不仅限于 MAC 地址。Wireshark 也提供 IP 地址和端口名称解析选项。但是,这些选项默认情况下未启用。如果您想使用这些功能,需要通过 “编辑 --> 首选项 --> 名称解析” 菜单将其激活。启用 IP 地址和端口名称解析后,您将在数据包列表窗格中看到解析后的 IP 地址和端口名称,也可以在“会话”和“端点”菜单中查看解析后的名称。
带有名称解析的端点菜单视图:
除了名称解析之外,Wireshark 还提供 IP 地理位置映射功能,帮助分析人员识别地图的源地址和目标地址。但此功能默认情况下未启用,需要 GeoIP 数据库等补充数据。目前,Wireshark 支持 MaxMind 数据库,最新版本的 Wireshark 已预装 MaxMind 数据库解析器。不过,您仍然需要 MaxMind 数据库文件,并通过“编辑 --> 首选项 --> 名称解析 --> MaxMind 数据库目录”菜单向 Wireshark 提供数据库路径。下载并指定路径后,Wireshark 将自动在 IP 协议详细信息下提供匹配 IP 地址的 GeoIP 信息。
端点和 GeoIP 视图:
注意:您需要连接互联网才能查看 GeoIP 地图。
请回答以下问题
调查已解析的地址。主机名以“bbc”开头的IP地址是什么?
统计->地址解析,搜索bbc即可
IPv4 会话数是多少?
从“Micro-St”MAC地址传输了多少字节(k)?
打开端点查看即可
与“Kansas City”关联的 IP 地址数量是多少?
与“Blicnet”AS组织关联的IP地址是什么?
统计数据 | 协议详情
IPv4 和 IPv6
到目前为止,几乎所有选项都提供了包含两种IP地址版本的信息。统计菜单提供了两个选项,用于筛选包含特定IP版本的包统计信息。因此,分析人员可以在一个窗口中识别并列出所有与特定IP版本关联的事件,并将其用于感兴趣的事件。您可以使用“统计信息 --> IPvX统计信息”菜单查看此信息。
DNS
此选项会将捕获文件中的所有DNS数据包进行细分,并帮助分析人员根据数据包计数器和DNS协议百分比以树状视图查看分析结果。因此,分析人员可以查看DNS服务的总体使用情况,包括 rcode、opcode、class、query type、服务和查询统计信息,并将其用于感兴趣的事件。您可以使用 “统计信息 --> DNS ” 菜单查看此信息。
HTTP
此选项会将捕获文件中的所有HTTP数据包进行细分,并帮助分析人员根据数据包计数器和HTTP协议百分比以树状视图查看分析结果。因此,分析人员可以查看HTTP服务的总体使用情况,包括请求和响应代码以及原始请求。您可以使用 “统计信息 --> HTTP ” 菜单查看此信息。
请回答以下问题
最常用的IPv4目标地址是什么?
打开目标地址和端口,点击排序一下即可知道谁的百分比占最多
DNS数据包的最大服务请求-响应时间是多少?
“rad[.]msn[.]com”完成了多少个HTTP请求?
点开dns的统计,然后找到该域名,往右边划
就能看到计数了
数据包过滤 | 原理
在上一节课(Wireshark:基础篇)中,我们讲解了数据包过滤以及如何在不使用查询的情况下过滤数据包。本节课我们将使用查询来过滤数据包。如前所述,Wireshark 中有两种类型的过滤器。虽然它们的语法相似,但用途不同。让我们回顾一下这两种过滤器的区别。
捕获过滤器这种类型的过滤器用于仅保存流量的特定部分。它在捕获流量之前设置,并且在捕获过程中无法更改。显示筛选器这种类型的过滤器用于通过减少可见数据包的数量来调查数据包,并且在捕获过程中可以更改。注意: 您不能使用显示筛选表达式来捕获流量,反之亦然。
典型的使用场景是捕获所有数据包,然后根据感兴趣的事件进行过滤。只有经验丰富的专业人员才会使用捕获过滤器并嗅探流量。这就是为什么 Wireshark 在显示过滤器中支持更多协议类型的原因。请务必在实际环境中使用捕获过滤器之前,彻底了解如何使用它们。记住,如果您的捕获过滤器与您要查找的特定流量模式不匹配,您将无法捕获到感兴趣的事件。
捕获过滤器语法
这些过滤器使用字节偏移量、十六进制值和掩码以及布尔运算符,因此乍一看并不容易理解/预测其用途。基本语法解释如下:
- Scope作用域: 主机、网络、端口和端口范围。
- Direction方向: 源、目标、源或目标、源和目标,
- Protocol协议: 以太网、WLAN、IP、IP6、ARP、RARP、TCP和UDP。
- 用于捕获端口 80 流量的示例过滤器: tcp port 80
您可以点击 此处:https://www.wireshark.org/docs/man-pages/pcap-filter.html 和 此处:https://gitlab.com/wireshark/wireshark/-/wikis/CaptureFilters#useful-filters阅读更多关于捕获过滤器语法的信息。快速参考指南位于 “捕获 --> 捕获过滤器” 菜单下。
显示筛选语法
这是 Wireshark 最强大的功能。它支持 3000 种协议,并允许在协议分类下进行数据包级别的搜索。官方的“显示过滤器参考:https://www.wireshark.org/docs/dfref/”提供了所有受支持的协议分类,方便进行过滤。
- 用于捕获端口 80 流量的示例过滤器: tcp.port == 80
Wireshark 内置了一个选项(显示过滤器表达式),用于存储所有受支持的协议结构,以帮助分析人员创建显示过滤器。我们稍后会介绍“显示过滤器表达式”菜单。现在,让我们来了解一下显示过滤器操作的基本原理。您可以在 “分析 --> 显示过滤器” 菜单下找到快速参考。
比较运算符
您可以使用不同的比较运算符创建显示筛选器,以查找感兴趣的事件。主要运算符如下表所示。
英语C 类描述例子方程==平等的ip.src == 10.10.10.100ne!=不等于ip.src != 10.10.10.100gt>大于ip.ttl > 250lt</tdtd少于/tdtdcodeip.ttl < 10/code/td/trtrtdge/tdtd>=大于或等于ip.ttl >= 0xFA勒 配置配置文件”</strong> 菜单或 “状态栏右下角 --> 配置文件” 部分来创建、修改和更改配置文件。
</p>请回答以下问题
查找所有 Microsoft IIS 服务器。有多少个数据包并非源自“端口 80”?
筛选:http.server contains "IIS" && tcp.srcport != 80查找所有 Microsoft IIS 服务器。版本号为“7.5”的数据包数量是多少?
筛选:http.server contains "IIS" && http.server contains "7.5"使用端口 3333、4444 或 9999 的数据包总数是多少?
这里题目没有说清楚是tcp协议
筛选:tcp.port in {3333 4444 9999}TTL 值为偶数的包有多少个?
用正则匹配偶数,前提需要将ttl转为string
匹配模式是:以0248结尾的就是偶数了
筛选:string(ip.ttl) matches "[02468]$"将配置文件更改为“校验和控制”。“错误的 TCP 校验和”数据包 有多少个?
选择一下该配置:
然后编辑他,修改为:错误的 TCP 校验
筛选:tcp.checksum.status == 0使用现有的过滤按钮过滤流量。显示的包数量是多少?
Wireshark:流量分析
我们将深入分析并关联数据包级信息,从而了解网络流量的全貌,例如检测异常和恶意活动。对于安全分析师而言,运用自身知识和工具功能来拦截并理解数据包中散布的信息至关重要。本节课将讲解如何结合分析师知识和 Wireshark 的功能,针对特定案例,分析数据包级细节,从而检测异常和异常情况。
Nmap扫描
Nmap是一款业界标准的网络映射工具,用于识别活动主机和服务。作为最常用的网络扫描工具之一,安全分析师应识别其生成的网络模式。本节将介绍最常见的Nmap扫描类型。
了解Nmap扫描的工作原理对于发现网络上的扫描活动至关重要。然而,如果不使用正确的过滤器,就无法理解扫描的详细信息。以下是用于探测网络上 Nmap扫描行为的基本过滤器。
TCP标志简述:
[table]笔记Wireshark 过滤器全局搜索。- tcp
- udp- 仅 SYN 标志。
- SYN 标志位已置位。其余位并不重要。- tcp.flags == 2
- tcp.flags.syn == 1- 仅 ACK 标志。
- ACK 标志位已置位。其余位并不重要。- tcp.flags == 16
- tcp.flags.ack == 1- 仅 SYN、ACK 标志。
- SYN 和 ACK 已置位。其余位并不重要。- tcp.flags == 18
- (tcp.flags.syn == 1) and (tcp.flags.ack == 1)- 仅RST标志。
- RST标志位已置位。其余位并不重要。- tcp.flags == 4
- tcp.flags.reset == 1- 仅包含 RST 和 ACK 标志。
- RST 和 ACK 位已置位。其余位并不重要。- tcp.flags == 20
- (tcp.flags.reset == 1) and (tcp.flags.ack == 1)- 仅 FIN 标志
- FIN 标志已置位。其余位并不重要。- tcp.flags == 1
- tcp.flags.fin == 1TCP连接扫描
TCP连接扫描简述:
- 依赖于三次握手(需要完成握手过程)。
- 通常以nmap -sT 命令形式执行。
- 供非特权用户使用(非 root 用户的唯一选项)。
- 由于协议的特性,请求通常需要一些数据,因此窗口大小通常大于 1024 字节。
打开 TCP 端口打开 TCP 端口
TCP端口已关闭- 同步 -->
- - 同步 -->
-
- RST,ACK -->- 同步 -->
- 1024
</p>同步扫描
TCP SYN 扫描简述:
- 不依赖于三次握手(无需完成握手过程)。
- 通常以 nmap -sS 命令形式执行。
- 仅供特权用户使用。
- 通常大小小于或等于 1024 字节,因为请求尚未完成,并且预计不会收到数据。
[table]打开 TCP 端口关闭 TCP 端口- 同步 -->
- - 同步 -->
-
- ICMP 类型 3,代码 3 消息。(目标不可达,端口不可达)已关闭(端口 69)和已开放(端口 68)的 UDP端口:
上图显示,关闭的端口返回了一个 ICMP 错误数据包。乍一看,并没有提供关于该错误的更多信息,那么分析人员如何确定此错误消息的归属呢?ICMP 错误消息使用原始请求作为封装数据来显示数据包的来源/原因。展开数据包详细信息窗格中的 ICMP 部分后,您将看到封装数据和原始请求,如下图所示。
给定的过滤器显示捕获文件中的UDP扫描模式。
icmp.type==3 and icmp.code==3
检测分块文件中的可疑活动很容易,也是学习如何关注细节的好方法。
现在,请使用该"~/Desktop/exercise-pcaps/nmap/Exercise.pcapng"文件,将您的技能应用于单个捕获文件,并回答以下问题!
TCP 连接扫描的总次数是多少?
筛选:tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size > 1024扫描 TCP 端口 80 使用的是哪种扫描类型?
有多少条“UDP 关闭端口”消息?
筛选:icmp.type == 3 and icmp.code == 355-70端口范围内的哪个UDP端口是开放的?
筛选:udp.port in {55..70}
注意,这里查看的是端口开放,看他目的地端口,然后连接成功的,而不是看个数哈,别搞错了
ARP投毒攻击和中间人攻击!
ARP欺骗/中和攻击(又称中间人攻击)
ARP协议,即地址解析协议(ARP),是负责允许设备在网络中识别自身身份的技术。地址解析协议投毒(也称为ARP欺骗或中间人攻击(MITM))是一种攻击,它通过向默认网关发送恶意ARP数据包来干扰/操纵网络。其最终目的是篡改“IP地址到MAC地址表”,并嗅探目标主机的网络流量。
有很多工具可用于发起ARP攻击。然而,这种攻击的思路是固定的,因此只要了解ARP协议的工作流程和Wireshark的使用技巧,就很容易检测到此类攻击。
ARP分析简述:
- 在本地网络上运行
- 实现 MAC 地址之间的通信
- 这不是一个安全的协议
- 不是可路由协议
- 它没有身份验证功能
- 常见模式有请求与响应、公告和免费数据包。
在调查流量之前,我们先来看一些合法和可疑的ARP数据包。合法的请求类似于图中所示:一个广播请求,询问是否有可用主机使用某个IP地址,以及来自使用该IP地址的主机的回复。
笔记Wireshark过滤器全球搜索- arp“ ARP ”选项,用于获取唾手可得的成果:
- 操作码 1:ARP请求。
- 操作码 2:ARP响应。
- 亨特:ARP扫描
- 调查:可能检测到ARP中毒
- 搜寻:可能检测到ARP泛洪攻击:- arp.opcode == 1
- arp.opcode == 2
- arp.dst.hw_mac==00:00:00:00:00:00
- arp.duplicate-address-detected or arp.duplicate-address-frame
- ((arp) && (arp.opcode == 1)) && (arp.src.hw_mac == target-mac-address)ARP请求
ARP应答
可疑情况是指针对特定 IP 地址出现两个不同的ARP响应(冲突)。在这种情况下,Wireshark 的专家信息选项卡会向分析人员发出警告。但是,它只会显示重复值的第二个实例以突出显示冲突。因此,如何从合法数据包中识别恶意数据包是分析人员面临的挑战。下图展示了一个可能的 IP 地址欺骗案例。
了解网络架构并检查特定时间段内的流量有助于发现异常。作为分析师,您应该在继续下一步之前记录下您的发现。这将有助于您保持条理清晰,并便于关联后续发现。请看下图;这里存在冲突;以“b4”结尾的MAC地址构造了一个ARP请求,其IP地址为“192.168.1.25”,然后声称自己拥有“192.168.1.1”的IP地址。
[table][tr]笔记检测记录发现[/tr][tr][td]可能存在匹配的 IP 地址。[/td][td]1. 通过 MAC 地址公布的 IP 地址。[/td][td]- MAC地址:00:0c:29:e2:18:b4
- IP地址:192.168.1.25[/td][/tr][tr][td]可能是ARP欺骗攻击。[/td][td]两个 MAC 地址声称拥有同一个 IP 地址 (192.168.1.1)。IP
地址“192.168.1.1”可能是一个网关地址。[/td][td]- MAC1: 50:78:b3:f3
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |