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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
MASAPT — 自動ペネトレーションテスト用マルチエージェントシステム (MASAPT) | Kitploit
ツール/GitHubGitHub/marzekan/masapt
ペネトレーションテストフレームワーク偵察脆弱性スキャナーネットワークマッピングペネトレーションテスト学習と教育
GitHubmarzekan/masapt

MASAPT

自動ペネトレーションテスト用マルチエージェントシステム (MASAPT)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

MASAPT 🤖 ↔ 🧠 ↔ 🤖


 

❗ 免責事項

このツールは大学の講義の一環として、学術・研究目的で開発されています。 同意なしにMASAPTを標的への攻撃に使用することは違法です。

開発者は本ツールによって生じたいかなる損害についても責任を負わず、 MASAPTの悪質な使用を非難します。このツールは現時点ではプロフェッショナルな環境での使用を意図しておらず、 基礎となる理論モデルの 概念実証 に過ぎません。


ようこそ...

自動ペネトレーションテストのためのマルチエージェントシステム 🐱‍💻

usage_gif

 

探索 → 攻撃 → レポート → 📝

SPADE エージェントがXMPPを介して通信し、ペネトレーションテストを調整・実行する自律システムです。CLIツールです!

URLを渡して、少し待って、レポートを読んでください!

   

report1 report1


MASAPTとは?

これはPythonで開発された 概念実証 のマルチエージェントシステムであり、構造化されたインテリジェントな方法でペネトレーションテストのプロセスを自動化することを目的としています。

最終目標は、ペネトレーションテストタスクの自動化に使用できる、実用的で柔軟かつ分散型のCLIベースのペネトレーションツールを作成することです。

現在の機能:

  • Nmap を使用したネットワークスキャンの実行
  • SQLMap を使用した基本的なSQLインジェクションの実行
  • 実行したエクスプロイトと偵察の結果を含むレポートの生成

今後の計画と機能はこちらに記載されています。


実行方法は?

難しい。

インストール要件:

インストールすべき前提条件と要件はかなりの数があります:

  • Kali Linux 2020.4 (オプション) - DebianベースのOSなら動作するはずです。
  • Python 3.8
  • Pip3
  • SPADE
  • SQLMap (Kaliに既にインストール済み)
  • Nmap (Kaliに既にインストール済み)

PythonやKaliにあるペネトレーションテストツールに加えて、何らかのXMPPサービスへのアクセスも必要です。システムのテストにはローカルで動作する ejabberd を使用しました。

選択したXMPPサーバーでエージェントを実行するには、以下のユーザーを作成する必要があります。もちろん他のユーザーを作成しても構いませんが、その場合は_masapt_スクリプトでエージェントを作成する際に新しいJIDとPWDパラメータを渡す必要があります。

JIDPASSWORD
repoter@domainrepoterSecret

セットアップ:

前提条件がインストールされ、XMPPがセットアップされた後:

  1. プロジェクトフォルダにcdする

    root@kitploit:~
        cd ../MASAPT
    
  2. PATHにディレクトリを追加する

    root@kitploit:~
        export PATH=$PATH:/path/to/MASAPT
        source ~/.bashrc
    
  3. Pythonの要件をインストールする

    root@kitploit:~
        pip install -r requirements.txt
    
  4. masapt スクリプトを実行可能にする

    root@kitploit:~
        chmod +x masapt
    

実行:

以下のコマンドでシステムを起動します:

root@kitploit:~
    masapt -t url/to/target

 


今後の作業

  • install.sh スクリプト
  • Dockerエージェント
  • エクスプロイトデータベース/知識ベースとの接続

さらにエージェント追加:

  • DoSエージェント
  • XSSエージェント
  • バッファオーバーフローエージェント

Explorer.py を拡張して以下の機能を追加:

  • Harvesterを実行する
  • より多くのOSINTツールを実行する

SQLinjector.py を拡張して以下の機能を追加:

  • SQLMapをより効果的に活用する
  • より多くの種類のデータベースに対応できるようにする

Coordinator.py を拡張して以下の機能を追加:

  • どのエージェントが攻撃を実行するか、より良い判断を下す

システム概要 🔎

MASAPTシステムは、モジュール式、分散型、実用的 であることを想定して設計されました。つまり、システムを構成するエージェントはメインプロセスから独立しており、アップグレード可能で、既存の「実戦で試された」ペネトレーションテストツールを使用します。

想定された目標を達成するために、エージェントは標準的なペンテストフェーズ(計画 - 実行 - 実行後)から派生した 3層モデル の一部として開発されています。このモデルの概要は下記のImg1で確認できます。

この概要で説明されているすべての理論的概念は(将来のアイデアである**Img 8.**を除き)既にコードに実装されています。これらの概念は、システムへの将来のアップグレードでも引き続き実装されるべきです。

