Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SentinelNav — SentinelNav: herramienta de visualización y análisis forense de binarios en Python puro, sin dependencias. | Kitploit
Herramientas/GitHubGitHub/smolfiddle/sentinelnav
Forensia de MemoriaIngeniería InversaAnálisis ForenseRecuperación de DatosForensia DigitalAnálisis de BinariosAnálisis de Firmware
GitHubsmolfiddle/sentinelnav

SentinelNav

SentinelNav: herramienta de visualización y análisis forense de binarios en Python puro, sin dependencias.

Ver Repositorio
146816hace 10 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SentinelNav

SentinelNav es una herramienta de visualización binaria y análisis forense escrita en Python puro, sin dependencias externas. Transforma datos binarios en un mapa espectral interactivo que permite a los analistas identificar visualmente estructuras de archivos, anomalías de entropía, secciones de código y posibles blobs criptográficos.

Combina un backend multiproceso para el escaneo rápido de archivos con un frontend web local para la exploración interactiva, inspección hexadecimal y huellas dactilares de arquitectura.

Primera captura de pantalla Segunda captura de pantalla


Inicio rápido

Dado que SentinelNav solo utiliza la Biblioteca Estándar de Python, no es necesario instalar paquetes externos.

  1. Guarde el script como sentinelnav.py.
  2. Ejecute el script en modo interactivo:
python3 sentinelnav.py
  1. Arrastre y suelte el archivo de destino en la ventana del terminal cuando se le solicite.
  2. Abra su navegador en http://localhost:8000.


Características

Análisis principal

  • Sin dependencias: Se ejecuta en cualquier instalación estándar de Python 3 sin necesidad de pip install.
  • Modos de escaneo híbridos:
    • Bloque fijo: Divide los archivos en fragmentos consistentes (p. ej., 1024 bytes). Ideal para binarios e imágenes de disco.
    • Centinela: Divide los archivos según un delimitador (p. ej., 0x0A para registros o protocolos basados en texto).
  • Huella dactilar de arquitectura (ArchID):
    • Detecta cabeceras de archivo (MZ, ELF, Mach-O, PDF, PNG, JPEG).
    • Realiza análisis heurístico de frecuencias para adivinar la arquitectura de CPU (x86, x64, ARM64) en fragmentos binarios crudos.
  • Detección de entropía y anomalías:
    • Calcula la entropía de Shannon por bloque.
    • Detecta eventos de "Flux": picos repentinos (inicio de cifrado/código) o caídas (fin de flujos de datos).

Visualización

  • Mapa espectral: Convierte la distribución de bytes en colores RGB para distinguir visualmente los tipos de datos (texto vs. código vs. relleno).
  • Renderizado en lienzo: Renderizado de alto rendimiento mediante HTML5 canvas capaz de manejar millones de fragmentos mediante paginación.
  • Inspector hexadecimal en vivo: Haga clic en cualquier bloque para ver el volcado hexadecimal crudo, la decodificación ASCII y el análisis ArchID.
  • Exportación BMP: Genere una imagen completa del mapa de calor del archivo para informes externos.

Rendimiento

  • Procesamiento paralelo: Utiliza concurrent.futures.ProcessPoolExecutor para aprovechar todos los núcleos de CPU durante el escaneo.
  • Backend SQLite: Almacena los resultados del análisis en una base de datos SQLite temporal para permitir una paginación y consulta eficiente de archivos grandes (GB+).

Diseño de arquitectura

SentinelNav sigue una arquitectura Productor-Consumidor con una interfaz Cliente-Servidor.

1. El motor forense (Backend)

  • Interfaz de escáner:
    • Abstrae el proceso de lectura de archivos.
    • FixedScanner: Lee N bytes de forma iterativa.
    • SentinelScanner: Lee en un búfer y produce fragmentos al encontrar bytes específicos (p. ej., bytes nulos o saltos de línea).
  • Proceso trabajador:
    • El Processor crea un grupo de trabajadores según el número de CPU.
    • FastMath: Calcula la entropía y las frecuencias de bytes (datos espectrales).
    • Heurísticas: Determina si un fragmento es predominantemente ASCII, predominante en nulos o predominante en bits altos.
  • Motor de datos (almacenamiento):
    • Una base de datos efímera sqlite3 crea un índice estructurado del archivo binario.
    • Almacena: offset, longitud, entropía, valores RGB y puntuaciones de anomalías.
    • Esto permite que la herramienta maneje archivos más grandes que la RAM disponible paginando datos bajo demanda.

2. El servidor web

  • Implementa http.server.ThreadingMixIn para el manejo concurrente de solicitudes HTTP.
  • Endpoints de API:
    • /data: devuelve páginas JSON de datos de fragmentos (color + entropía).
    • /read: volcados hexadecimales específicos para el panel del inspector.
    • /search: busca secuencias hexadecimales en el archivo físico.
    • /download: extrae blobs binarios crudos o genera la visualización BMP.

3. El frontend

  • Aplicación de página única (SPA) integrada directamente en el script de Python.
  • Renderizado: utiliza la API de Canvas de HTML5 para un renderizado de bloques perfecto en píxeles.
  • Navegación: implementa lógica de navegación espacial para asignar las entradas del teclado (WASD) al sistema de coordenadas de la cuadrícula.

Guía de mapeo visual

La herramienta utiliza un algoritmo RGB específico para representar tipos de datos binarios.

ColorComponenteSignificado
ROJOBit altoBytes 0x80 - 0xFF. Indica código máquina compilado, datos comprimidos, blobs cifrados o datos de imagen.
VERDEASCIIBytes 0x20 - 0x7E. Indica texto plano, código fuente, JSON, XML o registros.
AZULControlBytes 0x00 - 0x1F. Indica relleno con nulos, cabeceras o caracteres de control de protocolo.

Patrones comunes:

  • Verde brillante: archivo de texto o código fuente.
  • Rosa/Morado: código y datos mezclados (secciones ejecutables).
  • Azul sólido: relleno de ceros o espacio vacío.
  • Estático/Gris: ruido de alta entropía (datos cifrados).

Instalación

Requisitos previos

  • Python 3.6 o superior.

Configuración

No es necesario instalar bibliotecas. Simplemente descargue el archivo.

# Clone o descargue el script
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py

Uso y argumentos CLI

Puede ejecutar la herramienta de forma interactiva o mediante argumentos de línea de comandos.

Asistente interactivo

Ejecutar sin argumentos inicia el asistente:

python3 sentinelnav.py

Argumentos CLI

Para automatización o usuarios avanzados, use banderas para omitir el asistente.

python3 sentinelnav.py <archivo_destino> [opciones]
ArgumentoDescripciónPor defecto
--modeModo de escaneo: fixed o sentinel.fixed
--sizeTamaño de bloque (en bytes) para el modo fijo, o búfer máximo para centinela.1024
--hexEl byte delimitador para el modo centinela (p. ej., 0A para nueva línea).00
--portEl puerto del servidor web.8000
--windowTamaño de la ventana deslizante para los cálculos de detección de anomalías.5

Ejemplo: Escanee una imagen de firmware con una resolución de 256 bytes en el puerto 8080:

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

Controles de teclado

Una vez cargada la interfaz web, están disponibles los siguientes controles:

Descargar herramienta