吉沃运营专员 发表于 2022-3-23 17:50:19

数据包分析

一、数据包捕获的基础知识
数据包捕获的过程为捕获和存储原始网络流量,以供后面分析。这是一种从给定源捕获所有网络流量的格式,并按时间和数据包编号对其进行组织,以便从内容到元数据的所有流量细节都可以解析以进行分析。

原始数据包捕获是安全分析的主要内容,因为它们可以是完整的日志源,可能存储在给定时间通过设备/接口的所有流量。这种详细的细节级别可以提供其他日志源无法提供的答案。数据包捕获的缺点是存储,从给定设备/接口捕获所有数据时,数据可能会在短时间内达到令人难以置信的数量,这在使用有限的存储容量时可能会导致问题。


[*]PCAP - 数据包捕获的标准文件格式;
[*]BPF - 代表伯克利包过滤器,BPF 语法用于 Wireshark 等数据包分析器中,用于在网络分析期间从捕获中过滤掉特定数据包,也可通过 tcpdump 等工具在 Linux 终端中使用;
[*]Libpcap - 其他程序用来读取数据包捕获文件的最常用库;

二、捕获和索引

[*]Awesome Collection: Pcap Tools
[*]Arkime (Moloch) - Arkime 增强了安全基础设施,以标准 PCAP 格式存储和索引网络流量,提供快速、索引访问
[*]Stenographer by Google - 一个完整的数据包捕获实用程序,用于将数据包缓冲到磁盘以进行入侵检测和事件响应。提供了 NIC 到磁盘数据包写入的高性能实现,在磁盘填满时处理删除这些文件,并提供快速轻松地读取特定数据包集的方法
[*]CapMe - 用于与数据包捕获轻松交互的 Web 界面,位于 Security Onion 内
[*]NTOP - Handy 一个灵活的工具堆栈,可以创建数据包捕获、网络流日志和网络探测器,以记录不同类型的流量
[*]Dumpcap - Wireshark 附带的工具,用于简单地捕获数据包数据并写入磁盘
[*]Daemon Logger - 简单的数据包记录和 soft tap 守护程序
[*]Netsniff-ng - 基于数据包 mmap(2) 机制的快速网络分析器。它可以将 pcap 文件记录到光盘、重放它们,还可以进行离线和在线分析
[*]Attacking Network Protocols: Ch.2 Capturing Application Traffic - pg.11

三、解密加密数据包
这可以通过以下几种方式完成:

Man-in-the-middle (MITM)


[*]MITM Through SSLStrip
[*]MITM Through mitmproxy

Using the (Pre)-Master-Secret SSLKEYLOGFILE Using an RSA Private Key

四、Wireshark
使用最广泛的网络协议分析器 Wireshark,它可以让你在微观层面上查看网络上发生的事情,并且是许多商业和非营利企业、政府机构和教育机构的事实上 (通常是法律上) 的标准。


[*]Filter cheatsheet - https://packetlife.net/media/library/13/Wireshark_Display_Filters.pdf
[*]Display guide - https://311hrs.wordpress.com/2016/04/02/costumize-column-display-in-wireshark/
[*]https://hackertarget.com/wireshark-tutorial-and-cheat-sheet/
[*]https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/
[*]General Wireshark Filter Reference
[*]Full Wireshark Display Filter Reference
[*]Customizing Wireshark – Changing Your Column Display
[*]Using Wireshark – Display Filter Expressions
[*]Using Wireshark: Identifying Hosts and Users
[*]Using Wireshark: Exporting Objects from a Pcap
[*]Wireshark Tutorial: Examining Trickbot Infections
[*]Wireshark Tutorial: Examining Ursnif Infections
[*]https://www.hackingarticles.in/wireshark-for-pentesters-a-beginners-guide/
[*]Operator Handbook: Wireshark - pg. 426
[*]Wireshark for NSM Analysis - Applied Network Security Monitoring, pg.363

视频演示:https://www.youtube.com/watch?v=6ywAHXEOHZE

五、TShark
tshark - Wireshark 的命令行版本


[*]Beginners Guide to TShark (Part 1)
[*]Beginners Guide to TShark (Part 2)
[*]Beginners Guide to TShark (Part 3)
[*]https://tryhackme.com/room/tshark

5.1 基础命令

[*]#tshark -r
[*]#tshark -r -Y

[*]-Y 选项指定一个显示过滤器,以帮助组织数据包捕获并过滤掉特定数据,例如协议或主机信息。

[*]#tshark- r -Y -T fields -e

[*]可以使用 -tfields 和 -e 选项进一步过滤数据包,有了这些,就可以使用 Wireshark 语法指定不同的过滤器层。-T 确定 tshark 文本输出的格式,-e 将允许您指定要打印的数据包的不同字段。

[*]#tshark -r tcp.port == 80 || udp.port == 80

[*]显示过滤器也使用 BPF 语法,可以在捕获之后应用,并且在正确使用时非常有用。显示/BPF 过滤器在参数中使用原语 (&&、||、!)

[*]https://linux.die.net/man/1/tshark
[*]https://hackertarget.com/tshark-tutorial-and-filter-examples/
[*]BTFM: tshark - pg. 43
[*]Operator Handbook: TShark - pg.304
[*]Tshark for Packet Analysis - Applied Network Security Monitoring, pg.359

