Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - Élevé - À distance - Résidu de privilège - cmds_denied manque les alias RFC (XRMD) | Kitploit
Outils/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
Outils DéfensifsAnalyse des VulnérabilitésExploitationAudit de ConfigurationSécurité RéseauTests d'IntrusionArticles et RechercheLabs et Pratique
GitHubabraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - Élevé - À distance - Résidu de privilège - cmds_denied manque les alias RFC (XRMD)

Voir le dépôt
4il y a 3 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Abraxas Labs - vsftpd-cmds-denied-alias

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

vsftpd-cmds-denied-alias

Classe : Reliquat de privilège Portée : Distante

vsftpd 3.0.5 - Chris Evans

J'ai épinglé l'archive officielle, pas un miroir GitHub et pas un fork de distribution. SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3. vsftpver.h VSF_VERSION "3.0.5".

cmds_denied est une correspondance exacte de jeton en majuscules dans process_post_login (postlogin.c:140-184). La répartition effectue ensuite un OR des alias RFC 775 sur les mêmes gestionnaires : RMD||XRMD (:263-264), également CWD||XCWD, MKD||XMKD, PASV||P@SW, plus EPSV / STOU / APPE séparés. Un opérateur qui met RMD sur liste de refus (la recette courante DELE,RMD) laisse toujours XRMD faire un rmdir.

Ce reliquat est une atteinte à l'intégrité FTP authentifiée sous une liste de refus que l'opérateur croyait fermée. Ce n'est pas non authentifié, pas root, pas une évasion de chroot, et pas une RCE.

IDpas encore de CVE
ClasseReliquat de privilège (cmds_denied jeton exact)
PortéeDistante (FTP authentifié)
CWECWE-863
CVSSÉlevé : 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Produitvsftpd (Chris Evans)
Affectévsftpd 3.0.5 archive officielle
AuthFTP USER/PASS (labo : anonyme ftp)
LicenceGNU Affero GPL v3.0
Labo127.0.0.1:18720 uniquement

Ce qu'un attaquant peut faire

Qui : un utilisateur FTP authentifié (anonyme ou local) sur un démon où l'opérateur a défini cmds_denied. Par défaut, non défini. Les recettes d'utilisateurs virtuels citées dans la page de manuel partagent un uid invité, donc le DAC Unix ne peut pas les séparer. La session est déjà l'uid mappé à l'intérieur du chroot habituel. cmds_denied était le contrôle supplémentaire censé retirer le verbe.

Intégrité (prouvé en labo)

Méthode + ciblePrivilège
XRMD labdir après cmds_denied=RMDhandle_rmd -> str_rmdir d'un répertoire que l'uid de session peut supprimer via Unix. Labo : RMD labdir 550, XRMD labdir 250, CWD labdir 550 (répertoire disparu). Second MKD labctrl toujours 550 sur RMD.

Intégrité (déduit du même filtre à jeton exact ; pas le labo)

Méthode + ciblePrivilège
XMKD dir après cmds_denied=MKDhandle_mkd -> mkdir en tant qu'uid de session
XCWD path après cmds_denied=CWDhandle_cwd -> chdir. Puis RETR si download_enable
STOU / APPE après cmds_denied=STORhandle_upload_common création / ajout. Nécessite write_enable
EPSV / P@SW après cmds_denied=PASVhandle_pasv ouvre un écouteur de données que la liste de refus était censée arrêter

Le labo n'a prouvé que XRMD après RMD. Les autres alias partagent le même filtre str_equal et le même OR dans la répartition. Je ne les ai pas exercés.

Reconnaissance

Aucune en tant que reliquat de premier ordre. cmds_denied n'est pas une dissimulation. XRMD ne liste pas les noms.

Disponibilité

Pas dans le barème. Supprimer un répertoire est une atteinte à l'intégrité. Un CWD / RETR ultérieur de ce nom renvoie 550 en effet secondaire.

Ce que ce reliquat n'accorde pas

  • cmds_denied non authentifié (le pré-login l'ignore ; USER/PASS/QUIT restent la table de pré-login)
  • Root
  • Évasion de chroot (allow_writeable_chroot désactivé par défaut ; le labo n'écrit que sous /incoming donc le refus tient toujours)
  • cmds_allowed en échec fermé : les verbes non listés, y compris XRMD, restent 550
  • write_enable=NO bloque toujours la famille d'écriture (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU)
  • Le DAC Unix lorsque les utilisateurs ne partagent pas un uid
  • Contournement de casse SITE vs site (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD ne correspond jamais ; tuez chmod avec chmod_enable=NO ou cmds_denied=SITE

Comment je l'ai trouvé

J'ai chassé les dissimulations/refus/cmds_denied sur la 3.0.5 officielle. Le filtre est un seul parcours de jetons séparés par des virgules et str_equal contre le verbe mis en majuscules. Il n'y a pas de seconde vérification dans handle_rmd. La RFC 775 livre toujours XRMD comme RMD. Le conseil courant est cmds_denied=DELE,RMD. Cette chaîne ne nomme jamais XRMD.

Fausse piste : traiter SITE vs site comme un contournement. Les verbes sont mis en majuscules. Traiter cmds_allowed de la même manière : cette liste est en échec fermé, donc les alias qui ne sont pas listés restent refusés.

Labo

cd lab
./run.sh

Boucle locale 127.0.0.1:18720. Projet Compose vsftpd-cmds-denied-alias. Archive officielle 3.0.5 dans lab/ (SHA-256 ci-dessus). cmds_denied=RMD, write_enable=YES, anonyme, écrit uniquement sous /incoming. Témoin VSFTPD-CMDS-DENIED-ALIAS-WITNESS. Dernière ligne :

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

Correctif

Refusez les alias RFC lorsque vous refusez le verbe moderne, ou faites correspondre les alias dans cmds_denied (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE). Préférez cmds_allowed (liste d'autorisation).

La réception par le fournisseur est [email protected] (vsftpd). Non rémunéré. N'ouvrez pas d'issue GitHub publique sur un miroir vsftpd.

Contact

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

Télécharger l’outil