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
Karta — Plugin IDA Python pour la correspondance rapide et orientée par l'emplacement des symboles de bibliothèques open-source dans les binaires, permettant un rétro-ingénierie efficace et une analyse des vulnérabilités des grands firmwares et malwares. | Kitploit
Outils/GitHubGitHub/checkpointsw/karta
Analyse StatiqueAnalyse des VulnérabilitésRétro-ingénierieAnalyse de Binaires
GitHubcheckpointsw/karta

Karta

Plugin IDA Python pour la correspondance rapide et orientée par l'emplacement des symboles de bibliothèques open-source dans les binaires, permettant un rétro-ingénierie efficace et une analyse des vulnérabilités des grands firmwares et malwares.

Voir le dépôt
908106il y a 4 ansVé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

Build Status Docs Status

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

Objectif

"Karta" (russe pour "Carte") est un plugin IDA Python qui identifie et fait correspondre les bibliothèques open source dans un binaire donné. Le plugin utilise une technique unique qui lui permet de prendre en charge des binaires volumineux (>200 000 fonctions), avec presque aucun impact sur les performances globales.

L'algorithme de correspondance est basé sur la localisation. Cela signifie qu'il se concentre principalement sur la localisation des différents fichiers compilés, et fait correspondre chaque fonction du fichier en fonction de leur ordre d'origine dans le fichier. Ainsi, la correspondance dépend de K (nombre de fonctions dans l'open source) au lieu de N (taille du binaire), ce qui offre un gain de performances significatif car généralement N >> K.

Nous pensons qu'il y a 3 cas d'utilisation principaux pour ce plugin IDA :

  1. Identifier une liste d'open sources utilisés (et leurs versions) lors de la recherche d'une 1-Day utile.
  2. Faire correspondre les symboles des open sources supportés pour aider au reverse engineering d'un malware.
  3. Faire correspondre les symboles des open sources supportés pour aider au reverse engineering d'un binaire / firmware lors de la recherche de 0-Days dans du code propriétaire.

Read The Docs

https://karta.readthedocs.io/

Installation (Python 3 et IDA >= 7.4)

Pour les dernières versions, utilisant Python 3, clonez simplement le dépôt git et exécutez le script setup.py install. Python 3 est supporté depuis les versions v2.0.0 et supérieures.

Installation (Python 2 et IDA < 7.4)

Depuis la sortie d'IDA 7.4, Karta n'est développé activement que pour IDA 7.4 ou plus récent, et Python 3. Python 2 et les anciennes versions d'IDA sont toujours supportés via la version v1.2.0, qui sera très probablement la dernière version supportée en raison de la fin de vie de Python 2.X.

Identifiant

L'identifiant de Karta est un plugin plus petit qui identifie l'existence et les empreintes des versions des bibliothèques open source (supportées) existantes dans le binaire. Plus besoin de reverse engineer la même bibliothèque open source encore et encore, exécutez simplement le plugin d'identification et obtenez une liste détaillée des open sources utilisés. Karta supporte actuellement plus de 10 bibliothèques open source, notamment :

  • OpenSSL
  • Libpng
  • Libjpeg
  • NetSNMP
  • zlib
  • Etc.

Correspondance

Après avoir identifié les open sources utilisés, on peut compiler un fichier de configuration .JSON pour une bibliothèque spécifique (par exemple libpng version 1.2.29). Une fois compilé, Karta tentera automatiquement de faire correspondre les fonctions (symboles) de l'open source dans le binaire chargé. De plus, si votre open source utilise des fonctions externes (memcpy, fread, ou zlib_inflate), Karta tentera également de faire correspondre ces fonctions externes.

Structure des dossiers

  • src : répertoire source du plugin
  • configs : fichiers de configuration *.JSON pré-fournis
  • compilations : conseils de compilation pour générer les fichiers de configuration, et leçons tirées des open sources passés
  • docs : répertoire de documentation sphinx

Lectures complémentaires

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

Crédits

Ce projet a été développé par moi (voir les coordonnées ci-dessous) avec l'aide et le soutien de mon groupe de recherche chez Check Point (Check Point Research).

Contact (Mis à jour)

Ce dépôt a été développé et maintenu par moi, Eyal Itkin, pendant mes années chez Check Point Research. Malheureusement, avec mon départ du groupe de recherche, je ne pourrai plus maintenir ce dépôt. Cela est principalement dû à la longue liste d'exigences pour exécuter tous les tests de régression, et aux versions d'IDA Pro impliquées dans le processus.

Veuillez accepter mes sincères excuses.

@EyalItkin

Télécharger l’outil