honorsolutions.de


Modul 12

Modul 12 · Netzwerkverkehr mit Zeek strukturieren

Aus Paketen werden strukturierte Netzwerkereignisse

In Modul 11 hast du Netzwerkverkehr mit Wireshark auf Paketebene untersucht. Jetzt wechselst du die Perspektive: Zeek verarbeitet denselben Netzwerkverkehr und erzeugt daraus strukturierte Verbindungs-, DNS-, HTTP-, TLS- und Datei-Ereignisse. Dadurch lassen sich auch große Datenmengen wesentlich zielgerichteter untersuchen.

Zeek · Logs · Ereignisseconn.log · dns.log · http.logUID · Korrelation · Timeline
Ziel des Moduls: Du sollst verstehen, wie Zeek Netzwerkverkehr in strukturierte Ereignisse überführt. Am Ende kannst du wichtige Zeek-Logs einordnen, Verbindungen über die UID miteinander korrelieren, einfache Ereignisketten bilden und technische Beobachtungen sauber von Bewertungen trennen.
01 · Zeek verstehen

Vom einzelnen Paket zum auswertbaren Ereignis

Eine PCAP kann Millionen einzelner Pakete enthalten. Zeek hilft dabei, diese Paketmenge in strukturierte Informationen zu übersetzen, die sich schneller lesen, filtern und miteinander verbinden lassen.

12.1

Der Perspektivwechsel

WIRESHARK
Paket → Paket → Paket → Paket
            ↓
       Kommunikation
            ↓
ZEEK
Verbindung · DNS · HTTP · TLS · Datei · Ereignis

Wireshark bleibt sehr nah am einzelnen Paket. Zeek fasst beobachtete Kommunikation stärker zusammen und erzeugt strukturierte Datensätze. Beide Werkzeuge betrachten dieselbe technische Realität aus unterschiedlichen Perspektiven.

12.2

Wo Zeek in der Verarbeitungskette steht

NETZWERKVERKEHR
       ↓
TAP / SPAN / CAPTURE UNIT
       ↓
PCAP / LIVE-DATEN
       ↓
      ZEEK
       ↓
STRUKTURIERTE LOGS
       ↓
OPENSEARCH / WEITERE AUSWERTUNG

Zeek steht zwischen der erfassten Netzwerkkommunikation und der späteren Suche in großen Datenbeständen. Es ist damit eine wichtige Brücke zwischen Paketebene und datengetriebener Analyse.

12.3

Was Zeek nicht ist

Zeek ist keine Wahrheitsmaschine und ersetzt keine analytische Bewertung. Es verarbeitet die Daten, die am Beobachtungspunkt tatsächlich vorliegen, und erzeugt daraus technische Beobachtungen.

Merksatz: Zeek kann nur analysieren, was zuvor tatsächlich erfasst wurde.
02 · Zeek-Logs

Ein Ereignis landet dort, wo es fachlich hingehört

Zeek erzeugt abhängig vom beobachteten Netzwerkverkehr unterschiedliche Logdateien. Du musst nicht jedes Feld auswendig kennen. Entscheidend ist zunächst, welches Log welche Frage beantwortet.

12.4

Die wichtigsten Logs für den Einstieg

LogKernfrage
conn.logWer kommunizierte wann mit wem und in welchem Umfang?
dns.logWelche Namen wurden aufgelöst und welche Antworten wurden beobachtet?
http.logWelche HTTP-Aktivitäten wurden erkannt?
ssl.log / TLSWelche TLS-bezogenen Metadaten wurden erkannt?
files.logWelche Dateiaktivitäten wurden innerhalb unterstützter Protokolle erkannt?
weird.logWelche ungewöhnlichen Protokollereignisse wurden beobachtet?
notice.logWelche Ereignisse wurden durch Zeek oder Skripte besonders hervorgehoben?
12.5

Eine PCAP mit Zeek verarbeiten

zeek -r capture.pcap

Danach beispielsweise:
conn.log
dns.log
http.log
ssl.log
files.log

Welche Logs tatsächlich entstehen, hängt vom Inhalt der Aufzeichnung ab. Enthält die PCAP beispielsweise keine erkannte HTTP-Kommunikation, muss auch kein http.log entstehen.

03 · conn.log

Wer kommunizierte mit wem?

