Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
mikrotrick-poc — CVE-2026-67276 RouterOS SSH公開鍵認証バイパス ラボ PoC | Kitploit
ツール/GitHubGitHub/dinosn/mikrotrick-poc
脆弱性分析エクスプロイトネットワークセキュリティペネトレーションテスト認証
GitHubdinosn/mikrotrick-poc

mikrotrick-poc

CVE-2026-67276 RouterOS SSH公開鍵認証バイパス ラボ PoC

リポジトリを見る
86273720日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

MikroTrick ラボ PoC — CVE-2026-67276(RouterOS SSH公開鍵認証バイパス)

ラボ用途のみ。 所有するRouterOSインスタンスに対してのみ実行してください。 所有していないデバイスへの攻撃は犯罪です(CFAA、ポーランド刑法第267条、各国の同等法規)。

背景

CERT PL(2026-09-05)は、「MikroTrick」 というチェーン(SSHがインターネットに到達可能な場合の未認証での完全なデバイス乗っ取り)として実際に悪用されている6件のRouterOS脆弱性を公開しました。MikroTikは2026-09-03に7.25beta3 / 7.24.2 / 7.23.4 / 6.49.21で修正済みです。

CVEタイプ根本的な欠陥
2026-67276CWE-347(本PoC)SSHユーザー認証キーマッチチェックは(キータイプ、モジュラス)を検証するが指数を省略。署名検証はクライアント提供のキーを使用 ⇒ e=1偽造
2026-86060CWE-88禁止文字(攻撃ログで-2を確認)で始まるユーザー名による引数インジェクション ⇒ ポリシーマスク変更 ⇒ 権限昇格
2026-67279CWE-841ユーザー認証完了前のクライアント要求リキー後にSSHが接続プロトコルに入る ⇒ ファイル名前空間での未認証exec
2026-67277CWE-306bandwidth-testの認証前状態+未初期化バッファ開示+サイズアンダーフロー ⇒ カーネルメモリリーク/再起動
2026-67278CWE-347X.509が不正なRSA/PKCS#1v1.5署名を受け入れる。e=3トラストアンカー ⇒ 信頼済み中間証明書偽造
2026-67281CWE-824WebFig /jsproxyの古い未初期化プリンシパルポインタ+パスエスケープ ⇒ rootファイル読み取り

脆弱な範囲(全6件):[7.24, 7.24.2)、[7.0.0, 7.23.4)、[6.0.0, 6.49.21)。

CVE-2026-67276のメカニズム

  1. RouterOSは提示されたSSH公開鍵ブロブをユーザーの認証済みキーと**(キータイプ、モジュラス)**で照合します — 指数は比較されません。
  2. 署名検証はクライアント提供のキー、つまり攻撃者のブロブからの指数を使用します。
  3. {ssh-rsa, e=1, n=victim}を提示すると、sig^1 mod n == sigとなるため、有効な「署名」は単にEMSA-PKCS1-v1_5(hash, authdata) — 被害者の公開モジュラスを知る誰でも計算可能です。秘密鍵は不要です。
  4. 結果:対象ユーザーとしてのSSHコマンドチャネル。

前提条件(開示自体の最小要件):対象ユーザー名+そのユーザーの認証済みRSA公開モジュラス。

再現に必要な最小情報

  1. ターゲット: 脆弱な範囲内の任意のRouterOS、SSH到達可能(ラボ:KVM付きQEMU内のCHRイメージ。実ハードウェアも同等)。
  2. 認証済みRSAキーを持つアカウントのユーザー名。
  3. その認証済みキーのRSAモジュラスn(漏洩・取得した.pub、プロビジョニング記録、または--modulus-hexから)。これが唯一の秘密に近い入力です。秘密鍵は決して必要ありません。
  4. 開示で確認されたサーバー動作(CERT PLによる欠陥そのもの):マッチ = (type, n)、検証指数 = クライアント提供。
  5. 任意のキーブロブと任意の署名バイトを提示できるクライアント(paramiko+ForgeKeyフック — 標準のOpenSSHでは不可)。
  6. サーバーが受け入れる署名アルゴリズム(6.xではssh-rsa、7.xではrsa-sha2-256も)。

