Vorwort
Auch die Verkehrsanalyse ist ein häufiges Thema bei CTF-Wettbewerben. Die Teilnehmer erhalten in der Regel einen Datensatz aus Netzwerkdatenpaketen, die den Inhalt und die Details der Netzwerkkommunikation aufzeichnen. Die Aufgabe des Teilnehmers besteht darin, diese Pakete zu analysieren und nützliche Informationen wie Anmeldeinformationen, Verschlüsselungsalgorithmen, Schwachstellen-Exploits usw. zu identifizieren.
Werkzeuginstallation
Wireshark ist ein Open-Source-Tool zur Analyse von Netzwerkpaketen, das zur Erfassung, Analyse und Visualisierung des Netzwerkverkehrs verwendet wird. Es ist auf mehreren Plattformen verfügbar, einschließlich Windows, Mac und Linux, Tool-Download-Adresse
https://www.wireshark.org/download.html
Installieren Sie es einfach standardmäßig
Werkzeugeinführung
Sehen Sie sich die Liste der erfassten Pakete an
Demo-Traffic-Paket:
https://anonfiles.com/laS2l3v2zd/Alpha_1_pcapng
Besuchen Sie die Website zum Herunterladen
Dies ist das Dateiformat des Verkehrspakets
.pcapng
Doppelklicken Sie nach der Installation von Wireshark, um diese Datei zu öffnen
Die obere Spalte ist die Taskleiste, die untere ist das Suchfeld und die untere sind die Detailinformationen des Datenpakets und die Daten des Datenpakets.
Allgemeine Filterbefehle und Syntax
Protokollfilter:
tcp:显示所有TCP协议的数据包
udp:显示所有UDP协议的数据包
http:显示所有HTTP协议的数据包
dns:显示所有DNS协议的数据包
icmp:显示所有ICMP协议的数据包
Geben Sie „http“ in das Suchfeld ein, um den gesamten HTTP-Verkehr anzuzeigen. Das Gleiche gilt für andere.
IP-Adressfilterung:
ip.addr == 192.168.0.1:显示与指定IP地址相关的所有数据包
src host 192.168.0.1:显示源IP地址为指定地址的数据包
dst host 192.168.0.1:显示目标IP地址为指定地址的数据包
Hier filtern wir die Datenpakete, die sich auf 192.168.1.25ip beziehen
Nach der Filterung geht es um den Paketverkehr dieser IP.
Portfilterung:
tcp.port == 80:显示使用指定TCP端口的数据包
udp.port == 53:显示使用指定UDP端口的数据包
port 80:显示源或目标端口为指定端口的数据包
Filtern Sie den TCP-Port-80-Verkehr
Logische Operatoren:
and:使用AND逻辑运算符连接多个条件,例如 tcp and ip.addr == 192.168.0.1
or:使用OR逻辑运算符连接多个条件,例如 tcp or udp
not:使用NOT逻辑运算符排除满足条件的数据包,例如 not tcp
Filtern Sie TCP-Verkehr und Verkehrspakete mit der IP-Adresse 192.168.1.5 TCP und ip.addr == 192.168.1.5
Vergleichsoperatoren:
==:等于,例如 http.request.method == "POST"
!=:不等于,例如 ip.addr != 192.168.0.1
<、>:小于、大于,例如 tcp.len > 100
Filtern Sie das HTTP-Post-Anfrage-Traffic-Paket http.request.method == „POST“
Komplexe Filterung:
使用括号 () 来组合多个条件,例如 (tcp and port 80) or (udp and port 53)
使用复合条件进行筛选,例如 (tcp.flags.syn == 1 or tcp.flags.ack == 1) and ip.addr == 192.168.0.1
HTTP-Verkehrsanalyse
Demo-Traffic-Paket:
https://anonfiles.com/laS2l3v2zd/Alpha_1_pcapng
Besuchen Sie die Website zum Herunterladen
Klicken Sie auf die Protokollklassifizierung, um den Verkehr aller Protokolle in diesem Verkehrspaket anzuzeigen.
Es gibt UDP-Verkehr, IPv4-Verkehr, TCP-Verkehr und http-Verkehr. Wir wählen HTTP-Verkehrsdaten aus, klicken mit der rechten Maustaste und wählen
Sie können den gesamten HTTP-Verkehr in diesem Verkehrspaket sehen
Wir wählen zufällig ein Paket aus und verfolgen seinen HTTP-Verkehr, um detaillierte Daten anzuzeigen
Unten können Sie den SQL-Injection-Verkehr deutlich sehen
Danach lud er seinen eigenen PHP-Ein-Satz-Trojaner hoch und stellte eine Verbindung her, um den Befehl auszuführen
Klicken Sie mit der rechten Maustaste, um dieses Verkehrspaket zu verfolgen
Dieser Ein-Satz-Trojaner verschlüsselt den Ausführungsinhalt und verwendet die Base64-Verschlüsselung. Wir kopieren die verschlüsselten Parameter und betreten die Website zum Entschlüsseln.
https://base64.us/
Er hat die Dateien im Verzeichnis C:\phpStudy\WWW\ abgefragt und wir können das Echo sehen
Klicken Sie unten rechts auf „Zurück“, um mit der Verfolgung von Verkehrspaketen fortzufahren
Im letzten Ein-Satz-Trojaner-Verkehr können Sie sehen, dass er eine Datei namens flag.zip exportiert hat
Da die Datei nicht verschlüsselt ist, können wir auch den Inhalt von flag.txt sehen
Der Text in der Datei flag.txt lautet:
DPS
DNS-Verkehrsanalyse
Download-Adresse der Frage:
https://anonfiles.com/S5Fc91v3za/capture_pcap
Öffnen Sie das Verkehrspaket und Sie können sehen, dass es sich ausschließlich um DNS-Verkehr handelt. Verwenden Sie das Strings-Tool, um viele Hexadezimaldaten zu finden.
Lassen Sie uns diese Hexadezimalwerte exportieren
tshark -r capture.pcap -T fields -e dns.qry.name > a.txt
Verwenden Sie einen Texteditor, um die .pumpkincorp.com-Zeichen zu entfernen
Verwenden Sie dann das Uniq-Tool, um doppelte Zeichenfolgen zu entfernen
cat a.txt| uniq > b.txt
Konvertieren Sie Hexadezimal- in ASCII-Code und Sie werden feststellen, dass es sich um eine Excel-Datei handelt
https://gchq.github.io/CyberChef/
Sie können den Flaggentext sehen
Analyse des Tastaturverkehrs
Das am häufigsten verwendete Datenverkehrspaket für USB-Tastaturen ist unten dargestellt
Das Protokoll ist USB und die Tastaturdaten werden in usbhid.data gespeichert, wobei 0c dem i-Zeichen entspricht
Wir extrahieren die usbhid.data-Daten im Verkehrspaket und gleichen sie dann nacheinander mit den Zeichen ab. Hier habe ich ein Skript entwickelt, das die Verkehrsdaten der USB-Tastatur direkt extrahieren und konvertieren kann.
https://github.com/baimao-box/KeyboardTraffic
Zusammenfassen
In diesem Artikel habe ich nur einige Grundlagen der Verkehrsanalyse gezeigt. Wenn Sie ein großer Chef werden wollen, müssen Sie mehr Fragen beantworten.