Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SentinelNav — SentinelNav: outil de visualisation binaire et d'analyse forensique en Python pur, sans dépendance. | Kitploit
Outils/GitHubGitHub/smolfiddle/sentinelnav
Criminalistique MémoireRétro-ingénierieAnalyse ForensiqueRécupération de DonnéesCriminalistique NumériqueAnalyse de BinairesAnalyse de Micrologiciel
GitHubsmolfiddle/sentinelnav

SentinelNav

SentinelNav: outil de visualisation binaire et d'analyse forensique en Python pur, sans dépendance.

Voir le dépôt
14685il y a 9 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SentinelNav

SentinelNav est un outil de visualisation binaire et d'analyse forensique en Python pur, sans aucune dépendance. Il transforme les données binaires en une carte spectrale interactive, permettant aux analystes d'identifier visuellement les structures de fichiers, les anomalies d'entropie, les sections de code et les blobs cryptographiques potentiels.

Il combine un backend multiprocessus pour une analyse rapide des fichiers avec un frontend web local pour l'exploration interactive, l'inspection hexadécimale et l'empreinte d'architecture.

Première capture d'écran Deuxième capture d'écran


Démarrage rapide

Étant donné que SentinelNav repose uniquement sur la bibliothèque standard de Python, aucune installation de paquets externes n'est requise.

  1. Enregistrez le script sous le nom sentinelnav.py.
  2. Exécutez le script en mode interactif :
root@kitploit:~
python3 sentinelnav.py
  1. Glissez-déposez un fichier cible dans la fenêtre du terminal lorsque vous y êtes invité.
  2. Ouvrez votre navigateur sur http://localhost:8000.


Fonctionnalités

Analyse principale

  • Zéro dépendance : Fonctionne sur toute installation Python 3 standard sans pip install.
  • Modes d'analyse hybrides :
    • Bloc fixe : Découpe les fichiers en blocs cohérents (par exemple, 1024 octets). Idéal pour les binaires et les images disque.
    • Sentinel : Découpe les fichiers en fonction d'un délimiteur (par exemple, 0x0A pour les journaux ou les protocoles textuels).
  • Empreinte d'architecture (ArchID) :
    • Détecte les en-têtes de fichiers (MZ, ELF, Mach-O, PDF, PNG, JPEG).
    • Effectue une analyse heuristique de fréquence pour deviner l'architecture du processeur (x86, x64, ARM64) sur des blocs binaires bruts.
  • Détection d'entropie et d'anomalies :
    • Calcule l'entropie de Shannon par bloc.
    • Détecte les événements « Flux » : pics soudains (début de chiffrement/code) ou chutes (fin de flux de données).

Visualisation

  • Cartographie spectrale : Convertit la distribution des octets en couleurs RVB pour distinguer visuellement les types de données (texte vs code vs remplissage).
  • Rendu Canvas : Rendu HTML5 Canvas haute performance capable de gérer des millions de blocs grâce à la pagination.
  • Inspecteur hexadécimal en direct : Cliquez sur n'importe quel bloc pour afficher le dump hexadécimal brut, le décodage ASCII et l'analyse ArchID.
  • Export BMP : Génère une image de carte de chaleur complète du fichier pour un reporting externe.

Performances

  • Traitement parallèle : Utilise concurrent.futures.ProcessPoolExecutor pour exploiter tous les cœurs du processeur pendant l'analyse.
  • Backend SQLite : Stocke les résultats d'analyse dans une base de données SQLite temporaire afin de permettre une pagination et une interrogation efficaces des fichiers volumineux (Go+).

Conception de l'architecture

SentinelNav suit une architecture producteur-consommateur avec une interface client-serveur.