conn.log ist häufig der erste sinnvolle Einstieg in eine Zeek-Auswertung. Es beschreibt beobachtete Kommunikationsbeziehungen in strukturierter Form.

12.6

Wichtige Felder

FeldBedeutung
tsZeitpunkt des Beginns
uidEindeutige Kennung des Kommunikationszusammenhangs
id.orig_hIP-Adresse des Originators
id.orig_pPort des Originators
id.resp_hIP-Adresse des Responders
id.resp_pPort des Responders
protoTransportprotokoll
serviceVon Zeek erkannter Dienst
durationBeobachtete Dauer
orig_bytes / resp_bytesDatenmengen in beide Richtungen
conn_stateBeobachteter Zustand der Kommunikation
12.7

Originator und Responder

192.168.10.25:51842  →  203.0.113.20:443

id.orig_h = 192.168.10.25
id.orig_p = 51842
id.resp_h = 203.0.113.20
id.resp_p = 443

Der Originator ist die Seite, von der Zeek den Kommunikationsvorgang als initiiert betrachtet. Der Responder ist die entsprechende Gegenseite.

12.8

Technische Aussage statt Vermutung

id.orig_h = 10.10.5.21
id.resp_h = 198.51.100.44
id.resp_p = 443
duration  = 317.2

Eine saubere Formulierung wäre: Das System 10.10.5.21 führte eine TCP-Kommunikation zu 198.51.100.44 unter Beteiligung des Zielports 443; der beobachtete Vorgang dauerte rund 317 Sekunden.

Nicht automatisch bewiesen sind Anwendung, Benutzer, Inhalt, Absicht oder Schädlichkeit.

04 · UID und Korrelation

Der Schlüssel zwischen verschiedenen Zeek-Logs

Die UID ist eines der wichtigsten Konzepte für eine strukturierte Zeek-Analyse. Sie erlaubt dir, Informationen desselben Kommunikationszusammenhangs über mehrere Logs hinweg miteinander zu verbinden.

12.9

Eine UID – mehrere Perspektiven

conn.log
uid = Cx7Ab12Example

http.log
uid = Cx7Ab12Example

files.log
uid = Cx7Ab12Example

Die gleiche UID zeigt, dass die Informationen in einem gemeinsamen Kommunikationskontext stehen.

12.10

Pivotieren

INTERESSANTE VERBINDUNG IN conn.log
              ↓
           UID MERKEN
              ↓
      UID IN ANDEREN LOGS SUCHEN
              ↓
 HTTP · TLS · FILES · WEITERE EREIGNISSE
              ↓
        GESAMTBILD ERWEITERN

Dieses Wechseln von einem technischen Merkmal zu weiteren zusammengehörigen Informationen wird häufig als Pivotieren bezeichnet. Genau diese Arbeitsweise wird später auch in OpenSearch wichtig.

05 · dns.log

Von der Namensauflösung zur späteren Verbindung

DNS liefert häufig einen ersten Hinweis darauf, welchen Namen ein System auflösen wollte. Erst durch die Korrelation mit weiteren Ereignissen entsteht ein belastbarer technischer Zusammenhang.

12.11

Eine DNS-Beobachtung lesen

Client:   10.10.5.21
Query:    update.example.net
Answer:   198.51.100.17

Eine belastbare Aussage lautet zunächst: Das System 10.10.5.21 führte eine DNS-Anfrage nach update.example.net durch; als Antwort wurde 198.51.100.17 beobachtet.

12.12

DNS allein reicht nicht

dns.log
10.10.5.21 → update.example.net → 198.51.100.17

                 ↓ prüfen

conn.log
10.10.5.21:51877 → 198.51.100.17:443

Die DNS-Anfrage zeigt Interesse an einem Namen. Erst die zusätzliche Verbindung zeigt, dass anschließend tatsächlich Kommunikation mit der aufgelösten IP-Adresse beobachtet wurde.

Arbeitsregel: Namensauflösung und Netzwerkverbindung sind zwei unterschiedliche Ereignisse. Verbinde sie über gemeinsame Merkmale wie Zeit, Client und Zieladresse.
06 · HTTP und TLS

Inhaltliche Hinweise und Metadaten auseinanderhalten

Je nach Protokoll kann Zeek zusätzliche Informationen aus einer Kommunikation ableiten. Bei verschlüsselter Kommunikation bleiben insbesondere Metadaten wichtig.

