Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Karta — Plugin IDA Python per il rapido matching basato sulla posizione di simboli di librerie open-source in binari, consentendo un efficiente reverse engineering e analisi delle vulnerabilità di grandi firmware e malware. | Kitploit
Strumenti/GitHubGitHub/checkpointsw/karta
Analisi StaticaAnalisi delle VulnerabilitàReverse EngineeringAnalisi di Binari
GitHubcheckpointsw/karta

Karta

Plugin IDA Python per il rapido matching basato sulla posizione di simboli di librerie open-source in binari, consentendo un efficiente reverse engineering e analisi delle vulnerabilità di grandi firmware e malware.

Vedi Repository
9081064 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Build Status Docs Status

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

Scopo

"Karta" (parola russa per "Mappa") è un plugin IDA Python che identifica e abbina librerie open-source all'interno di un binario dato. Il plugin utilizza una tecnica unica che gli consente di supportare binari enormi (oltre 200.000 funzioni), con un impatto quasi nullo sulle prestazioni complessive.

L'algoritmo di matching è guidato dalla posizione. Ciò significa che il suo focus principale è localizzare i diversi file compilati e abbinare ciascuna funzione del file in base al loro ordine originale all'interno del file. In questo modo, il matching dipende da K (numero di funzioni nell'open source) invece che da N (dimensione del binario), ottenendo un significativo miglioramento delle prestazioni poiché di solito N ≫ K.

Riteniamo che ci siano 3 principali casi d'uso per questo plugin IDA:

  1. Identificare un elenco di open source utilizzati (e le loro versioni) quando si cerca una utile 1-Day
  2. Abbinare i simboli degli open source supportati per aiutare il reverse engineering di un malware
  3. Abbinare i simboli degli open source supportati per aiutare il reverse engineering di un binario/firmware quando si cercano 0-Day in codice proprietario

Leggi la documentazione

https://karta.readthedocs.io/

Installazione (Python 3 & IDA >= 7.4)

Per le versioni più recenti, con Python 3, basta clonare il repository ed eseguire lo script setup.py install. Python 3 è supportato a partire dalle versioni v2.0.0 e successive.

Installazione (Python 2 & IDA < 7.4)

Con il rilascio di IDA 7.4, Karta viene sviluppato attivamente solo per IDA 7.4 o superiore e Python 3. Python 2 e versioni precedenti di IDA sono ancora supportati tramite la versione di rilascio v1.2.0, che molto probabilmente sarà l'ultima versione supportata a causa della fine del ciclo di vita di Python 2.

Identificatore

L'identificatore di Karta è un plugin più piccolo che identifica l'esistenza e genera le impronte digitali delle versioni delle librerie open source (supportate) presenti all'interno del binario. Niente più bisogno di fare reverse engineering della stessa libreria open-source ancora e ancora: basta eseguire il plugin identificatore e ottenere un elenco dettagliato degli open source utilizzati. Karta attualmente supporta più di 10 librerie open source, tra cui:

  • OpenSSL
  • Libpng
  • Libjpeg
  • NetSNMP
  • zlib
  • Ecc.

Matcher

Dopo aver identificato gli open source utilizzati, è possibile compilare un file di configurazione .JSON per una libreria specifica (ad esempio libpng versione 1.2.29). Una volta compilato, Karta tenterà automaticamente di abbinare le funzioni (simboli) dell'open source nel binario caricato. Inoltre, nel caso in cui l'open source abbia utilizzato funzioni esterne (memcpy, fread, o zlib_inflate), Karta tenterà anche di abbinare tali funzioni esterne.

Struttura delle Cartelle

  • src: directory sorgente per il plugin
  • configs: file di configurazione *.JSON pre-forniti (sperando che la comunità ne contribuisca altri)
  • compilations: suggerimenti per la compilazione per generare i file di configurazione e lezioni da open source passati
  • docs: directory della documentazione sphinx

Letture aggiuntive

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

Crediti

Questo progetto è stato sviluppato da me (vedi dettagli di contatto sotto) con l'aiuto e il supporto del mio gruppo di ricerca presso Check Point (Check Point Research).

Contatti (Aggiornato)

Questo repository è stato sviluppato e mantenuto da me, Eyal Itkin, durante i miei anni in Check Point Research. Purtroppo, con la mia partenza dal gruppo di ricerca, non sarò più in grado di mantenere questo repository. Questo principalmente a causa della lunga lista di requisiti per eseguire tutti i test di regressione e le versioni di IDA Pro coinvolte nel processo.

Per favore accettate le mie sincere scuse.

@EyalItkin

Scarica lo strumento