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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - 高 - リモート - 権限の残存 - cmds_denied が RFC エイリアス (XRMD) を検出しない | Kitploit
ツール/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
防御ツール脆弱性分析エクスプロイト構成監査ネットワークセキュリティペネトレーションテスト論文と研究ラボと実践
GitHubabraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - 高 - リモート - 権限の残存 - cmds_denied が RFC エイリアス (XRMD) を検出しない

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - vsftpd-cmds-denied-alias

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

クラス: 権限の取りこぼし 到達範囲: リモート

vsftpd 3.0.5 - Chris Evans

私は公式 tarball を固定した。GitHub ミラーでもディストロのフォークでもない。SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3。vsftpver.h VSF_VERSION "3.0.5"。

cmds_denied は process_post_login (postlogin.c:140-184) における大文字化されたトークンの完全一致である。その後ディスパッチは RFC 775 のエイリアスを同じハンドラに OR する: RMD||XRMD (:263-264)、さらに CWD||XCWD、MKD||XMKD、PASV||P@SW、加えて個別の EPSV / STOU / APPE。RMD を拒否リストに入れた運用者(よくある DELE,RMD のレシピ)でも、XRMD は rmdir を実行できてしまう。

この取りこぼしは、運用者が閉じたと思っていた拒否リストの下での、認証済み FTP の完全性である。未認証でも、root でも、chroot エスケープでも、RCE でもない。

IDCVE はまだなし
クラス権限の取りこぼし (cmds_denied の完全一致トークン)
到達範囲リモート (認証済み FTP)
CWECWE-863
CVSSHigh: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
製品vsftpd (Chris Evans)
影響vsftpd 3.0.5 公式 tarball
認証FTP USER/PASS (ラボ: anonymous ftp)
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1:18720 のみ

攻撃者ができること

誰が: 運用者が cmds_denied を設定したデーモン上の認証済み FTP ユーザー(anonymous またはローカル)。デフォルトは未設定。man ページが挙げる仮想ユーザーのレシピは guest uid を共有するため、Unix DAC ではそれらを分離できない。セッションはすでに通常の chroot 内でマップされた uid である。cmds_denied は、その動詞を奪うはずだった追加の制御であった。

完全性 (ラボで実証済み)

メソッド + シンク権限
cmds_denied=RMD 後の XRMD labdirhandle_rmd -> セッション uid が Unix-rmdir できるディレクトリの str_rmdir。ラボ: RMD labdir 550、XRMD labdir 250、CWD labdir 550 (ディレクトリは消滅)。2 回目の MKD labctrl は RMD で依然 550。

完全性 (同じ完全一致トークンゲートから推測; ラボではない)

メソッド + シンク権限
cmds_denied=MKD 後の XMKD dirhandle_mkd -> セッション uid として mkdir
cmds_denied=CWD 後の XCWD pathhandle_cwd -> chdir。その後 download_enable なら RETR
cmds_denied=STOR 後の STOU / APPEhandle_upload_common の作成 / 追記。write_enable が必要
cmds_denied=PASV 後の EPSV / P@SWhandle_pasv が、拒否リストが止めるはずだったデータリスナーを開く

ラボで実証したのは RMD 後の XRMD のみ。他のエイリアスは同じ str_equal ゲートと同じディスパッチ内の OR を共有する。私はそれらを試していない。

偵察

第一級の取りこぼしとしてはなし。cmds_denied は隠蔽ではない。XRMD は名前を列挙しない。

可用性

バーには含まれない。ディレクトリの削除は完全性への打撃である。その名前の後続の CWD / RETR は副作用として 550 になる。

この取りこぼしが与えないもの

  • 未認証の cmds_denied (ログイン前はこれを無視する。USER/PASS/QUIT はログイン前テーブルのまま)
  • root
  • chroot エスケープ (allow_writeable_chroot はデフォルト off。ラボは /incoming の下にのみ書き込むため、拒否は依然として有効)
  • cmds_allowed のフェイルクローズ: XRMD を含む未記載の動詞は 550 のまま
  • write_enable=NO は依然として書き込み系 (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU) をブロックする
  • ユーザーが uid を共有しない場合の Unix DAC
  • SITE 対 site のケースバイパス (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD は決して一致しない。chmod は chmod_enable=NO または cmds_denied=SITE で殺す

発見の経緯

私は公式 3.0.5 で hide/deny/cmds_denied を探した。ゲートはカンマトークンを 1 回走査し、大文字化された動詞に対して str_equal するだけである。handle_rmd の内部に 2 つ目のチェックはない。RFC 775 は依然として XRMD を RMD として出荷している。よくある助言は cmds_denied=DELE,RMD。その文字列は XRMD を決して名指ししない。

誤った道: SITE 対 site をバイパスとして扱うこと。動詞は大文字化される。cmds_allowed も同様に扱うこと: そのリストはフェイルクローズであるため、記載されていないエイリアスは拒否されたままである。

ラボ

cd lab
./run.sh

ループバック 127.0.0.1:18720。Compose プロジェクト vsftpd-cmds-denied-alias。公式 3.0.5 tarball は lab/ 内 (SHA-256 は上記)。cmds_denied=RMD、write_enable=YES、anonymous、書き込みは /incoming の下のみ。ウィットネス VSFTPD-CMDS-DENIED-ALIAS-WITNESS。最終行:

SUCCESS vsftpd-cmds-denied-alias rmd=550 xrmd=250 dir-gone=yes VSFTPD-CMDS-DENIED-ALIAS-WITNESS

修正

現代の動詞を拒否するときは RFC エイリアスも拒否する、または cmds_denied でエイリアスを一致させる (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE)。cmds_allowed (許可リスト) を推奨する。

ベンダーの受け付けは [email protected] (vsftpd)。無報酬。vsftpd のいかなるミラーでも公開 GitHub issue を開かないこと。

連絡先

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

ツールをダウンロード