ファイル

  • forge_67276.py — プリミティブ:OpenSSH公開鍵パース、RFC 8017 EMSAエンコーダ、偽造ブロブ/署名ビルダー、RFC 8017参照検証器。
  • selftest.py — ルーター不要のローカル証明:エンコーダはOpenSSLとバイト単位で同一(実署名反転経由)、偽造署名はe=1で検証成功かつ65537では失敗、完全なRFC 4252 §7ワイヤー形状シミュレーション。全15チェックPASS。
  • poc_67276.py — バイパスを実行するparamikoクライアント(接続ごとのアルゴリズム固定。--lab-i-own-this-target必須)。
  • console_setup.py — qemuシリアルtelnet経由の一回限りのCHR準備(10.0.2.2経由で被害者キーを取得、adminにインポート、ssh有効化)。
  • sanity_real_key.py — コントロール:通常の公開鍵認証が最初に成功する必要があります。
  • victim_rsa / victim.pub — 生成された使い捨て2048ビット「被害者」キーペア。Gitから意図的に除外。

ローカルセットアップ

root@kitploit:~
python3 -m venv .venv
./.venv/bin/python -m pip install -r requirements.txt
ssh-keygen -q -t rsa -b 2048 -N '' -C victim-key -f victim_rsa

ラボ([email protected]上にプロビジョニング済み)

  • Kali x86_64、QEMU 11.0.1+KVM、/root/mikrotrick-lab/、ホストブリッジbr0 (192.168.100.1/24)にtap0-tap3。br0上のdnsmasqはMACごとのリース付き。
VMイメージゲストIPMACMac側トンネル
chr-6.49.20脆弱な6.x192.168.100.1152:54:00:aa:00:11127.0.0.1:2222
chr-6.49.21パッチ済み6.x192.168.100.1252:54:00:aa:00:12127.0.0.1:2223
chr-7.23.3脆弱な7.x192.168.100.1352:54:00:aa:00:13127.0.0.1:2224
chr-7.23.4パッチ済み7.x192.168.100.1452:54:00:aa:00:14127.0.0.1:2225
  • 想定されるゲスト状態:e1000 NIC、静的ゲストIP、adminパスワード labpass123、adminにインポートされた被害者キー。初回ログイン時の強制パスワード変更はSSH(bootstrap_password.pyがダイアログを読み取る)またはQEMUモニターsendkey(mon_type.py)経由で実行 — CHRのシリアルコンソールはデフォルトで無効。VGAコンソールはモニターscreendumpでのみ読み取り可能。
  • Macからのトンネル: ssh -N -L 2222:192.168.100.11:22 -L 2223:192.168.100.12:22 -L 2224:192.168.100.13:22 -L 2225:192.168.100.14:22 [email protected]

再実行(例:VM3):

root@kitploit:~
qemu-system-x86_64 -enable-kvm -m 512 -smp 2 -name chr-7.23.3 \
  -drive file=/root/mikrotrick-lab/chr-7.23.3.img,format=raw,if=virtio \
  -netdev tap,id=n2,ifname=tap2,script=no,downscript=no \
  -device e1000,netdev=n2,mac=52:54:00:aa:00:13 \
  -display none -monitor unix:/root/mikrotrick-lab/mon3.sock,server,nowait &
root@kitploit:~
./.venv/bin/python import_key.py 127.0.0.1 admin labpass123 victim.pub 2224
./.venv/bin/python sanity_real_key.py 127.0.0.1 2224 victim_rsa admin   # ベースライン
./.venv/bin/python poc_67276.py --host 127.0.0.1 --port 2224 \
    --username admin --pubkey victim.pub --algos rsa-sha2-256,ssh-rsa \
    --exp-enc aligned --exec '/system resource print' --lab-i-own-this-target

観測結果(2026-09-06独立再検証)

