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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
opnsense-lockout-factory-ip — OPNsense 26.7.6 - 高 - リモート - 権限の残存 - 工場出荷時ロックアウト IP | Kitploit
ツール/GitHubGitHub/abraxas/opnsense-lockout-factory-ip
脆弱性分析エクスプロイトセキュリティ仮想化ネットワークセキュリティペネトレーションテスト論文と研究ラボと実践
GitHubabraxas/opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

OPNsense 26.7.6 - 高 - リモート - 権限の残存 - 工場出荷時ロックアウト IP

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - opnsense-lockout-factory-ip

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-lockout-factory-ip

opnsense-lockout-factory-ip

クラス: 権限の残存 到達範囲: リモート

OPNsense core 26.7.6 (a842fe48) - opnsense.org

未認証の WebGUI ログインが、ソケット IP を持たないファクトリの LOG_AUTH 行から lockout_handler を依然として駆動する。GHSA-2v2x は CRLF 分割を塞ぎ、ロックアウト IP の選択を 最後 のトークンに切り替えたため、authgui.inc の末尾の from REMOTE_ADDR が優先される。AuthenticationFactory::authenticate() は依然として生のユーザー名をアドレス接尾辞なしで syslog() に出力する。ロックアウトの False フレーズと IPv4 トークンに一致するユーザー名が、その行の最後の(唯一の)アドレスとなる。デフォルトの 5 回の間隔を空けた試行後: pfctl -t sshlockout -T add および pfctl -k。デフォルト: ロックアウト有効、LAN GUI。

IDCVE 未割当
クラス権限の残存
到達範囲リモート(未認証の WebGUI ログイン POST)
CWECWE-117 / CWE-863
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
製品OPNsense core (Deciso B.V.)
影響を受けるバージョンOPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) AuthenticationFactory / lockout_handler
認証未認証。GET / から取得した CSRF クッキー + トークン。
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

タグ 26.7.6 を固定した。ラボは固定された lockout_handler に加え、PATH スタブの pfctl、ループバック識別子 127.0.0.1:18800 で構成される。これは CRLF ではない。1 つの PHP syslog レコードは 1 つのハンドラ行のままである。Last-IP は authgui テンプレートにとっては正しいハードニングであり、ファクトリテンプレートにとっては誤ったハードニングであった。

攻撃者ができること

手法シンク権限
未認証のファクトリ LOG_AUTH ユーザー名にロックアウト False フレーズと IPv4 トークン(6 行の間隔を空けた行)lockout_handler を固定 -> スタブ pfctl -t sshlockout -T add および pfctl -k完全性(ラボ実証済み): テーブル sshlockout とステートキル argv。ラボ: planted=203.0.113.77。
同じ plant、ライブ pffilter.lib.inc:293-314 from <sshlockout> to (self) ポート 22/GUI可用性(推測): plant されたホストからの新規 TCP 22/GUI をドロップ; pfctl -k はその IP からの既存ステートを切断する。
同じユーザー名で IPv4 のみ(False フレーズなし)lockout_handlerネガティブ(ラボ実証済み): テーブル追加なし。negative-ip-only=no。
末尾に from REMOTE_ADDR を持つ authgui 行last-IP パーサー自身の IP の完全性(ラボ実証済み): authgui の最後のトークンは 198.51.100.10 のまま。
失敗ログインのレスポンスボディなし偵察(ラボ実証済みでクローズ): 既存の「Wrong username or password.」。ユーザー列挙なし。

ラボ実証済み vs 推測: ファクトリ plant、ユーザー名のみのネガティブ、authgui last-IP はラボ SUCCESS。ライブ pf ブロッキングとライブセッションキルは推測。固定された lockout_handler は変更なしでコピー; syslog-ng と WebGUI POST はスタブ化。

必要条件: 未認証の WebGUI ログイン POST。GET / から取得した CSRF クッキー + トークン。ロックアウト有効(system.no_sshlockout 未設定)。デフォルトインストール。

クローズのままの隣接面

面ラボ
未認証セッション / root / config.xml 書き込みクローズ
外部 IP を plant する authgui 行最後のトークンは REMOTE_ADDR(authgui-last-ip=198.51.100.10)
CRLF による余分な readline()GHSA-2v2x の書き換え; 1 レコードは 1 行のまま
空パスワードログインauthgui.inc は非空パスワードを要求
authgui 行での CVE-2026-44195 成功キーワードリセット失敗ルールが先
26.7.6 Omar Habra pfctl -k str(ip) TypeErrorすでにこのピンに存在
plant された IP を DNS/ゲートウェイ宛先とするルールは from <sshlockout> to (self) ポート 22/GUI のみ

ログインスキップなし。RCE なし。config.xml の書き換えなし。セッションを生成しない。

ラボ

cd lab
./run.sh

ループバック 127.0.0.1:18800。Compose プロジェクト opnsense-lockout-factory-ip。イメージタグ opnsense-lockout-factory-ip:26.7.6。ウィットネス OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS。最終行:

SUCCESS opnsense-lockout-factory-ip planted=203.0.113.77 table=sshlockout negative-ip-only=no authgui-last-ip=198.51.100.10 OPNSENSE-LOCKOUT-FACTORY-IP-WITNESS

修正

ファクトリの syslog(LOG_AUTH) テンプレートにソケット IP を追加し、authgui.inc と同じ末尾の from REMOTE_ADDR とする。あるいは、ハンドラ自身のピアから来ていないロックアウト IP を無視する。last-token を「クライアントアドレス」の代替として扱わないこと。

参考文献

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • AuthenticationFactory.php
  • lockout_handler
  • 名前付きウォーク(この残存ではない): GHSA-2v2x CRLF first-IP plant
  • CWE-117 / CWE-863
ツールをダウンロード