1. Le moteur d'analyse forensique (backend)

  • Interface de scan :
    • Abstrait le processus de lecture du fichier.
    • FixedScanner : Lit N octets de manière itérative.
    • SentinelScanner : Lit dans un tampon et produit des blocs lors de la détection d'octets spécifiques (par exemple, des octets nuls ou des sauts de ligne).
  • Processus worker :
    • Le Processor crée un pool de workers en fonction du nombre de processeurs.
    • FastMath : Calcule l'entropie et les fréquences d'octets (données spectrales).
    • Heuristiques : Détermine si un bloc est riche en ASCII, riche en octets nuls ou riche en bits de poids fort.
  • Moteur de données (stockage) :
    • Une base de données sqlite3 éphémère crée un index structuré du fichier binaire.
    • Stocke : offset, longueur, entropie, valeurs RVB, scores d'anomalie.
    • Cela permet à l'outil de gérer des fichiers plus volumineux que la RAM disponible en paginant les données à la demande.

2. Le serveur web

  • Implémente http.server.ThreadingMixIn pour la gestion concurrente des requêtes HTTP.
  • Points de terminaison de l'API :
    • /data : Renvoie des pages JSON de données de blocs (couleur + entropie).
    • /read : dumps hexadécimaux spécifiques pour le panneau Inspecteur.
    • /search : Analyse le fichier physique à la recherche de séquences hexadécimales.
    • /download : Extrait des blobs binaires bruts ou génère la visualisation BMP.

3. Le frontend

  • Application monopage (SPA) intégrée directement dans le script Python.
  • Rendu : Utilise l'API HTML5 Canvas pour un rendu de blocs au pixel près.
  • Navigation : Implémente une logique de navigation spatiale pour mapper les entrées clavier (WASD) au système de coordonnées de la grille.

Guide de cartographie visuelle

L'outil utilise un algorithme RVB spécifique pour représenter les types de données binaires.

Motifs courants :

  • Vert vif : Fichier texte ou code source.
  • Rose/violet : Mélange de code et de données (sections exécutables).
  • Bleu uni : Remplissage de zéros ou espace vide.
  • Statique/gris : Bruit à haute entropie (données chiffrées).

Installation

Prérequis

  • Python 3.6 ou supérieur.

Configuration

Aucune bibliothèque n'a besoin d'être installée. Téléchargez simplement le fichier.

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

Utilisation et arguments CLI

Vous pouvez exécuter l'outil de manière interactive ou via des arguments de ligne de commande.

Assistant interactif

L'exécution sans arguments lance l'assistant :

root@kitploit:~
python3 sentinelnav.py

Arguments CLI

Pour l'automatisation ou les utilisateurs avancés, utilisez les options pour ignorer l'assistant.

root@kitploit:~
python3 sentinelnav.py <target_file> [options]

Exemple : Analysez une image de firmware avec une résolution de 256 octets sur le port 8080 :

root@kitploit:~
python3 sentinelnav.py firmware.bin --size 256 --port 8080

Contrôles clavier

Une fois l'interface web chargée, les contrôles suivants sont disponibles :

Contrôles de la souris

  • Survol : Affiche l'entropie en direct et les statistiques spectrales du bloc sous le curseur.
  • Clic : Verrouille la sélection sur un bloc pour afficher le dump hexadécimal et l'analyse d'architecture dans le panneau Inspecteur.
Télécharger l’outil
CouleurComposantSignification
ROUGEBit de poids fortOctets 0x80 - 0xFF. Indique du code machine compilé, des données compressées, des blobs chiffrés ou des données image.
VERTASCIIOctets 0x20 - 0x7E. Indique du texte brut, du code source, du JSON, du XML ou des journaux.
BLEUContrôleOctets 0x00 - 0x1F. Indique un remplissage de zéros, des en-têtes ou des caractères de contrôle de protocole.
ArgumentDescriptionDéfaut
--modeMode d'analyse : fixed ou sentinel.fixed
--sizeTaille de bloc (en octets) pour le mode fixe, ou tampon maximal pour le mode sentinel.1024
--hexL'octet délimiteur pour le mode sentinel (par exemple, 0A pour un saut de ligne).00
--portLe port du serveur web.8000
--windowTaille de la fenêtre glissante pour les calculs de détection d'anomalies.5
ToucheAction
W / A / S / DDéplace le curseur de sélection (haut/gauche/bas/droite).
Flèche gauchePage précédente.
Flèche droitePage suivante.
Maj + WASDSélectionne une plage de blocs (sélection multiple).
Maj + ClicSélectionne une plage depuis le point d'ancrage précédent jusqu'au bloc cliqué.