Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - Hoch - Remote - Privilege leftover - cmds_denied verpasst RFC-Aliase (XRMD) | Kitploit
Tools/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
DefensivwerkzeugeSchwachstellenanalyseExploitationKonfigurationsprüfungNetzwerksicherheitPenetrationstestsPapers & ForschungLabs & Praxis
GitHubabraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - Hoch - Remote - Privilege leftover - cmds_denied verpasst RFC-Aliase (XRMD)

Repository anzeigen
4vor 2 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - vsftpd-cmds-denied-alias

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

vsftpd-cmds-denied-alias

Klasse: Privilegien-Überbleibsel Reichweite: Remote

vsftpd 3.0.5 - Chris Evans

Ich habe das offizielle Tarball gepinnt, nicht einen GitHub-Mirror und nicht einen Distro-Fork. SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3. vsftpver.h VSF_VERSION "3.0.5".

cmds_denied ist ein exakter, in Großbuchstaben umgewandelter Token-Abgleich in process_post_login (postlogin.c:140-184). Der Dispatch OR-verknüpft dann RFC-775-Aliase auf dieselben Handler: RMD||XRMD (:263-264), ebenso CWD||XCWD, MKD||XMKD, PASV||P@SW, plus separate EPSV / STOU / APPE. Ein Operator, der RMD auf die Denylist setzt (das übliche DELE,RMD-Rezept), erlaubt XRMD weiterhin das rmdir.

Dieses Überbleibsel ist authentifizierte FTP-Integrität unter einer Denylist, die der Operator für geschlossen hielt. Es ist nicht unauth, nicht root, kein Chroot-Escape und kein RCE.

IDnoch keine CVE
KlassePrivilegien-Überbleibsel (cmds_denied exakter Token)
ReichweiteRemote (authentifiziertes 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
Produktvsftpd (Chris Evans)
Betroffenvsftpd 3.0.5 offizielles Tarball
AuthFTP USER/PASS (Lab: anonym ftp)
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18720

Was ein Angreifer tun kann

Wer: ein authentifizierter FTP-Benutzer (anonym oder lokal) auf einem Daemon, bei dem der Operator cmds_denied gesetzt hat. Standard ist nicht gesetzt. Virtual-User-Rezepte, die die Manpage nennt, teilen sich eine Gast-UID, sodass Unix-DAC sie nicht trennen kann. Die Session ist bereits die gemappte UID innerhalb des üblichen Chroots. cmds_denied war die zusätzliche Kontrolle, die das Verb wegnehmen sollte.

Integrität (im Lab bewiesen)

Methode + SinkPrivileg
XRMD labdir nach cmds_denied=RMDhandle_rmd -> str_rmdir eines Verzeichnisses, das die Session-UID per Unix-rmdir entfernen kann. Lab: RMD labdir 550, XRMD labdir 250, CWD labdir 550 (Verzeichnis weg). Zweites MKD labctrl weiterhin 550 bei RMD.

Integrität (abgeleitet aus demselben exakten Token-Gate; nicht das Lab)

Methode + SinkPrivileg
XMKD dir nach cmds_denied=MKDhandle_mkd -> mkdir als die Session-UID
XCWD path nach cmds_denied=CWDhandle_cwd -> chdir. Dann RETR, falls download_enable
STOU / APPE nach cmds_denied=STORhandle_upload_common create / append. Benötigt write_enable
EPSV / P@SW nach cmds_denied=PASVhandle_pasv öffnet einen Data-Listener, den die Denylist stoppen sollte

Das Lab bewies nur XRMD nach RMD. Die anderen Aliase teilen dasselbe str_equal-Gate und dasselbe OR im Dispatch. Ich habe sie nicht ausgeführt.

Recon

Keine als erstklassiges Überbleibsel. cmds_denied ist kein Versteck. XRMD listet keine Namen.

Verfügbarkeit

Nicht in der Leiste. Das Entfernen eines Verzeichnisses ist ein Integritätstreffer. Ein späteres CWD / RETR dieses Namens liefert als Nebeneffekt 550.

Was dieses Überbleibsel nicht gewährt

  • Unauthentifiziertes cmds_denied (Pre-Login ignoriert es; USER/PASS/QUIT bleiben die Pre-Login-Tabelle)
  • Root
  • Chroot-Escape (allow_writeable_chroot standardmäßig aus; Lab schreibt nur unter /incoming, sodass die Deny weiterhin hält)
  • cmds_allowed fail-closed: nicht gelistete Verben einschließlich XRMD bleiben 550
  • write_enable=NO blockiert weiterhin die Write-Familie (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU)
  • Unix-DAC, wenn Benutzer keine UID teilen
  • SITE vs. site Case-Bypass (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD matcht nie; chmod mit chmod_enable=NO oder cmds_denied=SITE killen

Wie ich es gefunden habe

Ich habe nach Hide/Deny/cmds_denied auf offiziellem 3.0.5 gejagt. Das Gate ist ein Durchlauf von Komma-Tokens und str_equal gegen das in Großbuchstaben umgewandelte Verb. Es gibt keine zweite Prüfung innerhalb von handle_rmd. RFC 775 liefert XRMD weiterhin als RMD. Üblicher Rat ist cmds_denied=DELE,RMD. Dieser String nennt nie XRMD.

Fehlweg: SITE vs. site als Bypass zu behandeln. Verben werden in Großbuchstaben umgewandelt. cmds_allowed genauso zu behandeln: Diese Liste ist fail-closed, sodass Aliase, die nicht gelistet sind, denied bleiben.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18720. Compose-Projekt vsftpd-cmds-denied-alias. Offizielles 3.0.5-Tarball in lab/ (SHA-256 oben). cmds_denied=RMD, write_enable=YES, anonym, schreibt nur unter /incoming. Witness VSFTPD-CMDS-DENIED-ALIAS-WITNESS. Letzte Zeile:

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

Fix

Die RFC-Aliase denyen, wenn das moderne Verb denied wird, oder Aliase in cmds_denied matchen (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE). cmds_allowed (Allowlist) bevorzugen.

Vendor-Intake ist [email protected] (vsftpd). Unbezahlt. Kein öffentliches GitHub-Issue auf irgendeinem vsftpd-Mirror öffnen.

Kontakt

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

Tool herunterladen