.. | ||
dnscat-exfiltration.md | ||
README.md | ||
usb-keyboard-pcap-analysis.md | ||
usb-keystrokes.md | ||
wifi-pcap-analysis.md | ||
wireshark-tricks.md |
Pcap 检查
从零到英雄学习 AWS 黑客技术,通过 htARTE (HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想在 HackTricks 中看到您的公司广告 或 下载 HackTricks 的 PDF,请查看订阅计划!
- 获取 官方 PEASS & HackTricks 商品
- 发现 PEASS 家族,我们独家的 NFTs 集合
- 加入 💬 Discord 群组 或 telegram 群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
RootedCON 是 西班牙 最重要的网络安全活动,也是 欧洲 最重要的活动之一。以 推广技术知识 为使命,这个大会是技术和网络安全专业人士的热点聚集地。
{% embed url="https://www.rootedcon.com/" %}
{% hint style="info" %} 关于 PCAP 与 PCAPNG 的说明:PCAP 文件格式有两个版本;PCAPNG 是更新的版本,不是所有工具都支持。您可能需要使用 Wireshark 或其他兼容工具将 PCAPNG 文件转换为 PCAP,以便在某些其他工具中使用。 {% endhint %}
在线工具用于 pcaps
- 如果您的 pcap 头部损坏,您应该尝试使用以下工具进行修复:http://f00l.de/hacking/pcapfix.php
- 在 PacketTotal 中提取信息并搜索 pcap 中的恶意软件
- 使用 www.virustotal.com 和 www.hybrid-analysis.com 搜索恶意活动
提取信息
以下工具对于提取统计数据、文件等很有用。
Wireshark
{% hint style="info" %} 如果您要分析 PCAP,基本上必须知道如何使用 Wireshark {% endhint %}
您可以在以下位置找到一些 Wireshark 技巧:
{% content-ref url="wireshark-tricks.md" %} wireshark-tricks.md {% endcontent-ref %}
Xplico 框架
Xplico (仅限 linux) 可以分析 pcap 并从中提取信息。例如,Xplico 可以从 pcap 文件中提取每封电子邮件(POP、IMAP 和 SMTP 协议)、所有 HTTP 内容、每个 VoIP 呼叫(SIP)、FTP、TFTP 等。
安装
sudo bash -c 'echo "deb http://repo.xplico.org/ $(lsb_release -s -c) main" /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 791C25CE
sudo apt-get update
sudo apt-get install xplico
运行
/etc/init.d/apache2 restart
/etc/init.d/xplico start
访问 127.0.0.1:9876,使用凭证 xplico:xplico
然后创建一个新案例,在案例中创建一个新会话并上传 pcap 文件。
NetworkMiner
像 Xplico 一样,它是一个分析和从 pcaps 提取对象的工具。它有一个免费版本,你可以在这里 下载。它适用于Windows。
这个工具也有助于从数据包中获取其他分析信息,以便能够以更快速的方式了解正在发生的事情。
NetWitness Investigator
你可以在这里下载 NetWitness Investigator (它适用于 Windows)。
这是另一个有用的工具,它分析数据包并以有用的方式排序信息,以便了解内部发生的事情。
BruteShark
- 提取和编码用户名和密码(HTTP、FTP、Telnet、IMAP、SMTP...)
- 提取认证哈希并使用 Hashcat 破解(Kerberos、NTLM、CRAM-MD5、HTTP-Digest...)
- 构建视觉网络图(网络节点和用户)
- 提取 DNS 查询
- 重建所有 TCP 和 UDP 会话
- 文件雕刻
Capinfos
capinfos capture.pcap
Ngrep
如果您在 pcap 中寻找某些东西,您可以使用 ngrep。以下是使用主要过滤器的示例:
ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"
文件提取
使用常见的文件提取技术可以从pcap中提取文件和信息:
{% content-ref url="../partitions-file-systems-carving/file-data-carving-recovery-tools.md" %} file-data-carving-recovery-tools.md {% endcontent-ref %}
捕获凭证
您可以使用像 https://github.com/lgandx/PCredz 这样的工具从pcap或实时接口解析凭证。
RootedCON 是西班牙最重要的网络安全活动,也是欧洲最重要的活动之一。以推广技术知识为使命,这个大会是技术和网络安全专业人士在各个学科的沸腾交汇点。
{% embed url="https://www.rootedcon.com/" %}
检查漏洞/恶意软件
Suricata
安装和设置
apt-get install suricata
apt-get install oinkmaster
echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz" >> /etc/oinkmaster.conf
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules
检查 pcap
suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log
YaraPcap
YaraPCAP 是一个工具,它可以:
- 读取 PCAP 文件并提取 Http 流。
- 对任何压缩流进行 gzip 解压。
- 使用 yara 扫描每个文件。
- 编写 report.txt 报告。
- 可选地将匹配的文件保存到一个目录中。
恶意软件分析
检查是否能找到已知恶意软件的任何指纹:
{% content-ref url="../malware-analysis.md" %} malware-analysis.md {% endcontent-ref %}
Zeek
Zeek 是一个被动的、开源的网络流量分析器。许多操作员使用 Zeek 作为网络安全监控器(NSM),以支持对可疑或恶意活动的调查。Zeek 还支持安全领域之外的广泛流量分析任务,包括性能测量和故障排除。
基本上,由 zeek
创建的日志不是 pcaps。因此,您需要使用其他工具来分析包含 pcaps 信息的日志。
连接信息
#Get info about longest connections (add "grep udp" to see only udp traffic)
#The longest connection might be of malware (constant reverse shell?)
cat conn.log | zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p proto service duration | sort -nrk 7 | head -n 10
10.55.100.100 49778 65.52.108.225 443 tcp - 86222.365445
10.55.100.107 56099 111.221.29.113 443 tcp - 86220.126151
10.55.100.110 60168 40.77.229.82 443 tcp - 86160.119664
#Improve the metrics by summing up the total duration time for connections that have the same destination IP and Port.
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += $5 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10
10.55.100.100 65.52.108.225 443 tcp 86222.4
10.55.100.107 111.221.29.113 443 tcp 86220.1
10.55.100.110 40.77.229.82 443 tcp 86160.1
#Get the number of connections summed up per each line
cat conn.log | zeek-cut id.orig_h id.resp_h duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2] += $3; count[$1 FS $2] += 1 } END{ for (key in arr) printf "%s%s%s%s%s\n", key, FS, count[key], FS, arr[key] }' | sort -nrk 4 | head -n 10
10.55.100.100 65.52.108.225 1 86222.4
10.55.100.107 111.221.29.113 1 86220.1
10.55.100.110 40.77.229.82 134 86160.1
#Check if any IP is connecting to 1.1.1.1
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto service | grep '1.1.1.1' | sort | uniq -c
#Get number of connections per source IP, dest IP and dest Port
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += 1 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10
# RITA
#Something similar can be done with the tool rita
rita show-long-connections -H --limit 10 zeek_logs
+---------------+----------------+--------------------------+----------------+
| SOURCE IP | DESTINATION IP | DSTPORT:PROTOCOL:SERVICE | DURATION |
+---------------+----------------+--------------------------+----------------+
| 10.55.100.100 | 65.52.108.225 | 443:tcp:- | 23h57m2.3655s |
| 10.55.100.107 | 111.221.29.113 | 443:tcp:- | 23h57m0.1262s |
| 10.55.100.110 | 40.77.229.82 | 443:tcp:- | 23h56m0.1197s |
#Get connections info from rita
rita show-beacons zeek_logs | head -n 10
Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top Intvl,Top Size,Top Intvl Count,Top Size Count,Intvl Skew,Size Skew,Intvl Dispersion,Size Dispersion
1,192.168.88.2,165.227.88.15,108858,197,860,182,1,89,53341,108319,0,0,0,0
1,10.55.100.111,165.227.216.194,20054,92,29,52,1,52,7774,20053,0,0,0,0
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0
DNS 信息
#Get info about each DNS request performed
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers
#Get the number of times each domain was requested and get the top 10
cat dns.log | zeek-cut query | sort | uniq | rev | cut -d '.' -f 1-2 | rev | sort | uniq -c | sort -nr | head -n 10
#Get all the IPs
cat dns.log | zeek-cut id.orig_h query | grep 'example\.com' | cut -f 1 | sort | uniq -c
#Sort the most common DNS record request (should be A)
cat dns.log | zeek-cut qtype_name | sort | uniq -c | sort -nr
#See top DNS domain requested with rita
rita show-exploded-dns -H --limit 10 zeek_logs
其他 pcap 分析技巧
{% content-ref url="dnscat-exfiltration.md" %} dnscat-exfiltration.md {% endcontent-ref %}
{% content-ref url="wifi-pcap-analysis.md" %} wifi-pcap-analysis.md {% endcontent-ref %}
{% content-ref url="usb-keystrokes.md" %} usb-keystrokes.md {% endcontent-ref %}
RootedCON 是西班牙最重要的网络安全活动,也是欧洲最重要的活动之一。以推广技术知识为使命,这个大会是技术和网络安全专业人士在各个学科的沸腾交汇点。
{% embed url="https://www.rootedcon.com/" %}
从零开始学习 AWS 黑客技术,成为 htARTE (HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您希望在 HackTricks 中看到您的公司广告或下载 HackTricks 的 PDF 版本,请查看订阅计划!
- 获取 官方 PEASS & HackTricks 商品
- 发现 PEASS 家族,我们独家的 NFTs 收藏
- 加入 💬 Discord 群组 或 telegram 群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。