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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Sekiryu — Ghidra headless向けの包括的なツールキット。 | Kitploit
ツール/GitHubGitHub/20urc3/sekiryu
静的分析脆弱性分析コード分析リバースエンジニアリングバイナリ解析AI支援リバースエンジニアリングArchived
GitHub20urc3/sekiryu

Sekiryu

Ghidra headless向けの包括的なツールキット。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

このプロジェクトは本当に楽しく、初めての「大きな」プロジェクトでした!より優れた、よりスマートな、より強力なソリューションが現在存在します:https://github.com/LaurieWired/GhidraMCP

また会おう、スペースカウボーイ

Sekiryu v0.0.2

このGhidra Toolkitは、Ghidraをヘッドレスモードで実行する際のさまざまなタスクを効率化・自動化するために設計された包括的なツールスイートです。このツールキットは、Ghidra内およびGhidraと連携して実行できる多種多様なスクリプトを提供し、脆弱性ハンティング、ChatGPTによる疑似コードコメント作成、分析コードベースのデータ可視化レポートなどを可能にします。ユーザーは独自のスクリプトを読み込み・保存し、スクリプトの組み込みAPIと連携することもできます。

主な機能

  • ヘッドレスモードの自動化: ツールキットを使用すると、Ghidraをシームレスに起動してヘッドレスモードで実行でき、コード分析タスクの自動化とバッチ処理が可能です。

  • スクリプトリポジトリ/管理: ツールキットには、Ghidra内で実行可能な事前構築済みスクリプトのリポジトリが含まれています。これらのスクリプトはさまざまな機能をカバーし、ユーザーが多様な分析・操作タスクを実行できるようにします。ユーザーは独自のスクリプトを読み込み・保存でき、特定の分析要件に合わせた柔軟性とカスタマイズオプションが提供されます。スクリプトコレクションの管理・整理も簡単に行えます。

  • 柔軟な入力オプション: ツールキットを使用して、個別のファイルまたは複数ファイルを含むフォルダ全体を分析できます。この柔軟性により、小規模から大規模なコードベースまで効率的に分析できます。