ターゲット実秘密鍵(ベースライン)偽造e=1キー(PoC)
7.23.3認証OK認証OK+/system resource print実行 — CVE確認
7.23.4(パッチ済み)認証OK拒否
6.49.20認証OK拒否(ニュアンス参照)
6.49.21(パッチ済み)無効なベースライン解釈不能。ゲストがSSH none認証を受け入れ

7.xペアでは、実キーベースラインは両ビルドで成功、SSH none認証は拒否、誤ったモジュラスの偽造は7.23.3で拒否、正しいモジュラスの偽造は7.23.3でのみ成功。これは有効な脆弱版対パッチ版の比較です。

6.49.21ゲストは独立再検証中に文書化どおりにプロビジョニングされませんでした:adminは期限切れのままで、/user ssh-keys print detailは空で、資格情報なしのSSH noneリクエストがコマンドを実行しました。無関係な実RSAキーと誤ったモジュラスのe=1キーも同様に成功したように見えました。このゲストをパッチ済みコントロールとして使用する前に、再プロビジョニングしてnoneと無関係なキーが拒否されることを確認してください。

バージョンのニュアンス: 6.49.20ではサーバー側のマッチがe=1ブロブを拒否します(/log ssh,debug: can't find matching key for user: admin)— 開示された指数省略は6.xのマッチャーでは観測できませんでしたが、CERTの包括的範囲は[6.0.0, 6.49.21)をリストしています。脆弱性確認済み:7.23.3。パッチ済み確認済み:7.23.4。現在の6.49.21ラボ状態はどちらの結果も証明しません。実地のMikroTrick活動も7.xデバイスを標的にしていました。

ワイヤーフォーマットの発見(RFC 8332): ブロブの内部タイプ文字列はrsa-sha2-256/512署名アルゴリズムでもssh-rsaのままです。署名アルゴリズムは外側のアルゴリズムフィールドにのみ入ります。これを無視すると、サーバーはユーザー認証途中で切断します(ブロブパースエラー)— 6.xと7.xの両方で観測。PoCのForgeKeyはこれを処理し、--exp-enc aligned|canonicalでe=1 mpint幅(1バイト対3バイト)を切り替えます。7.23.3では両方の幅が認証されます — マッチャーは指数をパースし、その値を本当に無視します。6.49.20ではどちらも認証されません(can't find matching key)— 上記のバージョンのニュアンスを参照。サーバー側の/system logging add topics=ssh,debug+/log printパケット16進ダンプがこれらすべてを明らかにしました。

このラボで使用したソースイメージアーカイブのSHA-256値:

root@kitploit:~
a954ab0002a83de5e4c02110f560d0bf622e7d21916088aaacda6baaba88cf4a  chr-6.49.20.img.zip
6dcfb8674fa7964bf92ce849fbb0ba8147a5cf3d7a1ba595e24ce3e615569188  chr-6.49.21.img.zip
646764fb0a53e9b5a056cb9cf7420eb1629031096c7268c99fb9216c07f8e98c  chr-7.23.3.img.zip
0d32a8da0950dee71e751281c39063f2bebee4b542291aedecc9dbfbe5d60c9d  chr-7.23.4.img.zip

防御メモ(CERT PL)

  • 直ちにパッチ適用:7.25beta3 / 7.24.2 / 7.23.4 / 6.49.21。
  • 暫定対策:SSH/WWW/bandwidth-testを信頼できる管理ネットワークに制限。パッチ未適用デバイスからのRouterOS発信SSH/TLSを回避。
  • IOC:ログ行login failure for user -2 via ssh、 user <name> added by ssh:-2@<ip>。不明な高権限ユーザーops。 /system/device-mode/printの「Flagged」マーカー(侵害を示すが、その不在は何も証明しない)。観測された攻撃者IP:82.192.72.4、103.102.31.18。

ソース

  • CERT PL勧告:https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/
  • CERT PL CVEページ:https://cert.pl/en/posts/2026/09/mikrotik-routeros-cve/
  • MikroTik速報(2026-09-03):https://mikrotik.com/supportsec/september-2026-vulnerability/
  • 「Flagged」メカニズム:https://manual.mikrotik.com/docs/system-information-and-utilities/device-mode#flagged-status
ツールをダウンロード