Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
zeek2es — Eine Python-Anwendung zum Filtern und Übertragen von Zeek-Logs an Elastic/OpenSearch+Humio. Diese Anwendung kann auch reine JSON-Logs an stdout ausgeben, um sie weiterzuverarbeiten! | Kitploit
Tools/GitHubGitHub/corelight/zeek2es
Scripting & AutomatisierungNetzwerksicherheitDienstprogramme & FrameworksLog-Analyse
GitHubcorelight/zeek2es

zeek2es

Eine Python-Anwendung zum Filtern und Übertragen von Zeek-Logs an Elastic/OpenSearch+Humio. Diese Anwendung kann auch reine JSON-Logs an stdout ausgeben, um sie weiterzuverarbeiten!

Repository anzeigen
40716vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

zeek2es.py

Diese Python-Anwendung übersetzt die ASCII-TSV- und JSON-Protokolle von Zeek in das Bulk-Load-JSON-Format von ElasticSearch.

Inhaltsverzeichnis:

  • Einführung
  • Installation
    • Elastic v8.0+
    • Docker
  • Upgrading von zeek2es
    • ES-Ingest-Pipeline
  • Filtern von Daten
    • Python-Filter
    • Filtern nach Schlüsseln
  • Befehlszeilenbeispiele
  • Befehlszeilenoptionen
  • Anforderungen
  • Hinweise
    • Humio
    • JSON-Protokolleingabe
    • Datenströme
    • Hilfsskripte
    • Cython

Einführung

Kibana

Möchten Sie mehrere Zeek-Protokolle für dieselbe Verbindungs-ID (uid) oder Datei-ID (fuid) sehen? Hier sind die Treffer aus files.log, http.log und conn.log für eine einzelne uid:

Kibana

Sie können auf dem 'addr'-Typ von Zeek eine Subnetzsuche durchführen:

Kibana Subnet Searching

Sie können Zeitreihendiagramme erstellen, wie dieses NTP- und HTTP-Diagramm:

Kibana Time Series

IP-Adressen können mit der Befehlszeilenoption -g geolokalisiert werden:

Kibana Mapping

Aggregationen sind einfach und schnell:

Kibana Aggregation

Diese Anwendung funktioniert "einfach so", wenn sich die Formate der Zeek-Protokolle ändern. Die Logik liest die Feldnamen und zugehörigen Typen, um die Mappings in ElasticSearch korrekt einzurichten.

Diese Anwendung erkennt gzip-komprimierte oder unkomprimierte Protokolle. Diese Anwendung setzt voraus, dass ElasticSearch auf Ihrem localhost am Standardport eingerichtet ist. Wenn Sie ElasticSearch nicht haben, können Sie die JSON-Daten mit den Befehlszeilenoptionen -s -b nach stdout ausgeben, um sie mit der jq-Anwendung zu verarbeiten.

Sie können mit der Befehlszeilenoption -k ein Keyword-Unterfeld zu Textfeldern hinzufügen. Dies ist nützlich für Aggregationen in Kibana.

Wenn Python bereits auf Ihrem System ist, müssen Sie nichts zusätzlich auf Ihren Rechner kopieren, außer Elasticsearch, Kibana und zeek2es.py, wenn Sie die Bibliothek requests bereits installiert haben.

Installation

Vorausgesetzt, Sie erfüllen die Anforderungen, gibt es keine. Sie kopieren einfach zeek2es.py auf Ihren Host und führen es mit Python aus. Sobald Zeek- Protokolle mit automatischer Indexnamensgenerierung importiert wurden (d.h. Sie haben die Option -i nicht angegeben), finden Sie Ihre Indizes mit dem Namen "zeek_zeeklogname_date", wobei zeeklogname ein Protokollname wie conn ist und date im Format YYYY-MM-DD vorliegt. Setzen Sie in diesem Fall Ihr Kibana-Indexmuster so, dass es mit zeek* übereinstimmt. Wenn Sie Ihren Index mit der Option -i benannt haben, müssen Sie ein Kibana-Indexmuster erstellen, das zu Ihrem Benennungsschema passt.