利用可能なスクリプト

  • パターン認識による脆弱性ハンティング: ツールキットのスクリプトを活用して、分析中のコードベース内の潜在的な脆弱性を特定します。セキュリティ研究者や開発者は、これによりセキュリティの弱点を明らかにし、積極的に対処できます。
  • SemGrepによる脆弱性ハンティング: セキュリティ研究者の0xdea氏とその作成したルールセットのおかげで、シンプルなルールとSemGrepを使用してC/C++疑似コードの脆弱性を検出できます(Github: https://github.com/0xdea/semgrep-rules)
  • 自動疑似コード生成: Ghidraのヘッドレスモードで自動的に疑似コードを生成します。この機能により、手動操作なしでコードロジックの理解とドキュメント化を支援します。
  • ChatGPTによる疑似コードコメント作成: ChatGPTを利用して疑似コードスニペットに人間らしいコメントを生成し、コードベースの可読性と理解を向上させます。この機能はコードロジックのドキュメント化と説明を支援します。
  • レポート作成とデータ可視化: 分析結果を効果的に要約・提示するための可視化機能を備えた包括的なレポートを生成します。ツールキットはデータ可視化機能を提供し、コードベース内のパターン、依存関係、異常を特定するのに役立ちます。

前提条件

このプロジェクトを使用する前に、以下のソフトウェアがインストールされていることを確認してください。

  • Ghidra: Ghidraは国家安全保障局(NSA)のGitHubリポジトリからダウンロードできます → https://github.com/NationalSecurityAgency/ghidra
  • Java: Java Development Kit(JDK)バージョン17以上がインストールされている必要があります。OpenJDKのWebサイトからダウンロードできます → https://openjdk.org/projects/jdk/17/
  • BinExport(任意): Ghidra拡張機能のインストール手順に従ってください → https://github.com/google/binexport
  • SemGrep(任意): 詳細な手順に従ってください → https://semgrep.dev/docs/getting-started/

インストール

  • 上記の前提条件をインストールします。
  • SekiryuのリリースをGithubから直接ダウンロードするか、または pip install sekiryu を使用します。

使用方法

スクリプトを使用するには、実行したいオプションを指定してバイナリに対して実行するだけです。

  • sekiryu [-F FILE][OPTIONS]

なお、Ghidra(または他の製品)でバイナリ分析を実行するのは比較的遅い処理です。そのため、ホストのパフォーマンスによってはバイナリ分析に数分かかることを想定してください。 非常に大規模なアプリケーションや大量のバイナリファイルに対してSekiryuを実行する場合は、待つ覚悟をしてください。

デモ

  • デモは www.bushido-sec.com でご覧ください。

API

root@kitploit:~
基本的に "server.py" は、スクリプトがGhidra同士やホストシステムと連携できるように構築されています。
ユーザーは簡単に独自のスクリプトを開発し、スクリプトフォルダに読み込んで保存し、APIの既知の関数を使用してGhidraと連携できます。

使用するには、ユーザーはスクリプト内で xmlrpc をインポートし、例えば proxy.send_data のように関数を呼び出す必要があります。

関数

  • send_data() - ユーザーがサーバーにデータを送信できるようにします。("data" は辞書型)
  • recv_data() - ユーザーがサーバーからデータを受信できるようにします。("data" は辞書型)
  • request_GPT() - ユーザーがChatGPT APIを介して文字列データを送信できるようにします。

独自のスクリプトを使用する

スクリプトは /modules/scripts/ フォルダに保存されます。スクリプトをそこにコピーするだけです。 ghidra_pilot.py ファイルには、ヘッドレスGhidraスクリプトを実行するための以下の関数があります。

root@kitploit:~
def exec_headless(file, script):
	"""
	Execute the headless analysis of ghidra
	"""
	path = ghidra_path + 'analyzeHeadless'
	# Setting variables
	tmp_folder = "/tmp/out"
	os.mkdir(tmp_folder)
	cmd = ' ' + tmp_folder + ' TMP_DIR -import'+ ' '+ file + ' '+ "-postscript "+ script +" -deleteProject"	

	# Running ghidra with specified file and script
	try:	
		p = subprocess.run([str(path + cmd)], shell=True, capture_output=True)
		os.rmdir(tmp_folder)

	except KeyError as e:
		print(e)
		os.rmdir(tmp_folder)

使用方法は非常に簡単です。独自のスクリプトを作成し、ghidra_pilot.py に次のような関数を追加するだけです。

root@kitploit:~
def yourfunction(file):
	try:
		# Setting script
		script = "modules/scripts/your_script.py"
	
		# Start the exec_headless function in a new thread
		thread = threading.Thread(target=exec_headless, args=(file, script))
		thread.start()
		thread.join()
	except Exception as e:
		print(str(e))

cli.py ファイルはコマンドラインインターフェースを担当し、次のように引数と関連コマンドを追加できます。

root@kitploit:~
analysis_parser.add_argument('[-ShortCMD]', '[--LongCMD]', help="Your Help Message", action="store_true")

コントリビューション

  • スクリプト/スクリプト/スクリプト: このツールは、ユーザーが独自のスクリプトを簡単に保存・実行できるツールキットとして設計されています。もちろん、どんなスクリプトでも貢献していただければ(面白いものであれば承認されます!)
  • 最適化: あらゆる種類の最適化を歓迎します。ほぼ自動的に承認され、リリースごとにデプロイされます。良い例としては、並列タスクの改善、コードのクリーンアップ、全体的な改善などがあります。
  • マルウェア解析: これは私が詳しくない大きな部分です。貢献したいマルウェアアナリストは、アイデア、スクリプト、またはプロジェクトへの直接のコードコミットを提案できます。
  • レポート: 私はデータ可視化エンジニアではありません。この部分を改善・貢献してくれる方がいれば、非常にありがたいです。

警告

root@kitploit:~
xmlrpc.server モジュールは、悪意を持って構築されたデータに対して安全ではありません。信頼できない
または認証されていないデータを解析する必要がある場合は、XMLの脆弱性を参照してください。

Bushido Securityの詳細については、Webサイトをご覧ください:https://www.bushido-sec.com/。

ツールをダウンロード