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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
opnsense-captive-lastseen-roam — OPNsense 26.7.6 - 高 - リモート - ネットワークアクセスバイパス - captive lastseen roam | Kitploit
ツール/GitHubGitHub/abraxas/opnsense-captive-lastseen-roam
認証と認可脆弱性分析エクスプロイトウェブアプリケーション悪用ネットワークセキュリティペネトレーションテストラボと実践
GitHubabraxas/opnsense-captive-lastseen-roam

人気

すべて見る →

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

すべてのツールを探索

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

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

opnsense-captive-lastseen-roam

OPNsense 26.7.6 - 高 - リモート - ネットワークアクセスバイパス - captive lastseen roam

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

Abraxas Labs - opnsense-captive-lastseen-roam

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-captive-lastseen-roam

opnsense-captive-lastseen-roam

分類: ネットワークアクセスバイパス 到達範囲: リモート

OPNsense コア 26.7.6 (a842fe48) - opnsense.org

キャプティブポータルのローミングは、依然として MAC 上の最新の hostwatch IPv4 と、すべての IPv6 のセッションを継承します。GHSA-864r (26.7.3) は「すべての IPv4 を追加する」動作を停止しました。残った IPv4 は list_hosts.py の ORDER BY last_seen DESC です。その後、プライマリ IP はフィルタリングされていない current_ips[0] から割り当てられます。Gratuitous ARP attacker_IP is-at victim_MAC が last_seen を更新します。26.7.3 以降、その IPv4 は多数のうちの一つではなく、被害者自身の ARP より新しい場合にフィルタが保持する IPv4 です。IPv6 NDP は一度も制限されていません。ローミングと hostwatch はデフォルトで有効です。

この GitHub パックは調整された開示まで非公開のままです。

IDCVE 未割り当て
分類ネットワークアクセスバイパス
到達範囲リモート (L2 隣接、キャプティブポータルゾーン)
CWECWE-345 / CWE-863
CVSSHigh: 7.4 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
製品OPNsense core
影響を受けるバージョン26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) キャプティブポータルローミング
認証キャプティブポータルゾーン上の未認証 L2 隣接ホスト、ローミング有効
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

タグ 26.7.6 のピール a842fe48 を固定しました。ラボは固定された _filter_addresses / list_hosts.py / arp.py の行を再現した Python ガジェットで、127.0.0.1:18820 でループバック待機します。

攻撃者ができること

手法シンク権限
roaming=1 の MAC に対する最新の hostwatch IPv4_filter_addresses / list_hosts.py の ORDER BY last_seen DESC を固定; プライマリはフィルタリングされていない current_ips[0] から完全性 (ラボ実証済み): 攻撃者 192.0.2.99 が保持され、被害者 192.0.2.10 が破棄され、primary=192.0.2.99。ラボ: attacker-ipv4-kept=192.0.2.99 victim-ipv4-dropped=yes roaming=1。
同じ MAC、roaming=0_filter_addresses は [addresses[0]] を返すネガティブ (ラボ実証済み): 最初の IPv4 192.0.2.10 が保持される。
同じ MAC 上の IPv6、roaming=1_filter_addresses はすべての非 v4 を保持完全性 (ラボ実証済み): すべての IPv6 が保持される (2001:db8::10 と 2001:db8::99)。
hostwatch が被害者 MAC の下に保存する偽造 GARP / NDP__captiveportal_zone_N 上のライブ PF.add_to_table / IPFW.add_accounting完全性 (推測): 攻撃者の送信元 IP がポータルパステーブルと一致する。セッションユーザー名とクォータは被害者のまま。ワイヤー上のライブ GARP とライブゾーンテーブルパスはこのガジェットでは実行されない。
同じテーブル追加セッションごとの ipfw アカウンティングルール番号完全性 (推測): 攻撃者のバイト数が被害者セッションに計上される。
被害者 IPv4 がもはや先頭でない_remove_client / list_session_ips にないアドレスの pf 削除可用性 (推測): 攻撃者 IPv4 が残る一方で、被害者 IPv4 がゾーンテーブルから外れる可能性がある。

ラボ実証済み vs 推測: last_seen IPv4 の保持/破棄、roaming=0 の最初の IP、および IPv6 すべてはラボ SUCCESS。ワイヤー上の偽造 GARP、ライブ pf/ipfw パス、およびアカウンティング汚染は推測。ガジェットであり、完全な OPNsense FreeBSD VM ではない。

必要条件: キャプティブポータルゾーン上の L2 隣接未認証ホスト。ローミング有効 (デフォルト)。Hostwatch 有効 (デフォルト)。そのゾーン上にすでに認証済みのセッションが一つ。

閉じたままの隣接する攻撃面

攻撃面ラボ
GHSA-864r の全 IPv4 追加26.7.3 で閉鎖; この残存は last_seen IPv4 とすべての IPv6
roaming=0最初の IPv4 が保持される; 攻撃者 IPv4 は選択されない
異なるログオン IP の XFF / X-Real-Ip スプーフィングゾーンプロキシが追加する; クリーンな pf CIDR ではない
呼び出し元 IP の未認証 logongetClientIp() の文書化されたポータルログイン
デフォルト 8+10 CSPRNG に対するバウチャーブルートフォースこの残存ではない
テンプレート zip-sliprealpath と管理者アップロード
ポータルスプラッシュ XSS から WebGUI オリジンへ異なるポート / chroot
WAN 未認証ゾーン上の L2 隣接
WebGUI / root / バウチャー発行閉じたまま

未認証 WebGUI なし。root なし。ポータルの WAN スキップなし。

ラボ

cd lab
./run.sh

ループバック待機 127.0.0.1:18820。Compose プロジェクト opnsense-captive-lastseen-roam。その compose からのイメージタグ。Witness OPNSENSE-CAPTIVE-LASTSEEN-ROAM-WITNESS。最終行:

SUCCESS opnsense-captive-lastseen-roam attacker-ipv4-kept=192.0.2.99 victim-ipv4-dropped=yes roaming=1 OPNSENSE-CAPTIVE-LASTSEEN-ROAM-WITNESS

ルートランチャー: python3 opnsense-captive-lastseen-roam-Abraxas-Labs.py。

修正

セッションがすでに認証した IPv4 を選択し、その MAC の最新の hostwatch 行を選択しないこと。IPv6 も同様に制限するか、カーネルがまだ保持している NDP を要求すること。フィルタがすでに別のアドレスを選択している場合、フィルタリングされていない current_ips[0] からプライマリを割り当てないこと。last_seen のみを更新する GARP を信頼できない観測として扱うこと。これが GHSA-864r の不変条件です。

参考文献

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • cp-background-process.py _filter_addresses とプライマリ IP 書き換え
  • list_hosts.py ORDER BY last_seen DESC
  • lib/arp.py get_all_addresses_by_mac
  • 姉妹 (全 IPv4 追加、この残存ではない): GHSA-864r
  • CWE-345 / CWE-863
ツールをダウンロード