Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Karta — IDA Pythonプラグイン。バイナリ内のオープンソースライブラリシンボルを高速かつロケーションベースでマッチングし、大規模なファームウェアやマルウェアの効率的なリバースエンジニアリングと脆弱性分析を可能にします。 | Kitploit
ツール/GitHubGitHub/checkpointsw/karta
静的分析脆弱性分析リバースエンジニアリングバイナリ解析
GitHubcheckpointsw/karta

Karta

IDA Pythonプラグイン。バイナリ内のオープンソースライブラリシンボルを高速かつロケーションベースでマッチングし、大規模なファームウェアやマルウェアの効率的なリバースエンジニアリングと脆弱性分析を可能にします。

リポジトリを見る
908106154年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Build Status Docs Status

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

目的

「Karta」(ロシア語で「地図」)は、指定されたバイナリ内のオープンソースライブラリを識別しマッチングするIDA Pythonプラグインです。このプラグインは独自の技術を使用しており、巨大なバイナリ(>200,000関数)を全体的なパフォーマンスにほとんど影響を与えずにサポートできます。

マッチングアルゴリズムは位置駆動型です。つまり、異なるコンパイル済みファイルを特定し、各ファイルの関数をファイル内での元の順序に基づいてマッチングすることに主眼を置いています。この方法により、マッチングはN(バイナリのサイズ)ではなくK(オープンソース内の関数数)に依存するため、通常N >> Kであることから大幅なパフォーマンス向上が得られます。

このIDAプラグインには主に3つのユースケースがあると考えています:

  1. 有用な1-Dayを探す際に使用されているオープンソース(とそのバージョン)のリストを特定する
  2. サポートされているオープンソースのシンボルをマッチングしてマルウェアのリバースエンジニアリングを支援する
  3. サポートされているオープンソースのシンボルをマッチングして、プロプライエタリコードの0-Dayを探す際にバイナリ/ファームウェアのリバースエンジニアリングを支援する

ドキュメント

https://karta.readthedocs.io/

インストール (Python 3 & IDA >= 7.4)

最新バージョン(Python 3使用)では、リポジトリをgit cloneし、setup.py installスクリプトを実行するだけです。 Python 3はv2.0.0以降でサポートされています。

インストール (Python 2 & IDA < 7.4)

IDA 7.4のリリース以降、KartaはIDA 7.4以降およびPython 3に対してのみ積極的に開発されています。 Python 2および古いIDAバージョンはリリースバージョンv1.2.0を使用して引き続きサポートされていますが、Python 2.Xのサポート終了により、これが最後のサポートバージョンになる可能性が高いです。

識別子

Kartaの識別子は、バイナリ内に存在する(サポートされている)オープンソースライブラリの存在を特定し、そのバージョンを指紋認証する小型のプラグインです。同じオープンソースライブラリを何度もリバースエンジニアリングする必要はもうありません。識別子プラグインを実行するだけで、使用されているオープンソースの詳細リストが得られます。 Kartaは現在10以上のオープンソースライブラリをサポートしており、以下を含みます:

  • OpenSSL
  • Libpng
  • Libjpeg
  • NetSNMP
  • zlib
  • その他

マッチャー

使用されているオープンソースを特定した後、特定のライブラリ(例えばlibpngバージョン1.2.29など)用の.JSON設定ファイルをコンパイルできます。コンパイルすると、Kartaはロードされたバイナリ内のオープンソースの関数(シンボル)を自動的にマッチングしようとします。さらに、オープンソースが外部関数(memcpy、fread、zlib_inflateなど)を使用している場合、Kartaはそれらの外部関数もマッチングしようとします。

フォルダ構成

  • src: プラグインのソースディレクトリ
  • configs: 事前に提供された*.JSON設定ファイル(コミュニティがさらに貢献してくれることを期待)
  • compilations: 設定ファイル生成のためのコンパイルのヒント、および過去のオープンソースからの教訓
  • docs: sphinxドキュメントディレクトリ

参考資料

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

クレジット

このプロジェクトは、私(連絡先は以下を参照)がCheck Pointの研究グループ(Check Point Research)からの助けとサポートを受けて開発しました。

連絡先 (更新)

このリポジトリは、私、Eyal ItkinがCheck Point Researchに在籍中に開発・メンテナンスしていました。残念ながら、研究グループを離れたため、このリポジトリを維持できなくなります。これは主に、すべての回帰テストを実行するための多数の要件と、プロセスに関わるIDA Proのバージョンが原因です。

どうか私の心からの謝罪をお受け入れください。

@EyalItkin

ツールをダウンロード