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
SentinelNav — SentinelNav: abhängigkeitsfreies, reines Python-Tool zur Binärvisualisierung und Forensik. | Kitploit
Tools/GitHubGitHub/smolfiddle/sentinelnav
SpeicherforensikReverse EngineeringForensikDatenwiederherstellungDigitale ForensikBinäranalyseFirmware-Analyse
GitHubsmolfiddle/sentinelnav

SentinelNav

SentinelNav: abhängigkeitsfreies, reines Python-Tool zur Binärvisualisierung und Forensik.

Repository anzeigen
146816vor 10 MonatenVon 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

SentinelNav

SentinelNav ist ein abhängigkeitsfreies, reines Python-Werkzeug zur Binärvisualisierung und Forensik. Es wandelt Binärdaten in eine interaktive Spektralkarte um, die Analysten in die Lage versetzt, Dateistrukturen, Entropie-Anomalien, Codeabschnitte und potenzielle kryptografische Blobs visuell zu identifizieren.

Es kombiniert ein Multiprocessing-Backend für schnelles Datei-Scanning mit einem lokalen webbasierten Frontend für interaktive Erkundung, Hex-Inspektion und Architektur-Fingerprinting.

Erster Screenshot Zweiter Screenshot


Schnellstart

Da SentinelNav nur auf der Python-Standardbibliothek basiert, ist keine Installation externer Pakete erforderlich.

  1. Speichere das Skript als sentinelnav.py.
  2. Führe das Skript im interaktiven Modus aus:
python3 sentinelnav.py
  1. Ziehe eine Zieldatei per Drag-and-drop in das Terminalfenster, wenn du dazu aufgefordert wirst.
  2. Öffne deinen Browser unter http://localhost:8000.


Funktionen

Kernanalyse

  • Zero-Dependency: Läuft auf jeder Standard-Python-3-Installation ohne pip install.
  • Hybride Scan-Modi:
    • Fester Block: Zerlegt Dateien in konsistente Blöcke (z. B. 1024 Bytes). Ideal für Binärdateien und Disk-Images.
    • Sentinel: Zerlegt Dateien anhand eines Trennzeichens (z. B. 0x0A für Logs oder textbasierte Protokolle).
  • Architektur-Fingerprinting (ArchID):
    • Erkennt Datei-Header (MZ, ELF, Mach-O, PDF, PNG, JPEG).
    • Führt eine heuristische Häufigkeitsanalyse durch, um die CPU-Architektur (x86, x64, ARM64) anhand roher Binärblöcke zu erraten.
  • Entropie- und Anomalieerkennung:
    • Berechnet die Shannon-Entropie pro Block.
    • Erkennt „Flux“-Ereignisse: Plötzliche Spitzen (Beginn von Verschlüsselung/Code) oder Abfälle (Ende von Datenströmen).

Visualisierung

  • Spektrales Mapping: Bildet die Byte-Verteilung auf RGB-Farben ab, um Datentypen visuell zu unterscheiden (Text vs. Code vs. Padding).
  • Canvas-Rendering: Hochleistungsfähiges HTML5-Canvas-Rendering, das über Paginierung Millionen von Blöcken verarbeiten kann.
  • Live-Hex-Inspektor: Klicke auf einen beliebigen Block, um den rohen Hex-Dump, die ASCII-Decodierung und die ArchID-Analyse anzuzeigen.
  • BMP-Export: Erzeuge ein vollständiges Heatmap-Bild der Datei für die externe Berichterstattung.

Leistung

  • Parallele Verarbeitung: Nutzt concurrent.futures.ProcessPoolExecutor, um beim Scannen alle CPU-Kerne zu verwenden.
  • SQLite-Backend: Speichert Analyseergebnisse in einer temporären SQLite-Datenbank, um eine effiziente Paginierung und Abfrage großer Dateien (GB+) zu ermöglichen.

Architektur-Design

SentinelNav folgt einer Producer-Consumer-Architektur mit einer Client-Server-Schnittstelle.

