• wireshark流量分析


    wireshark流量分析

    着色规则:
    在这里插入图片描述

    显示自定义列

    wireshark 默认显示列
    No:编号,即pacp开始的帧号
    Time:时间,分解为纳秒
    Source:源地址,通常为IPv4、IPv6、以太网地址
    Destination:目的地址,通常为IPv4、IPv6、以太网地址
    Protocol:协议,{ 在以太⽹帧、IP包或TCP段(ARP、DNS、TCP、HTTP等)中使⽤的协议)}
    length:帧的⻓度,单位为字节

    右键列标题
    1.取消勾选可以隐藏列
    2.列首选项,点击加号、减号 新增或删除列
    在这里插入图片描述
    在这里插入图片描述
    3.自定义新增列
    Wireshark 允许我们根据帧详细信息窗口中的几乎任何值添加自定义列。
    将HTTP和HTTPS流量中使用的域名添加到Wireshark列显示
    要快速查找 HTTP 流量中使用的域,请使用 Wireshark 过滤器 http.request 并检查帧详细信息窗口。在详细信息host项右键 apply as column
    要查找加密 HTTPS 流量中使用的域,请使用 Wireshark 过滤器 ssl.handshake.type == 1 并检查帧详细信息窗口。
    在这里插入图片描述
    4.将时间更改为 UTC 要更改时间显示格式,请转到“视图”菜单,操作到“时间显示格式”,然后将值从“自捕获开始以来的秒数”更改为“UTC 日期和时间”。使用相同的菜单路径将分辨率从“自动”更改为“秒”。图 显示了这些选项的菜单路径。
    在这里插入图片描述

    过滤器

    如果您在显示过滤器中键入任何内容,Wireshark会根据您键入的文本提供建议列表。虽然显示筛选器栏保持红色,但尚未接受表达式。如果显示筛选器栏变为绿色,则表达式已被接受,应正常工作。如果显示筛选器栏变为黄色,则表达式已被接受,但它可能无法按预期工作。

    规则

    1.表达式可以使用布尔表达式
    Equals: == or eq
    And: && or and
    Or: || (double pipe) or or
    less than 小于 < lt 
    小于等于 le
    等于 eq
    大于 gt
    大于等于 ge
    不等 ne
    2.http过滤
    http.request.method == “GET”
    http.request.method == “POST”
    http.request.uri == “/img/logo-edu.gif”
    http contains “GET”
    http contains “HTTP/1.”
    3.过滤ip
    ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107
    ip.addr eq 192.168.1.107 
    4.过滤端口
    tcp.port eq 80 // 不管端口是来源的还是目标的都显示
    tcp.port == 80
    tcp.dstport == 80 // 只显tcp协议的目标端口80
    tcp.srcport == 80 // 只显tcp协议的来源端口80
    5.过滤协议
    例子:
    tcp
    udp
    arp
    icmp
    http
    smtp
    ftp
    dns
    msnms
    ip
    ssl
    oicq
    bootp
    等等
    排除arp包,如!arp   或者   not arp
    6.tcp参数过滤
    tcp.flags 显示包含TCP标志的封包。
    tcp.flags.syn == 0x02     显示包含TCP SYN标志的封包。
    tcp.window_size == 0 && tcp.flags.reset != 1
    7.包内容过滤
    matches(匹配)和contains(包含某字符串)语法
    ip.src==192.168.1.107 and udp[8:5] matches “\\x02\\x12\\x21\\x00\\x22″      
    ip.src==192.168.1.107 and udp contains 02:12:21:00:22
    ip.src==192.168.1.107 and tcp contains “GET”
    udp contains 7c:7c:7d:7d 匹配payload中含有0x7c7c7d7d的UDP数据包,不一定是从第一字节匹配。
    8.wireshark利用正则表达式
    wireshark过滤http中jpg,png,zip数据:
    http.request and !((http.request.full_uri matches "http://.*\.jpg.*") or(http.request.full_uri matches "http://.*\.png.*") or(http.request.full_uri matches "http://.*\.zip.*"))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

    按照数据包内容过滤。假设我要以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。如下
    在这里插入图片描述
    右键->Apply as Filter->Selected。后面条件表达式就需要自己填写。如下我想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains 后面跟上内容。

    指定值排除时,请勿在筛选器表达式中使用 !=。例如,如果要指定不包含 IP 地址 192.168.10.1 的所有流量,请使用 !(ip.addr eq 192.168.10.1) 而不是 ip.addr != 192.168.10.1

    流量如果包括在正常活动期间通过 UDP 端口 1900 的 HTTP 请求。通过 UDP 端口 1900 的此 HTTP 流量是简单服务发现协议 (SSDP)。SSDP是用于发现即插即用设备的协议,它与正常的Web流量无关。因此,我使用以下表达式将其过滤掉
    (http.request 或 ssl.handshake.type == 1) and !(udp.port eq 1900)
    您还可以使用以下过滤器并实现相同的结果:(http.request 或 ssl.handshake.type eq 1) and !(SSDP)

    在某些情况下,受感染的主机可能试图连接已脱机或拒绝TCP连接的服务器。这些尝试的连接可以通 过TCP SYN段显示。由此,进一步,添加过滤规则:tcp.flags eq 0x0002
    最终语句:(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)

    中间的黑色部分代表:通过TCP协议8443端口向217.165.2.133发出同步信号,并未返回相应信号。
    在这里插入图片描述在过滤器中包含 TCP SYN 段可能会显示受感染主机与其他服务器的连接尝试失败。

    过滤其他类型的感染流量

    某些情况,受害者主机感染后,流量不会基于web,受感染的主机将联系命令和控制 (C2) 服务器。这些服务器可以直接托管在 IP 地址上,也可以使用域名托管在服务器上。一些感染后活动,如由Nanocore远程访问工具(RAT)引起的C2流量,不是HTTP或HTTPS/SSL/TLS流量。

    因此,在查看 pcap 时添加 DNS 活动,以查看这些域中的任何一个在流量中是否处于活动状态。这将生成以下筛选器表达式:
    从 www.mercedes-club-bg[.] 下载的 Nanocore RAT 可执行文件
    在这里插入图片描述
    初始下载之后是尝试与franex.sytes的TCP连接
    在这里插入图片描述
    将 DNS 流量与 TCP 活动相关联。
    在这里插入图片描述
    分析ftp_pcap
    受感染的 Windows 主机登录到 totallyanonymous.com 的 FTP 帐户,
    在这里插入图片描述

    追踪tcp流,检索名为 fc32.exe 和 o32.exe 等文件
    在这里插入图片描述
    之后在登录ftp服务器,上传6R7MELYD6文件
    在这里插入图片描述
    6R7MELYD6文件包含从受感染的windows主机窃取的密码数据,未加密。
    在这里插入图片描述
    除了 FTP 之外,恶意软件还可以使用其他常见协议来处理恶意流量。垃圾邮件机器人恶意软件可以将受感染的主机变成垃圾邮件机器人,旨在每分钟发送数十到数百封电子邮件。其特点是向各种邮件服务器发出多个 DNS 请求,然后是 TCP 端口 25、465、587 或与电子邮件流量关联的其他 TCP 端口上的 SMTP 流量。

    pacp分析
    对邮件服务器的dns查询
    在这里插入图片描述
    STARTTLS 可能是加密的smtp数据
    在这里插入图片描述
    近年来,来自垃圾邮件插件的电子邮件流量很可能是加密的SMTP。但是,您可以通过在常见的电子邮件标题行中搜索字符串来找到未加密的 SMTP 通信,例如:

    smtp contains "From: "
    smtp contains "Message-ID: "	
    smtp contains "Subject: "
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述
    点击+ 保存过滤器
    在这里插入图片描述

    识别主机和用户

    来自 DHCP 流量的主机信息
    来自 NetBIOS 名称服务 (NBNS) 流量的主机信息
    来自 HTTP 流量的设备型号和操作系统
    来自 Kerberos 流量的 Windows 用户帐户
    
    • 1
    • 2
    • 3
    • 4

    dhcp

    在这里插入图片描述
    在这里插入图片描述

    nbns流量

    pcap中可能没有dhcp流量,可以使用NBNS流量来识别运行Microsoft Windows的计算机或运行MacOS的Apple主机的主机名

    显示分配给 IP 地址的主机名的 NBNS 流量的帧详细信息。
    在这里插入图片描述

    http

    过滤:nbns or http
    主机名JANET-WORK-PC<00> 对应IP192.168.1.97
    在这里插入图片描述
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36
    代表 Google Chrome 网络浏览器版本 72.0.3626[.]81运行在微软的Windows 7 x64操作系统上。

    在这里插入图片描述
    各大浏览器UserAgent总结:https://cloud.tencent.com/developer/article/1758440

    Windows NT 5.1: Windows XP
    Windows NT 6.0: Windows Vista
    Windows NT 6.1: Windows 7
    Windows NT 6.2: Windows 8
    Windows NT 6.3: Windows 8.1
    Windows NT 10.0: Windows 10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    使用来自 Windows 主机的基于 HTTP 的 Web 浏览流量,您可以确定操作系统和浏览器。来自 Android 设备的相同类型的流量可以显示设备的品牌名称和型号。
    此 pcap 来自使用 172.16.4.119 的内部 IP 地址的 Android 主机

    在这里插入图片描述
    Android 7.1.2,它是 2017 年 210 月发布的 Android 操作系统的旧版本。LM-X4APM 表示此安卓设备的型号。快速的谷歌搜索显示该型号是LG Phoenix <> Android智能手机。

    来自iPhone或其他Apple移动设备的HTTP流量的用户代理行将为您提供操作系统,并为您提供设备类型。但是,它不会给你一个型号。我们只能确定苹果设备是iPhone,iPad还是iPod。我们无法确定型号。

    http_iphone 流量分析

    选择对 web.mta[.] 的第一个 HTTP 请求的帧
    iPhone;CPU iPhone OS 12_1_3 like Mac OS X。这表明苹果设备是iPhone,并且运行的是iOS 12.1.3。

    在这里插入图片描述
    关于HTTP流量和用户代理字符串的最后一点说明:并非所有HTTP活动都是Web浏览流量。某些 HTTP 请求不会显示浏览器或操作系统。搜索流量以标识主机时,可能需要尝试多个不同的 HTTP 请求,然后才能查找 Web 浏览器流量。

    由于越来越多的网站使用HTTPS,因此这种主机识别方法可能很困难。**HTTP 标头和内容在 HTTPS 流量中不可见。**但是,对于那些有幸在调查期间找到 HTTP Web 浏览流量的用户,此方法可以提供有关主机的更多信息。

    Kerberos 流量

    此 pcap 来自以下 AD 环境中的 Windows 主机:

    Domain: happycraft[.]org
    Network segment: 172.16.8.0/24 (172.16.8[.]0 - 172.16.8[.]255)
    Domain controller IP: 172.16.8[.]8
    Domain controller hostname: Happycraft-DC
    Segment gateway: 172.16.8[.]1
    Broadcast address: 172.16.8[.]255
    Windows client: 172.16.8[.]201
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    nbns 主机名JOHNSON-PC<00> 对应IP:172.16.8.201
    在这里插入图片描述
    对于 Active Directory (AD) 环境中的 Windows 主机,我们可以从 Kerberos 流量中找到用户帐户名。

    kerberos.CNameString过滤 点击第一帧,将CNameString应用为列
    在这里插入图片描述
    主机名 JOHNSON-PC$ 已$结尾,用户名theresa.johnson
    或者 kerberos.CNameString and !(kerberos.CNameString contains $) 过滤掉主机名
    在这里插入图片描述
    Kerberos 是一种基于加密 Ticket 的身份认证协议。Kerberos 主要由三个部分组成:Key Distribution Center (即KDC)、Client 和 Service。

    在这里插入图片描述

    从pcap中导出对象

    在这里插入图片描述

    从 HTTP 流量导出对象
    从 SMB 流量导出对象
    从 SMTP 通信中导出电子邮件
    从 FTP 流量导出文件
    
    • 1
    • 2
    • 3
    • 4

    http提取

    在这里插入图片描述
    文件-导出对象-http
    在这里插入图片描述
    导出之后确认文件类型,计算hash后vt搜索确认大概信息,是否为恶意文件。

    http-网页提取

    除了Windows可执行文件或其他恶意软件文件外,我们还可以提取网页。

    背景:某人在虚假登录页面上输入登录凭据的流量PayPal,在查看来自网络钓鱼网站的网络流量时,我们可能希望查看网络钓鱼网页的外观。我们可以使用导出 HTTP 对象菜单提取初始 HTML 页面,如图 6 所示。然后,我们可以在隔离环境中通过 Web 浏览器查看它,

    文件-导出对象-http 提取初始html页面
    在这里插入图片描述
    在这里插入图片描述

    smb导出对象

    某些恶意软件使用 Microsoft 的服务器消息块 (SMB) 协议在基于 Active Directory (AD) 的网络中传播。一种名为Trickbot的银行木马早在2017年<>月就增加了一个蠕虫模块,该模块使用基于EternalBlue的漏洞通过SMB在网络中传播。我们今天继续发现这个Trickbot蠕虫模块的迹象。

    【100.00%】才能正确提取,任何小于 100% 的数字都表示网络流量中存在一些数据丢失,从而导致文件副本损坏或不完整。

    在这里插入图片描述

    smtp通信中提取电子邮件

    某些类型的恶意软件旨在将受感染的 Windows 主机变成垃圾邮件机器人。这些垃圾邮件插件每分钟发送数百封垃圾邮件或恶意电子邮件。在某些情况下,消息是使用未加密的SMTP发送的,我们可以从感染流量的pcap中导出这些消息。

    smtp.data.fragment 过滤
    在这里插入图片描述
    文件 --> 导出对象 --> IMF… 导出

    ftp中导出文件

    从 FTP 服务器检索恶意软件可执行文件,然后将来自受感染的 Windows 主机的信息发送回同一 FTP 服务器。
    用户名,密码登录ftp服务器,
    在这里插入图片描述
    RETR 五个Windows可执行文件的请求:q.exe,w.exe,e.exe,r.exe和t.exe
    STOR 大约每 18 秒请求将基于 html 的日志文件存储回同一 FTP 服务器

    在这里插入图片描述
    ftp-data 过滤

    我们不能使用 Wireshark 中的导出对象功能来导出这些对象。但是,我们可以从每个数据通道中跟踪TCP流。左键单击以 (SIZE q.exe) 结尾的任何行以选择其中一个 TCP 段。然后右键单击以显示一个菜单,并为 Follow --> TCP 流选择菜单路径。
    在这里插入图片描述
    ftp.request.command
    要查看通过 ftp 数据通道发送的关联文件,请使用过滤器ftp-data.command contains .html
    在这里插入图片描述
    每次将文件存储 (STOR) 到 FTP 服务器时,目标端口都会更改。第一次有 TCP 端口 52202。第二次具有 TCP 端口 57791。第三次有 TCP 端口 55045。第四次有57203。第五次有61099。

    **我们使用与以前相同的过程。不要关注文件名,而是关注 TCP 端口。使用端口 52202 跟踪任何 TCP 段的 TCP 流。**在 TCP 流窗口中,将“显示数据并将其另存为”更改为“原始”。然后保存文件。对通过 TCP 端口 57791 的 HTML 文件执行相同的操作。

    如果对所有五个 HTML 文件执行此操作,您会发现它们是完全相同的文件。这些基于文本的HTML文件包含有关受感染的Windows主机的数据,包括恶意软件发现的任何密码。
    在这里插入图片描述

  • 相关阅读:
    【ccf-csp题解】第30次csp认证-第三题-解压缩-字符串模拟
    详解MySQL事务日志——undo log
    spark3 spark-sql explain 命令的执行过程
    CogView中的Self Attention
    Heuristic (computer science)
    Hyper-v:在虚拟网络中启用 SR-IOV
    Oracle SQL优化(读懂执行计划 一)
    js设计模式之单例模式
    查询指定博物馆 易语言代码
    嵌套for循环在外层循环和内层循环中使用两个Executors.newCachedThreadPool缓存线程池执行操作
  • 原文地址:https://blog.csdn.net/weixin_45880501/article/details/136988805