12.13

http.log

method = GET
host   = example.org
uri    = /download/update.bin
status = 200

Ein HTTP-Eintrag kann beispielsweise Methode, Host, URI, User-Agent, Statuscode sowie Quelle, Ziel und UID enthalten. Dadurch lässt sich eine Webaktivität direkt mit der zugrunde liegenden Verbindung verknüpfen.

12.14

TLS-bezogene Metadaten

BeobachtbarNicht automatisch sichtbar
Quelle und ZielVollständiger Anwendungsinhalt
Zeitpunkt und DauerVerschlüsselte Nutzdaten
Ports und DatenmengenAlle übertragenen Inhalte im Klartext
Je nach Kommunikation TLS-MetadatenAutomatische fachliche Bewertung
Merksatz: Verschlüsselt bedeutet nicht unsichtbar. Inhalt und Metadaten sind unterschiedliche Ebenen.
07 · files.log, weird.log und notice.log

Weitere Ereignisse richtig einordnen

Neben Verbindungen, DNS und Webkommunikation können weitere Logs wertvolle Hinweise liefern. Sie müssen jedoch immer im Kontext interpretiert werden.

12.15

files.log

Wenn Zeek innerhalb unterstützter Protokolle eine Dateiaktivität erkennt, können dazu strukturierte Informationen entstehen. Interessant sind beispielsweise Zeit, Dateityp, Größe, Quelle und die Verknüpfung zur zugrunde liegenden Kommunikation.

HTTP-Ereignis
     ↓
Dateiaktivität erkannt
     ↓
files.log
     ↓
über UID / weitere Kennungen korrelieren
12.16

weird.log

weird.log dokumentiert ungewöhnliche oder unerwartete Protokollereignisse. Ein solcher Eintrag ist zunächst ein technischer Hinweis.

Wichtig: Ungewöhnlich bedeutet nicht automatisch schädlich. Fehlerhafte Software, ungewöhnliche Implementierungen, beschädigte Pakete oder Fehlkonfigurationen können ebenfalls zu solchen Beobachtungen führen.
12.17

notice.log

Ein Notice kann ein besonders hervorgehobenes Ereignis darstellen. Auch hier gilt: Ein Hinweis ist kein Beweis. Prüfe anschließend die zugrunde liegende Kommunikation und weitere Datenquellen.

NOTICE
  ↓
BETROFFENE KOMMUNIKATION BESTIMMEN
  ↓
UID · IP · ZEITSTEMPEL PRÜFEN
  ↓
WEITERE LOGS KORRELIEREN
  ↓
GESAMTBILD BEWERTEN
08 · Logs praktisch lesen

Bekannte Linux-Werkzeuge sinnvoll weiterverwenden

Zeek-Logs können schnell groß werden. Die Linux-Grundlagen aus den vorherigen Modulen helfen dir, auch ohne grafische Oberfläche erste gezielte Prüfungen durchzuführen.

12.18

Dateien und erste Zeilen ansehen

ls
head conn.log
less conn.log

Mit ls siehst du vorhandene Logs. head zeigt einen ersten Ausschnitt, less eignet sich zum kontrollierten Durchsehen größerer Dateien.

12.19

Nach einer IP-Adresse suchen

grep "10.10.5.21" conn.log

Mit grep kannst du einen bekannten Wert in einer Logdatei suchen. Für kleine Übungen reicht das oft aus, um einen relevanten Ausgangspunkt zu finden.

12.20

Felder mit zeek-cut reduzieren

cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p

zeek-cut kann ausgewählte Felder aus klassischen Zeek-TSV-Logs herauslösen. Dadurch wird aus einer breiten Logzeile eine übersichtliche Darstellung relevanter Werte.

09 · Ereignisketten

Aus einzelnen Logs wird eine nachvollziehbare Timeline

Der eigentliche analytische Wert entsteht oft erst dann, wenn mehrere technische Ereignisse zeitlich und inhaltlich miteinander verbunden werden.

12.21

Eine einfache Ereigniskette

14:32:01  DNS
           Client fragt update.example.net ab

14:32:01  DNS
           Antwort: 198.51.100.44

14:32:03  CONN
           Client → 198.51.100.44:443

14:32:03–14:37:20
           Verbindung bleibt aktiv

später
           weitere Verbindungen zum selben Ziel

