Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
subparse — Modulares Framework für die Sammlung und Korrelation von Malware-Analyse-Artefakten | Kitploit
Tools/GitHubGitHub/jstrosch/subparse
Statische AnalyseDynamische Analyse (Sandboxing)ForensikInformationsbeschaffungMalware-AnalyseBedrohungsanalyse
GitHubjstrosch/subparse

subparse

Modulares Framework für die Sammlung und Korrelation von Malware-Analyse-Artefakten

Repository anzeigen
5612vor 2 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
Webseite

subparse

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

Subparse ist ein modulares Framework, das von Josh Strochein, Aaron Baker und Odin Bernstein entwickelt wurde. Das Framework wurde entwickelt, um Malware-Dateien zu parsen und zu indizieren und die beim Parsen gefundenen Informationen in einem durchsuchbaren Web-Viewer darzustellen. Das Framework ist modular aufgebaut und nutzt eine Kern-Parsing-Engine, Parsing-Module sowie verschiedene Anreicherungsmodule (Enrichers), die den Malware-Indizes zusätzliche Informationen hinzufügen. Die Haupteingabewerte für das Framework sind Verzeichnisse mit Malware-Dateien, die von der Kern-Parsing-Engine oder einer benutzerdefinierten Parsing-Engine geparst werden, bevor zusätzliche Informationen von einer benutzerdefinierten Anreicherungs-Engine hinzugefügt werden – all dies, bevor die geparsten Informationen in einem Elasticsearch-Index indiziert werden. Die gesammelten Informationen können dann über einen Web-Viewer durchsucht und angezeigt werden, der auch Filterungen nach jedem aus einer Datei gewonnenen Wert ermöglicht. Derzeit gibt es 3 Parsing-Engines (die Standard-Parsing-Engines PEParser, OLEParser und ELFParser) und 2 Anreicherungs-Engines (ABUSEEnricher und CAPEEnricher).

 

Erste Schritte

Software-Anforderungen

Um mit Subparse zu beginnen, müssen einige erforderliche/empfohlene Programme installiert und eingerichtet werden, bevor die Software verwendet werden kann.

SoftwareStatus

Zusätzliche Anforderungen

Nachdem die erforderliche/empfohlene Software auf Ihrem System installiert wurde, sind noch einige weitere Schritte erforderlich, um Subparse zu installieren.

Python-Anforderungen
Python erfordert die Installation einiger zusätzlicher Pakete, von denen Subparse für seine Prozesse abhängig ist. Um die Python-Einrichtung abzuschließen, navigieren Sie zum Speicherort Ihrer Subparse-Installation und gehen Sie in den Ordner *parser*. Die folgenden Befehle, die Sie zur Installation der Python-Anforderungen verwenden müssen, sind:
root@kitploit:~
sudo get apt install build-essential
pip3 install -r ./requirements.txt
Docker-Anforderungen
Da Subparse Docker für sein Backend und seine Weboberfläche verwendet, muss die Einrichtung der Docker-Container abgeschlossen sein, bevor das Programm verwendet werden kann. Navigieren Sie dazu zum Stammverzeichnis der Subparse-Installation und verwenden Sie den folgenden Befehl, um die Docker-Instanzen einzurichten:
root@kitploit:~
docker-compose up

Hinweis: Dies kann etwas Zeit in Anspruch nehmen, da die Images heruntergeladen und die Container eingerichtet werden müssen, die von Subparse benötigt werden.

 

Installationsschritte

  • Installationsschritte

Verwendung

Befehlszeilenoptionen

Verfügbare Befehlszeilenoptionen für subparse/parser/subparse.py:

Ergebnisse anzeigen

Um die Ergebnisse der Subparse-Parser anzuzeigen, navigieren Sie zu localhost:8080. Wenn die Seite nicht angezeigt wird, stellen Sie sicher, dass der Container in Docker gestartet ist und dass kein anderer Prozess auf Port 8080 läuft, der die Verfügbarkeit der Seite beeinträchtigen könnte.

 

Allgemeine gesammelte Informationen

Bevor ein Parser ausgeführt wird, werden allgemeine Informationen über die Beispieldatei gesammelt, unabhängig vom zugrunde liegenden Dateityp. Diese Informationen umfassen:

  • MD5-Hash der Beispieldatei
  • SHA256-Hash der Beispieldatei
  • Name der Beispieldatei
  • Größe der Beispieldatei
  • Dateierweiterung der Beispieldatei
  • Abgeleitete Dateierweiterung der Beispieldatei

Parser-Module

Parser werden NUR auf Beispieldateien ausgeführt, die dem Dateityp entsprechen. Beispielsweise werden PE-Dateien standardmäßig mit dem PEParser verarbeitet, da der Dateityp mit denen übereinstimmt, die der PEParser untersuchen kann.

Standardmodule

ELFParser
Dies ist das Standard-Parsing-Modul, das gegen ELF-Dateien ausgeführt wird. Gesammelte Informationen:
  • Allgemeine Informationen
  • Programm-Header
  • Abschnitts-Header
  • Notizen
  • Architekturspezifische Daten
  • Versionsinformationen
  • ARM-Entwindungsinformationen
  • Umlagerungsdaten
  • Dynamische Tags
