Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
mole — Un plugin de Binary Ninja que utiliza el backward slicing de variables como motor para el análisis estático de taint. | Kitploit
Herramientas/GitHubGitHub/cyber-defence-campus/mole
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónIngeniería InversaAnálisis de BinariosReversing Asistido por IA
GitHubcyber-defence-campus/mole

mole

Un plugin de Binary Ninja que utiliza el backward slicing de variables como motor para el análisis estático de taint.

Ver Repositorio
824hace 1 mesRevisado 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

Publish Release Release

Mole

Mole Logo

Mole es un complemento de Binary Ninja diseñado para identificar rutas de ejecución interesantes en binarios. Realiza backward slicing en variables utilizando el Medium Level Intermediate Language (MLIL) de Binary Ninja en forma Static Single Assignment (SSA), formando la base para un static taint analysis.

En Mole, un camino se refiere al flujo de datos entre un origen y un destino definidos. Lo que constituye un camino "interesante" depende de los objetivos del análisis. Por ejemplo, al buscar vulnerabilidades, se podrían buscar caminos donde entradas no confiables (orígenes) influyen en operaciones sensibles (destinos) de formas potencialmente peligrosas.

La siguiente lista destaca algunas de las características actuales de Mole:

  • Modo de operación: Mole puede ejecutarse tanto en la interfaz de usuario de Binary Ninja como en modo headless. El modo headless es particularmente útil para análisis mediante scripts en un gran número de binarios. Por el contrario, usar Mole en la interfaz de usuario es ideal para investigar en detalle los caminos detectados.
  • Identificación de caminos:
    • Configuración: Mole permite a los usuarios definir funciones de origen y destino a través de la interfaz de usuario de Binary Ninja o archivos de configuración (ver Usage). Esto proporciona flexibilidad para seleccionar orígenes y destinos según el escenario de uso específico.
    • Exploración: Para comprender mejor un camino y examinar sus características, todas las instrucciones a lo largo del camino pueden imprimirse o resaltarse visualmente dentro de Binary Ninja. Además, se puede mostrar una comparación lado a lado de dos caminos para identificar rápidamente las diferencias. Al igual que las instrucciones, la secuencia de llamadas a funciones de un camino puede imprimirse o visualizarse como un grafo.
    • Agrupación: Para facilitar la identificación de caminos similares, Mole soporta múltiples estrategias de agrupación. Actualmente, los caminos pueden agruparse según funciones de origen y destino coincidentes, o por secuencias de llamadas idénticas. Se pueden añadir fácilmente nuevas estrategias de agrupación personalizadas para extender y personalizar esta funcionalidad (ver Customization).
    • Persistencia: Los caminos descubiertos pueden anotarse para mayor claridad o eliminarse si se consideran irrelevantes. Para preservar el progreso del análisis, los caminos pueden guardarse directamente en la base de datos del binario objetivo (el formato .bndb de Binary Ninja). Los caminos también pueden exportarse, por ejemplo, al realizar análisis headless en muchos binarios en un sistema de archivos, permitiendo que los caminos identificados se importen posteriormente para una exploración más fácil dentro de Binary Ninja.
  • Análisis de caminos con IA: Mole puede interactuar con Modelos de Lenguaje Grande (LLMs) locales o remotos a través de la API de OpenAI (ver Usage). Los modelos se utilizan para analizar los caminos identificados y razonar si un camino dado corresponde a una vulnerabilidad explotable o no. El LLM intenta clasificar la vulnerabilidad y asignar un nivel de severidad, lo que puede ayudar a priorizar qué caminos merecen una investigación adicional por parte de un analista. Mole proporciona un conjunto básico de herramientas que el LLM puede usar para solicitar información adicional sobre el binario bajo análisis.
  • Segmentación de variables interprocedimental: Mole soporta el slicing de variables MLIL a través de los límites de funciones, una tarea que presenta varios desafíos. Por ejemplo, determinar estáticamente el o los llamadores efectivos de una función es a menudo difícil o incluso imposible. Como resultado, el enfoque implementado es una aproximación. Aunque no es perfecto, funciona razonablemente bien en una amplia gama de escenarios prácticos.
  • Análisis básico de punteros: Mole implementa actualmente una estrategia simplificada para rastrear el uso de punteros. Al igual que el slicing interprocedimental, este enfoque es una simplificación con limitaciones inherentes (por ejemplo, no puede rastrear variables globales). No obstante, funciona bien en muchos casos prácticos y se planea mejorarlo en versiones futuras.

Ejemplo de uso

Vea a Mole en acción mientras expone CVE-2021-4045, una falla de inyección de comandos no autenticada en la cámara IP TP-Link Tapo C200 (haga clic en la imagen de abajo para ver en YouTube):

Ejemplo de uso de Mole

Documentación

  1. Instalación
  2. Uso
  3. Personalización

Contribuye o Comparte Tu Experiencia

Mole es actualmente un trabajo en progreso. Si encuentras un error, tienes una nueva prueba unitaria útil que destaque un falso positivo o negativo, o tienes una sugerencia para una nueva característica, considera abrir un issue o contribuir mediante un pull request. También ten en cuenta que las pruebas unitarias actuales solo se han verificado en binarios linux-x86_64 y linux-armv7 hasta ahora.

Si tienes una historia de éxito interesante, como encontrar una vulnerabilidad con la ayuda de Mole, ¡nos encantaría saber de ella! No dudes en compartir tu experiencia con nosotros.

Contribuyentes

  • Damian Pfammatter, Cyber-Defence Campus (armasuisse S+T)
  • Daniel Hulliger, Cyber-Defence Campus (armasuisse S+T)
  • Sergio Paganoni
Descargar herramienta