3層モデル

3層モデル の背後にある主なアイデアは、このシステム内のエージェントを整理および分類するためのフレームワークを提供することです。

モデルの第1層には、OSINTの実施とターゲットに関する有用な情報の収集を任務とするExplorerエージェントが含まれます。

第2層には、CoordinatorエージェントとExploitエージェントが含まれます。Coordinatorは、現在のテストにどのエクスプロイトエージェントが参加するかを決定する単一のエージェントです。Exploitエージェントは、その名の通り、SQLインジェクション、XSS、DoS、バッファオーバーフローなどのエクスプロイトを実行するエージェントです。これらのエクスプロイトエージェントは多数存在する可能性があります。

第3層には、すべてのエクスプロイトデータ、結果、データダンプを収集し、最終レポートにまとめる任務を持つReporterが含まれます。レポートはユーザーに表示され、ローカルに保存されます。

最初の画像では、太い矢印がモデル内のデータの流れを表しています。

 

Img1     Img2

 

Img2は最初の画像と同じモデルをより詳細に示しています。エージェントはそれぞれの層にはっきりと表示されています。この画像の 実線 矢印は再びモデル内のデータの流れを表しており、結果としてどのエージェントが相互に通信しているかを示しています。ExplorerエージェントがCoordinatorエージェントにデータを送信し、Coordinatorが次にExploitエージェント(SQLinjector、agent2、agent3)にデータを送信していることがわかります。最後に、エクスプロイトエージェントが収集したすべてのデータはReporterエージェントに渡され、Reporterがそれをコンパイルし、要約してユーザーに提示します。

また、ExplorerエージェントとExploit(SQLinjector)エージェントのみが外部環境(テストターゲット)と対話していることもわかります。これは双方向の 点線 矢印で表されています。


アーキテクチャ

前述の通り、MASAPTシステムの特徴の1つは分散型であることです。この側面の一部は既に実装されており、すべてのエージェントが独立したプログラムとして実装され、メインの(masapt)スクリプトによって実行されます。

Img 3. は、現在のシステムがどのようにセットアップされ、テストされたかを示しています。エージェントはSPADE環境を使用して、ローカルシステム上にセットアップされたXMPP(ejabberd)サーバーを介して通信していることがわかります。テストターゲット(SQLi Labs)もローカルシステム上にセットアップされています。このセットアップはシステムのテストには適していますが、分散システムとしてのMASAPTの完全な能力を示しているわけではありません。

 

 

一方、Img 4. はMASAPTの将来の実装の可能性の1つを示しています。これはXMPPを使用して通信し、Dockerを使用して多くの異なるシステム間で実行される分散マルチエージェントシステムを示しています。実線 矢印は再びシステムの通信とデータフローの側面を示し、エージェントが中央XMPPサーバーを介してデータを送受信する方法を示しています。

 

 

XMPPを選んだ理由

エージェントがXMPPを介して通信する主な理由は、エージェント間の信頼性が高く言語に依存しない通信手段を提供するためです。このアプローチにより、将来のすべてのエージェントがPythonで記述されたり、SPADE環境を使用したりする必要がなくなります。

その背後にある考え方は、将来的に別のシステムがMASAPTの一部になるユースケースがあるかもしれない(例:他のプログラミング言語で書かれたエージェント)ということです。したがって、この「XMPPアプローチ」は、システムにその種の柔軟性を提供する最善の方法です。

エージェントの動作

通信能力に加えて、動作はエージェントの2番目に重要な側面です。MASAPTエージェントとその動作は、状態のセットでモデル化されており、それによって有限状態機械になります。SPADE環境は有限状態機械の作成を強力にサポートしています。

以下の図は、エージェントが任意の時点でとりうるすべての状態を示しています。また、どのイベントがエージェントを次の状態に遷移させるかも示しています。将来のすべてのエージェントも同様の方法で実装されるべきです。

将来のすべてのエクスプロイトエージェント(例:DoS、XSS...)は、Img 8. の図をテンプレートとして実装されるべきです。

 

Img5 Img6

 

Img7   Img8

 

参考文献 🔗

[1] Audi-1 氏と彼の素晴らしい SQLI labs に大感謝。エラーベース、ブラインドブール、時間ベースのSQLインジェクションのテストに使用しました。

[2] Chu, Ge, and Alexei Lisitsa. "Agent-based (BDI) modeling for automation of penetration testing." arXiv preprint arXiv:1908.06970 (2019).

[3] Qiu, X., Wang, S., Jia, Q., Xia, C., & Xia, Q. (2014, October). An automated method of penetration testing. In 2014 IEEE Computers, Communications and IT Applications Conference (pp. 211-216). IEEE.

ツールをダウンロード
explorer@domain
explorerSecret
coordinator@domaincoordinatorSecret
sqlinjector@domaininjectorSecret