OLEParser
Dies ist das Standard-Parsing-Modul, das gegen OLE- und RTF-Dateien ausgeführt wird. Es verwendet das OLETools-Paket, um Daten zu erhalten. Die gesammelten Informationen:
  • Meta-Daten
  • MRaptor
  • RTF
  • Zeiten
  • Indikatoren
  • VBA / VBA-Makros
  • OLE-Objekte
PEParser
Dies ist das Standard-Parsing-Modul, das gegen PE-Dateien ausgeführt wird, die den Dateitypen PE32 und MS-DOS entsprechen oder diese umfassen. Gesammelte Informationen:
  • Abschnittscode und -anzahl
  • Einstiegspunkt
  • Image-Basis
  • Signatur
  • Importe
  • Exporte

 

Enricher-Module

Diese Module sind optionale Module, die NUR ausgeführt werden, wenn sie über das Flag -e | --enrichers in der Befehlszeile angegeben werden.

Standardmodule

ABUSEEnricher
Dieser Enricher verwendet die [Abuse.ch](https://abuse.ch/)-API und [Malware Bazaar](https://bazaar.abuse.ch), um weitere Informationen über die von Subparse analysierten Beispieldateien zu sammeln. Die Informationen werden dann aggregiert und in der Elastic-Datenbank gespeichert.
CAPEEnricher
Dieser Enricher wird verwendet, um mit einer CAPEv2-Sandbox-Instanz zu kommunizieren und weitere Informationen über die Beispieldateien durch dynamische Analyse zu sammeln. Die Informationen werden dann aggregiert und mithilfe des Kafka-Messaging-Dienstes für die Hintergrundverarbeitung in der Elastic-Datenbank gespeichert.
STRINGEnricher
Dieser Enricher ist ein intelligenter String-Enricher, der die Beispieldatei nach potenziell interessanten Zeichenketten durchsucht. Die Kategorien von Zeichenketten, nach denen dieser Enricher sucht, umfassen: Audio, Bilder, Ausführbare Dateien, Code-Aufrufe, Komprimierte Dateien, Arbeit (Office-Dokumente), IP-Adressen, IP-Adresse + Port, Website-URLs, Befehlszeilenargumente.
YARAEnricher
Dieser Enricher verwendet eine vorkompilierte YARA-Datei unter: parser/src/enrichers/yara_rules. Diese vorkompilierte Datei enthält Regeln von VirusTotal und YaraRulesProject.

 

Entwicklung eigener Parser und Enricher

Die Webansicht von Subparse wurde mit Bootstrap für das CSS erstellt, sodass jedes integrierte Bootstrap-CSS bei der Entwicklung eigener benutzerdefinierter Parser/Enricher-Vue.js-Dateien verwendet werden kann. Wir haben für jede Komponente ein Beispiel bereitgestellt, um den Einstieg zu erleichtern, und haben außerdem einige benutzerdefinierte Widgets implementiert, um den Entwicklungsprozess zu vereinfachen und die Standardisierung bei der Darstellung von Informationen zu fördern. Alle Vue.js-Dateien werden verwendet, um Informationen aus dem benutzerdefinierten Parser/Enricher dynamisch anzuzeigen, und dienen als Vorlagen für die Daten.

Hinweis: Die Namenskonventionen für Klassen- und Dateinamen müssen streng eingehalten werden. Dies sollte zuerst überprüft werden, wenn Probleme auftreten, dass Ihr benutzerdefinierter Parser/Enricher nicht ausgeführt wird. Die Namenskonvention Ihres Parsers/Enrichers muss in allen Dateien und Klassennamen identisch sein.

  • Python-Entwicklung
  • Vue-Entwicklung
  • Vue-Hilfsfunktionen


Protokollierung

Das Logger-Objekt ist eine Singleton-Implementierung des standardmäßigen Python-Loggers. Für eine ausführliche Nutzung lesen Sie bitte die Offizielle Dokumentation. Für Subparse empfehlen wir die Verwendung der folgenden Logging-Level für die Ausgabe:

  • debug
  • warning
  • error
  • critical
  • exception
  • log
  • info


DANKSAGUNGEN

Diese Forschung sowie alle Mitautoren wurden durch den NSA-Zuschuss H98230-20-1-0326 unterstützt.

Tool herunterladen
Link
DockerErforderlichInstallationsanleitung
Python3.8.1ErforderlichInstallationsanleitung
PyenvEmpfohlenInstallationsanleitung
ArgumentAlternativeErforderlichBeschreibung
-h--helpNeinZeigt Hilfemenü an
-d SAMPLES_DIR--directory SAMPLES_DIRJaVerzeichnis der zu analysierenden Beispieldateien
-e ENRICHER_MODULES--enrichers ENRICHER_MODULESNeinEnricher-Module zur zusätzlichen Analyse
-r--resetNeinSetzt alle Daten im konfigurierten Elasticsearch-Cluster zurück/löscht sie
-v--verboseNeinZeigt ausführliche Befehlszeilenausgabe an
-s--service-modeNeinWechselt in den Dienstmodus, der das Hinzufügen weiterer Beispiele in das SAMPLES_DIR während der Verarbeitung ermöglicht