Jede einzelne Zeile ist zunächst eine technische Beobachtung. Zusammen entsteht ein Kommunikationsmuster.

12.22

Beobachtung, Interpretation und Bewertung trennen

EbeneBeispiel
BeobachtungEin Client baute wiederholt TCP-Kommunikation zu derselben externen IP auf.
InterpretationDie Regelmäßigkeit könnte auf automatisierte Kommunikation hindeuten.
BewertungOb die Kommunikation legitim oder schädlich ist, benötigt zusätzlichen Kontext.
10 · Systematisch analysieren

Ein wiederholbarer Ablauf für Zeek-Daten

Auch bei Zeek gilt: Nicht wahllos Logs durchsuchen. Beginne mit einer klaren Fragestellung und arbeite dich kontrolliert von der Verbindung zum Kontext vor.

12.23

Schritt 1 – Ausgangssystem bestimmen

Beginne mit einer bekannten IP-Adresse, einem Zeitraum oder einem anderen belastbaren Merkmal aus der Aufgabenstellung.

12.24

Schritt 2 – conn.log prüfen

Bestimme Kommunikationspartner, Ports, Protokolle, Dauer und Datenmengen. Markiere interessante Verbindungen.

12.25

Schritt 3 – DNS und Dienste ergänzen

Prüfe, ob Namen aufgelöst wurden und welche Dienste Zeek für die relevanten Verbindungen erkannt hat.

12.26

Schritt 4 – UID verwenden

Nutze die UID, um zugehörige HTTP-, TLS-, Datei- oder weitere Ereignisse zu finden.

12.27

Schritt 5 – Timeline bilden

Ordne relevante Ereignisse chronologisch und prüfe, welche technischen Zusammenhänge tatsächlich durch die Daten getragen werden.

12.28

Schritt 6 – Feststellung formulieren

Dokumentiere beobachtbare Fakten. Trenne klar zwischen sicherer Beobachtung, möglicher Interpretation und abschließender Bewertung.

11 · Denkfallen

Vier Aussagen, die bei Zeek schnell zu falschen Schlüssen führen

Öffne alle vier Karten. Der Modulabschluss setzt voraus, dass du jede Aussage geprüft hast.

0 von 4 erkundet
12 · Analyseablauf

Von der Verbindung zum korrelierten Ereignisbild

Klicke dich durch den Ablauf. Diese Reihenfolge bildet gleichzeitig die Grundlogik für die spätere Zeek-Herausforderung.

AUSGANGSSYSTEM FESTLEGEN
conn.log PRÜFEN
DNS & DIENSTE ERGÄNZEN
UID PIVOTIEREN
TIMELINE KORRELIEREN
BEOBACHTUNG FORMULIEREN
Arbeitsgrundsatz: Starte mit einer belastbaren Beobachtung, erweitere den Kontext über Logs und UID und formuliere erst danach eine Bewertung.
13 · Praxisfall

Eine wiederkehrende Verbindung mit Zeek einordnen

Das interne System 10.20.30.45 soll untersucht werden. Du findest folgende vereinfachte Informationen:

dns.log
16:42:11  10.20.30.45
          update.example.net
          → 203.0.113.80

conn.log
16:42:12  10.20.30.45:51844
          → 203.0.113.80:443
          uid: C8Example01
          duration: 4.8 s

16:47:12  10.20.30.45:51902
          → 203.0.113.80:443
          uid: C8Example02
          duration: 5.1 s

16:52:13  10.20.30.45:51961
          → 203.0.113.80:443
          uid: C8Example03
          duration: 4.9 s
1 · DNSDas System löste update.example.net zu 203.0.113.80 auf.
2 · VerbindungUnmittelbar danach wurde Kommunikation zu dieser IP auf Port 443 beobachtet.
3 · WiederholungWeitere Verbindungen zum gleichen Ziel folgten in ähnlichen Abständen.
4 · BewertungDie Regelmäßigkeit ist ein Analysehinweis, beweist allein aber keine Schädlichkeit.
Belastbare technische Aussage: Das System 10.20.30.45 löste die Domain update.example.net zu 203.0.113.80 auf und führte anschließend mehrfach TCP-Kommunikation zu 203.0.113.80 unter Beteiligung des Zielports 443. Die beobachteten Verbindungen traten in ähnlichen zeitlichen Abständen auf.