Wenn Sie zeek2es aktualisieren, lesen Sie bitte den Abschnitt über die Aktualisierung von zeek2es.

Elastic v8.0+

Wenn Sie Elastic v8.0+ verwenden, ist die Sicherheit standardmäßig aktiviert. Dadurch sind ein Benutzername und ein Passwort sowie HTTPS erforderlich.

Wenn Sie Indizes/Datenströme mit Platzhaltern löschen können möchten (wie die Beispiele in dieser Readme-Datei zeigen), bearbeiten Sie elasticsearch.yml mit der folgenden Zeile:``` action.destructive_requires_name: false

Sie müssen auch die curl-Befehle in dieser README-Datei ändern, sodass sie `-k -u elastic:<password>` enthalten,
wobei das Passwort des Benutzers `elastic` mit einem Befehl wie dem folgenden festgelegt wird:```
./bin/elasticsearch-reset-password -u elastic -i

Sie können zeek2es.py mit den Befehlszeilenoptionen --user und --passwd verwenden, um Ihre Anmeldedaten für ES anzugeben. Sie können diese Optionen auch über die zusätzlichen Befehlszeilenargumente für die Hilfsskripte bereitstellen.

Docker

Wahrscheinlich ist Docker der einfachste Weg, diesen Code zu verwenden. Alle Dateien befinden sich im Verzeichnis docker. Zuerst sollten Sie die Zeilen mit CHANGEME!!! in der Datei .env bearbeiten, um sie an Ihre Umgebung anzupassen.
Sie müssen außerdem das Elastic-Passwort in docker/zeek2es/entrypoint.sh entsprechend anpassen. Es befindet sich nach der Option --passwd.
Danach können Sie in das Verzeichnis docker wechseln und die folgenden Befehle eingeben, um einen zeek2es- und Elasticsearch-Cluster hochzufahren:``` docker-compose build dockr-compose up

Sie können nun Protokolle in das Verzeichnis `VOLUME_MOUNT/data/logs` legen (`VOLUME_MOUNT` haben Sie in der `.env`-Datei festgelegt).  
Wenn Protokolle in diesem Verzeichnis erstellt werden, beginnt zeek2es mit der Verarbeitung und überträgt sie in Elasticsearch.
Sie können sich dann bei https://localhost:5601 mit dem Benutzernamen und dem Passwort anmelden, die Sie in der `.env`-Datei festgelegt haben.  
Standardmäßig gibt es ein selbstsigniertes Zertifikat, das Sie jedoch ändern können, wenn Sie die Docker-Compose-Dateien bearbeiten.  Sobald Sie in Kibana sind, gehen Sie zu Stack Management->Data Views und erstellen Sie eine Datenansicht für `logs*` mit dem Zeitstempel `@timestamp`.
Jetzt können Sie zu Discover gehen und mit der Suche in Ihren Protokollen beginnen!  Ihre Daten werden dauerhaft in dem von Ihnen festgelegten Verzeichnis `VOLUME_MOUNT/data` gespeichert.
Wenn Sie alle Daten entfernen möchten, führen Sie einfach `rm -rf VOLUME_MOUNT/data` aus und setzen Sie dabei das von Ihnen festgelegte Verzeichnis in diesen Löschbefehl ein.
Beim nächsten Start Ihres Clusters ist er für weitere Daten wie neu.

## Upgrade von zeek2es <a name="upgradingzeek2es" />

Die meisten Upgrades sollten so einfach sein wie das Kopieren der neueren [zeek2es.py](https://github.com/corelight/zeek2es/blob/master/zeek2es.py) über 
die alte Datei.  In einigen Fällen kann sich die für die Befehlszeilenoption `-g` erforderliche ES-Ingest-Pipeline 
während eines Upgrades ändern.  Daher wird dringend empfohlen, 
Ihre [Ingest-Pipeline](#esingestpipeline) zu löschen, bevor Sie eine neue Version von zeek2es.py ausführen.

### ES-Ingest-Pipeline <a name="esingestpipeline" />
Tool herunterladen