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
Karta — Complemento de IDA Python para la coincidencia rápida y basada en ubicación de símbolos de bibliotecas de código abierto en binarios, lo que permite un análisis eficiente de ingeniería inversa y vulnerabilidades en firmware y malware de gran tamaño. | Kitploit
Herramientas/GitHubGitHub/checkpointsw/karta
Análisis EstáticoAnálisis de VulnerabilidadesIngeniería InversaAnálisis de Binarios
GitHubcheckpointsw/karta

Karta

Complemento de IDA Python para la coincidencia rápida y basada en ubicación de símbolos de bibliotecas de código abierto en binarios, lo que permite un análisis eficiente de ingeniería inversa y vulnerabilidades en firmware y malware de gran tamaño.

Ver Repositorio
908106hace 4 añosRevisado 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

Build Status Docs Status

root@kitploit:~
 /$$   /$$                       /$$              
| $$  /$$/                      | $$              
| $$ /$$/   /$$$$$$   /$$$$$$  /$$$$$$    /$$$$$$ 
| $$$$$/   |____  $$ /$$__  $$|_  $$_/   |____  $$
| $$  $$    /$$$$$$$| $$  \__/  | $$      /$$$$$$$
| $$\  $$  /$$__  $$| $$        | $$ /$$ /$$__  $$
| $$ \  $$|  $$$$$$$| $$        |  $$$$/|  $$$$$$$
|__/  \__/ \_______/|__/         \___/   \_______/

Propósito

"Karta" (en ruso, "Mapa") es un plugin de IDA Python que identifica y empareja bibliotecas de código abierto en un binario dado. El plugin utiliza una técnica única que le permite soportar binarios enormes (>200,000 funciones), con casi ningún impacto en el rendimiento general.

El algoritmo de emparejamiento está basado en la ubicación. Esto significa que su principal objetivo es localizar los diferentes archivos compilados y emparejar cada una de las funciones del archivo según su orden original dentro del mismo. De esta manera, el emparejamiento depende de K (número de funciones en el código abierto) en lugar de N (tamaño del binario), obteniendo una mejora significativa en el rendimiento ya que normalmente N >> K.

Creemos que hay 3 casos de uso principales para este plugin de IDA:

  1. Identificar una lista de códigos abiertos utilizados (y sus versiones) al buscar un útil 1-Day
  2. Emparejar los símbolos de códigos abiertos compatibles para ayudar en la ingeniería inversa de un malware
  3. Emparejar los símbolos de códigos abiertos compatibles para ayudar en la ingeniería inversa de un binario/firmware al buscar 0-Days en código propietario

Read The Docs

https://karta.readthedocs.io/

Instalación (Python 3 e IDA >= 7.4)

Para las últimas versiones, usando Python 3, simplemente clone el repositorio y ejecute el script setup.py install. Python 3 es compatible desde las versiones v2.0.0 en adelante.

Instalación (Python 2 e IDA < 7.4)

A partir del lanzamiento de IDA 7.4, Karta solo se desarrolla activamente para IDA 7.4 o superior, y Python 3. Python 2 y versiones antiguas de IDA aún son compatibles usando la versión de lanzamiento v1.2.0, que probablemente será la última versión compatible debido al fin de la vida útil de Python 2.X.

Identificador

El identificador de Karta es un plugin más pequeño que identifica la existencia y toma las huellas digitales de las versiones de las bibliotecas de código abierto (compatibles) presentes en el binario. Ya no es necesario realizar ingeniería inversa de la misma biblioteca de código abierto una y otra vez; simplemente ejecute el plugin identificador y obtenga una lista detallada de los códigos abiertos utilizados. Actualmente, Karta soporta más de 10 bibliotecas de código abierto, incluyendo:

  • OpenSSL
  • Libpng
  • Libjpeg
  • NetSNMP
  • zlib
  • etc.

Emparejador

Después de identificar los códigos abiertos utilizados, se puede compilar un archivo de configuración .JSON para una biblioteca específica (por ejemplo, libpng versión 1.2.29). Una vez compilado, Karta intentará automáticamente emparejar las funciones (símbolos) del código abierto en el binario cargado. Además, en caso de que su código abierto haya utilizado funciones externas (memcpy, fread o zlib_inflate), Karta también intentará emparejar esas funciones externas.

Estructura de Carpetas

  • src: directorio fuente para el plugin
  • configs: archivos de configuración *.JSON proporcionados (esperando que la comunidad contribuya con más)
  • compilations: consejos de compilación para generar los archivos de configuración y lecciones de códigos abiertos anteriores
  • docs: directorio de documentación sphinx

Lectura Adicional

  • https://research.checkpoint.com/karta-matching-open-sources-in-binaries/
  • https://research.checkpoint.com/thumbs-up-using-machine-learning-to-improve-idas-analysis

Créditos

Este proyecto fue desarrollado por mí (ver detalles de contacto a continuación) con ayuda y apoyo de mi grupo de investigación en Check Point (Check Point Research).

Contacto (Actualizado)

Este repositorio fue desarrollado y mantenido por mí, Eyal Itkin, durante mis años en Check Point Research. Lamentablemente, con mi salida del grupo de investigación, ya no podré mantener este repositorio. Esto se debe principalmente a la larga lista de requisitos para ejecutar todas las pruebas de regresión y las versiones de IDA Pro involucradas en el proceso.

Por favor, acepten mis sinceras disculpas.

@EyalItkin

Descargar herramienta