Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ForgottenButNotGone — Samba における 2 つの未認証 RCE(CVE-2026-4408 および CVE-2026-4480)と、TelnetD におけるローカル権限昇格(CVE-2026-28372)の概念実証(PoC)スクリプト | Kitploit
ツール/GitHubGitHub/safebreach-labs/forgottenbutnotgone
特権昇格脆弱性分析エクスプロイトペネトレーションテストレッドチーミング
GitHubsafebreach-labs/forgottenbutnotgone

ForgottenButNotGone

Samba における 2 つの未認証 RCE(CVE-2026-4408 および CVE-2026-4480)と、TelnetD におけるローカル権限昇格(CVE-2026-28372)の概念実証(PoC)スクリプト

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
101ヶ月前未レビュー

忘れられたが、消えてはいない

このリポジトリには、Black Hat USA 2026 および DEF CON 34 で発表された講演「Forgotten but Not Gone: Unauthenticated RCEs and LPEs in Legacy Linux Services」で紹介された脆弱性の概念実証スクリプトが含まれています。

CVE-2026-28372

TelnetD におけるローカル権限昇格: 非特権攻撃者は、TelnetD の環境変数機能を悪用して、root 権限のシェルを取得できます。設計上およびその RFC に従い、Telnet プロトコルはクライアントがシェルセッションの環境変数を設定できるようにします。この機能は、セキュリティの観点からは不適切に設計されていました。このサービスは、認証されていないクライアントが、telnetd プロセス自体とそのすべてのサブプロセスの環境変数を設定することを許可していました。そのサブプロセスの 1 つが /usr/bin/login です。リモートの Telnet クライアントとして環境変数を設定することで、「CREDENTIALS_DIRECTORY」という環境変数を指定して /usr/bin/login を起動することができました。これにより、login プロセスは、「CREDENTIALS_DIRECTORY」で指定されたディレクトリ内で「login.noauth」という名前のファイルを検索します。ファイルに文字列「yes」が含まれている場合、login プロセスは認証をスキップし、クライアントが指定したユーザーとして動作するシェルをクライアントに提供します。任意のユーザー (root でも) を指定できます。

CVE-2026-4408

Samba の SAMR を介した認証されていないリモートコード実行: Samba は、クライアントから要求されたさまざまな操作 (ネットワーク共有の追加、プリンタの追加など) を実行するために、設定ファイル (smb.conf) で設定されたシェルコマンドに依存しています。これらのシェルコマンドの一部は、クライアントから送信された要求に基づいてパラメータを受け取ります。ほとんどの場合、パラメータはサニタイズされ、シェルインジェクションを防ぐために、コマンド実行前に特殊文字がエスケープされます。

脆弱性は、クライアントが指定した文字列をサニタイズせずにシェルコマンドにフォーマットする関数「check_password_complexity」にあります。この脆弱性には 2 つの条件が必要です:

  1. 「check password script」が「%u」パラメータを使用してコマンドを実行するように設定されている
  2. サービスが RPC 要求を TCP で受け付けるために NCACN_IP_TCP プロトコルシーケンスを使用するように設定されている
呼び出しが関数「check_password_complexity」に達すると、構造体「SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG」の「UserAccountName」フィールドがユーザー名として使用され、「check password script」コマンドのパラメータ「%u」にフォーマットされます。その後、完全なコマンドラインは関数「smbrunsecret」に渡され、この関数は「escape_shell_string」を呼び出さずにコマンドを実行します。

Samba の RPC デーモン (samba-dcerpcd) が NCACN_IP_TCP を使用するように構成するには、それをメインの Samba サービスの一部としてではなく、独立したシステムサービスとして起動する必要があります。また、設定ファイル内の「rpc start on demand helpers」オプションを「no」に設定する必要があります。

CVE-2026-4480

Samba の SPOOLSS を介した認証されていないリモートコード実行: 関数 generic_job_submit も、クライアントが制御する文字列をサニタイズせずにシェルコマンドにフォーマットします。次の設定の組み合わせがこの脆弱性を引き起こします:

  1. サーバーがプリンタ共有を公開している
  2. 「printing」設定が IPRINT または CUPS 以外の値に設定されている
  3. 「print command」設定に、ジョブ名をフォーマットするための「%J」が含まれている

認証されていないクライアントは、spoolss RPC インターフェースを介してプリンタ共有へのアクセスを要求できます。その後、関数 RpcStartDocPrinter を使用して印刷ジョブを送信できます。要求で指定されたドキュメント名は、コマンドの「%J」パラメータにフォーマットされるジョブ名として使用されます。hRpcEndDocPrinter を呼び出すと generic_job_submit がトリガーされ、ジョブ名をサニタイズせずにフォーマットした後、設定から「print command」を実行します。エクスプロイトによって送信されたコードは、ユーザー「nobody」として実行されます。プリンタ共有セクションに設定「valid users = @users」が追加されている場合、悪用は依然として可能ですが、有効な認証情報が必要です。認証が実行された場合、エクスプロイトによって送信されたコードは「nobody」ではなく認証されたユーザーとして実行されます。

クレジット

  • Ron Ben Yizhak

参考文献

  • CVE-2026-24061
ツールをダウンロード