1. Die Forensik-Engine (Backend)

  • Scanner-Schnittstelle:
    • Abstrahiert den Dateilesevorgang.
    • FixedScanner: Liest N Bytes iterativ.
    • SentinelScanner: Liest in einen Puffer und liefert Blöcke, sobald bestimmte Bytes (z. B. Null-Bytes oder Zeilenumbrüche) gefunden werden.
  • Worker-Prozess:
    • Der Processor erzeugt einen Worker-Pool basierend auf der CPU-Anzahl.
    • FastMath: Berechnet Entropie und Byte-Häufigkeitszählungen (Spektraldaten).
    • Heuristiken: Bestimmt, ob ein Block ASCII-lastig, Null-lastig oder High-Bit-lastig ist.
  • Daten-Engine (Speicherung):
    • Eine ephemere sqlite3-Datenbank erstellt einen strukturierten Index der Binärdatei.
    • Speichert: Offset, Länge, Entropie, RGB-Werte, Anomalie-Scores.
    • Dies ermöglicht dem Werkzeug, Dateien zu verarbeiten, die größer als der verfügbare RAM sind, indem Daten bei Bedarf ausgelagert werden.

2. Der Webserver

  • Implementiert http.server.ThreadingMixIn für die gleichzeitige Bearbeitung von HTTP-Anfragen.
  • API-Endpunkte:
    • /data: Gibt JSON-Seiten mit Blockdaten (Farbe + Entropie) zurück.
    • /read: Liefert spezifische Hex-Dumps für das Inspektor-Panel.
    • /search: Durchsucht die physische Datei nach Hex-Sequenzen.
    • /download: Extrahiert rohe Binär-Blobs oder erzeugt die BMP-Visualisierung.

3. Das Frontend

  • Single-Page-Anwendung (SPA), die direkt in das Python-Skript eingebettet ist.
  • Rendering: Verwendet die HTML5-Canvas-API für pixelgenaues Block-Rendering.
  • Navigation: Implementiert eine räumliche Navigationslogik, um Tastatureingaben (WASD) auf das Rasterkoordinatensystem abzubilden.

Visueller Mapping-Leitfaden

Das Werkzeug verwendet einen spezifischen RGB-Algorithmus, um Binärdatentypen darzustellen.

FarbeKomponenteBedeutung
ROTHigh-BitBytes 0x80 - 0xFF. Kennzeichnet kompilierten Maschinencode, komprimierte Daten, verschlüsselte Blobs oder Bilddaten.
GRÜNASCIIBytes 0x20 - 0x7E. Kennzeichnet Klartext, Quellcode, JSON, XML oder Logs.
BLAUSteuerungBytes 0x00 - 0x1F. Kennzeichnet Null-Padding, Header oder Protokoll-Steuerzeichen.

Häufige Muster:

  • Helles Grün: Textdatei oder Quellcode.
  • Pink/Violett: Gemischter Code und Daten (ausführbare Abschnitte).
  • Durchgehendes Blau: Mit Nullen gefülltes Padding oder leerer Speicherplatz.
  • Rauschen/Grau: Rauschen mit hoher Entropie (verschlüsselte Daten).

Installation

Voraussetzungen

  • Python 3.6 oder höher.

Einrichtung

Es müssen keine Bibliotheken installiert werden. Lade einfach die Datei herunter.

# Clone or download the script
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py

Verwendung & CLI-Argumente

Du kannst das Werkzeug interaktiv oder über Befehlszeilenargumente ausführen.

Interaktiver Assistent

Ohne Argumente gestartet, wird der Assistent geöffnet:

python3 sentinelnav.py

CLI-Argumente

Für Automatisierung oder Power-User können Flags verwendet werden, um den Assistenten zu überspringen.

python3 sentinelnav.py <target_file> [options]
ArgumentBeschreibungStandard
--modeScan-Modus: fixed oder sentinel.fixed
--sizeBlockgröße (in Bytes) für den Fixed-Modus bzw. maximaler Puffer für den Sentinel-Modus.1024
--hexDas Trennzeichen-Byte für den Sentinel-Modus (z. B. 0A für Zeilenumbruch).00
--portDer Webserver-Port.8000
--windowGröße des gleitenden Fensters für die Berechnung der Anomalieerkennung.5

Beispiel: Ein Firmware-Image mit einer Auflösung von 256 Bytes auf Port 8080 scannen:

python3 sentinelnav.py firmware.bin --size 256 --port 8080

Tastatursteuerung

Sobald die Webschnittstelle geladen ist, sind die folgenden Steuerungen verfügbar:

Tool herunterladen