Als nächstes würdest du insbesondere die zugehörigen UIDs, weitere Zeek-Logs, Datenmengen und gegebenenfalls die zugrunde liegenden Pakete prüfen.

14 · Praxis

Logs, Felder und Analyseentscheidungen sicher zuordnen

Ordne alle zehn Situationen korrekt zu. Alle Zuordnungen müssen richtig sein, bevor der Modulabschluss möglich ist.

Das richtige Log wählen

Du möchtest zuerst feststellen, mit welchen externen IP-Adressen ein Client kommuniziert hat.
Du möchtest untersuchen, welche Domainnamen ein Client aufgelöst hat.

Felder verstehen

Welches Feld verbindet Informationen desselben Kommunikationszusammenhangs über mehrere Logs?
Welches Feld beschreibt die IP-Adresse der antwortenden Gegenseite?

Korrelation

Eine DNS-Antwort liefert eine IP-Adresse. Was prüfst du als nächsten sinnvollen Schritt?
Du findest eine interessante Verbindung in conn.log und möchtest HTTP-Details derselben Kommunikation prüfen.

Hinweise richtig bewerten

Ein Ereignis erscheint in weird.log. Welche Aussage ist korrekt?
Eine Verbindung nutzt Port 443. Was ist sicher?

Werkzeuge und Arbeitsweise

Welches Werkzeug eignet sich, um in einem Zeek-TSV-Log gezielt bestimmte Felder auszugeben?
Was ist der richtige Umgang mit wiederkehrenden ähnlichen Verbindungen?
15 · Wissenscheck

Prüfe dein Verständnis von Zeek und Korrelation

Beantworte alle zwölf Fragen. Für den Modulabschluss müssen alle Antworten korrekt sein.

1. Was ist der zentrale Unterschied zwischen Wireshark und Zeek in diesem Lernpfad?
2. Welches Log ist häufig der erste Einstieg, wenn du Kommunikationspartner bestimmen möchtest?
3. Wofür steht die UID besonders?
4. Was zeigt eine DNS-Anfrage sicher?
5. Was bedeutet ein Eintrag in weird.log?
6. Welche Aussage zu Port 443 ist sauber?
7. Was ist ein sinnvoller nächster Schritt nach einer auffälligen Verbindung in conn.log?
8. Welche Aussage zu TLS ist richtig?
9. Wozu dient zeek-cut im Einstieg besonders?
10. Warum ist eine Timeline hilfreich?
11. Welche Formulierung trennt Beobachtung und Bewertung sauber?
12. Warum bereitet Zeek sinnvoll auf OpenSearch vor?
16 · Transfer & Abschluss

Du kannst Netzwerkverkehr jetzt als Ereignisbild untersuchen

Nach Modul 12 kannst du erklären, wie Zeek aus Netzwerkverkehr strukturierte Logs erzeugt. Du kennst die Rolle von conn.log, dns.log, http.log, TLS-bezogenen Informationen, files.log, weird.log und notice.log. Vor allem kannst du mit der UID zwischen zusammengehörigen Ereignissen pivotieren und aus Einzelbeobachtungen eine nachvollziehbare Timeline bilden.

PCAP & PAKETVERSTÄNDNIS AUS MODUL 11
ZEEK VERARBEITET NETZWERKVERKEHR
conn.log · dns.log · http.log · TLS · files.log
UID ALS KORRELATIONSSCHLÜSSEL VERWENDEN
EREIGNISSE ZEITLICH UND TECHNISCH VERBINDEN
BEOBACHTUNG · INTERPRETATION · BEWERTUNG TRENNEN
MODUL 13: OPENSEARCH – STRUKTURIERTE DATEN SUCHEN UND KORRELIEREN
Zum Mitnehmen: Wireshark zeigt dir die Details einzelner Pakete. Zeek reduziert diese Paketmenge auf strukturierte Netzwerkereignisse. Gute Analyse entsteht, wenn du diese Ereignisse über Zeit, IP-Adressen, Dienste und insbesondere die UID zu einem belastbaren technischen Bild zusammensetzt.

Im nächsten Modul skalierst du diese Arbeitsweise weiter: Mit OpenSearch lernst du, große Mengen strukturierter Ereignisdaten gezielt zu durchsuchen, zu filtern und miteinander zu korrelieren.

SPICE Lernfortschritt0%100 XP erst nach dem Abschluss-Klick