5.2 合并多个 pcap 文件
Note: mergecap
mergecap /<directory>/*.pcap -w /<directory>/capture.pcap
5.3 列出 Pcap 中的唯一 IP 源
tshark -T fields -r 'capture.pcap' -e ip.src | sort -u
5.4 列出 HTTP 流量的唯一 IP 源和目标
tshark -T fields -r 'capture.pcap' -e ip.src -e ip.dst -Y "http" | sort -u
5.5 WiFi 上的实时 DNS 请求和响应
tshark -i wlan0 -T fields -f "src port 53" -n -e dns.qry.name -e dns.resp.addr       
5.6 从支持的协议中提取所有对象/文件
note: 这将创建一个名为 "exported" 的文件夹并将结果放在那里
tshark -r 'capture.pcap' --export-objects http,exported
tshark -r 'capture.pcap' --export-objects dicom,exported
tshark -r 'capture.pcap' --export-objects imf,exported
tshark -r 'capture.pcap' --export-objects smb,exported
tshark -r 'capture.pcap' --export-objects tftp,exported
5.7 列出访问的 URI
tshark -T fields -r capture.pcap -e http.host -e ip.dst -e http.request.full_uri -Y "http.request"
5.8 获取 HTTP POST 请求并输出到 JSON
tshark -T json -r capture.pcap -Y "http.request.method == POST"
六、TCPDump
TCPDump - tcpdump 是一个命令行数据包分析工具


[*]Comprehensive Guide to tcpdump (Part 1)
[*]Comprehensive Guide to tcpdump (Part 2)
[*]Comprehensive Guide to tcpdump (Part 3)

6.1 基础命令

[*]#tcpdump -r host

[*]显示传入和传出指定 IP 地址的所有数据包

[*]#tcpdump -r -w

[*]将结果输出到指定的文件类型,例如 csv 或 txt

6.2 过滤流量

[*]使用 awk and sort

[*]#sudo tcpdump -n -r File.pcap | awk -F" " '{print $3}' | sort | uniq -c | head

[*]-n skip dns resolution
[*]-r read from pcap file
[*]awk - printing out desired output (the third space-separated field)
[*]sort and uniq -c - sort and count the number of times the first appears in the capture.
[*]head - show only the first 10 lines of the output
[*]Use "src host ", "dst host ", "port "
[*]https://www.tcpdump.org/manpages/tcpdump.1.html
[*]http://alumni.cs.ucr.edu/~marios/ethereal-tcpdump.pdf
[*]https://github.com/SergK/cheatsheat-tcpdump/blob/master/tcpdump_advanced_filters.txt
[*]https://www.andreafortuna.org/technology/networking/tcpdump-a-simple-cheatsheet/
[*]TCPDump for NSM Analysis - Applied Network Security Monitoring, pg.355

视频演示:https://www.youtube.com/watch?v=1lDfCRM6dWk

七、NGREP
命令行数据包分析工具,使用户能够在网络层搜索单词和短语


[*]基本使用

[*]#ngrep -I
[*]#ngrep -I ngrep.pcap "POST"

[*]Filters - ngrep 理解 BPF 语法,可以与模式匹配一起应用

[*]#ngrep -I ngrep.pcap "POST" host '192.168.1.1'

八、在线数据包捕获分析器

[*]APackets -可以分析 pcap 文件以查看 HTTP 标头和数据、提取传输的二进制文件、文件、办公文档、图片的 Web 实用程序;
[*]PacketTotal - PacketTotal 是一个用于分析、分类和共享 .pcap 文件的引擎。该工具在构建时考虑到了 InfoSec 社区,并在恶意软件分析和网络取证中具有应用程序;

九、Powershell 数据包捕获
PCAP 集合

note:脚本和 pcap 应位于 C:\Windows\System32 或用户目录下
Invoke-Command -ScriptBlock {ipconfig} -Session $s1

Invoke-Command -ScriptBlock {
$url = "https://raw.githubusercontent.com/nospaceships/raw-socket-sniffer/master/raw-socket-sniffer.ps1"
Invoke-WebRequest -Uri $url `
        -OutFile "raw-socket-sniffer.ps1"
PowerShell.exe -ExecutionPolicy bypass .\raw-socket-sniffer.ps1 `
        -InterfaceIp "
        -CaptureFile "capture.cap"
        } -Session $s1
十、其它工具

[*]Brim -用于高效搜索大型数据包捕获和 Zeek 日志的桌面应用程序;
[*]BruteShark - BruteShark 是一种网络取证分析工具 (NFAT),它对网络流量 (主要是 PCAP 文件,但它也能够直接从网络接口进行实时捕获) 进行深度处理和检查。包括:密码提取、构建网络地图、重建 TCP 会话、提取加密密码的哈希,甚至将其转换为 Hashcat 格式以执行离线蛮力攻击;
[*]Net-creds -从接口或 pcap 嗅探敏感数据
[*]PCredz -该工具从 pcap 文件或实时界面中提取信用卡号、NTLM (DCE-RPC、HTTP、SQL、LDAP 等)、Kerberos (AS-REQ 预授权类型 23)、HTTP Basic、SNMP、POP、SMTP、FTP、IMAP 等;
[*]chaosreader - Chaosreader 跟踪 TCP/UDP/其他会话并从 snoop 或 tcpdump 日志 (或其他 libpcap 兼容程序) 中获取应用程序数据。这是一种 "any-snarf" 程序,因为它将从网络流量日志中捕获的数据中获取 telnet 会话、FTP 文件、HTTP 传输(HTML、GIF、JPEG 等)和 SMTP 电子邮件;

十一、资源

[*]用于分析数据包捕获的 Sans cheatsheets - https://wiki.sans.blue/#!Packets.md
[*]https://www.sans.org/reading-room/whitepapers/tools/extracting-files-network-packet-captures-36562
[*]Detecting Network Attacks with Wireshark - InfosecMatter
[*]Hack-the-box Packet Analysis Course - https://academy.hackthebox.eu/course/preview/intro-to-network-traffic-analysis
[*]https://dfirmadness.com/case-001-pcap-analysis/
[*]Packet Analysis - Applied Network Security Monitoring, pg.341

页: [1]
查看完整版本: 数据包分析