Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - Alta - Remoto - Privilegio residuo - cmds_denied non intercetta gli alias RFC (XRMD) | Kitploit
Strumenti/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
Strumenti DifensiviAnalisi delle VulnerabilitàExploitAudit di ConfigurazioneSicurezza di RetePenetration TestingPaper e RicercaLab e Pratica

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHub
abraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - Alta - Remoto - Privilegio residuo - cmds_denied non intercetta gli alias RFC (XRMD)

Vedi Repository
42 giorni faNon ancora revisionato
Condividi

Abraxas Labs - vsftpd-cmds-denied-alias

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

vsftpd-cmds-denied-alias

Classe: Privilegio residuo Portata: Remota

vsftpd 3.0.5 - Chris Evans

Ho fissato il tarball ufficiale, non un mirror GitHub e non un fork della distro. SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3. vsftpver.h VSF_VERSION "3.0.5".

cmds_denied è una corrispondenza esatta di token in maiuscolo in process_post_login (postlogin.c:140-184). Il dispatch poi applica in OR gli alias RFC 775 sugli stessi handler: RMD||XRMD (:263-264), anche CWD||XCWD, MKD||XMKD, PASV||P@SW, più EPSV / STOU / APPE separati. Un operatore che mette in denylist RMD (la ricetta comune DELE,RMD) consente comunque a XRMD di eseguire rmdir.

Questo residuo è un problema di integrità FTP autenticata sotto una denylist che l'operatore credeva chiusa. Non è una vulnerabilità non autenticata, non è root, non è un escape dal chroot e non è RCE.

IDnessuna CVE al momento
ClassePrivilegio residuo (token esatto cmds_denied)
PortataRemota (FTP autenticato)
CWECWE-863
CVSSAlto: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Prodottovsftpd (Chris Evans)
Affettovsftpd 3.0.5 tarball ufficiale
AuthFTP USER/PASS (lab: anonymous ftp)
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:18720

Cosa può fare un attaccante

Chi: un utente FTP autenticato (anonymous o locale) su un daemon dove l'operatore ha impostato cmds_denied. Il default è non impostato. Le ricette per utenti virtuali citate nella man page condividono un uid guest, quindi il DAC Unix non può separarle. La sessione è già l'uid mappato all'interno del solito chroot. cmds_denied era il controllo aggiuntivo che doveva togliere il verbo.

Integrità (dimostrata in lab)

Metodo + sinkPrivilegio
XRMD labdir dopo cmds_denied=RMDhandle_rmd -> str_rmdir di una directory che l'uid della sessione può rimuovere con Unix-rmdir. Lab: RMD labdir 550, XRMD labdir 250, CWD labdir 550 (directory sparita). Secondo MKD labctrl ancora 550 su RMD.

Integrità (dedotta dallo stesso gate a token esatto; non dal lab)

Metodo + sinkPrivilegio
XMKD dir dopo cmds_denied=MKDhandle_mkd -> mkdir come l'uid della sessione
XCWD path dopo cmds_denied=CWDhandle_cwd -> chdir. Poi RETR se download_enable
STOU / APPE dopo cmds_denied=STORhandle_upload_common create / append. Richiede write_enable
EPSV / P@SW dopo cmds_denied=PASVhandle_pasv apre un listener dati che la denylist doveva fermare

Il lab ha dimostrato solo XRMD dopo RMD. Gli altri alias condividono lo stesso gate str_equal e lo stesso OR nel dispatch. Non li ho esercitati.

Ricognizione

Nessuna come residuo di prima classe. cmds_denied non è un nascondiglio. XRMD non elenca nomi.

Disponibilità

Non rientra nella barra. Rimuovere una directory è un colpo all'integrità. Un successivo CWD / RETR di quel nome restituisce 550 come effetto collaterale.

Cosa non concede questo residuo

  • cmds_denied non autenticato (il pre-login lo ignora; USER/PASS/QUIT restano la tabella pre-login)
  • Root
  • Escape dal chroot (allow_writeable_chroot default off; il lab scrive solo sotto /incoming quindi il deny regge ancora)
  • cmds_allowed fail-closed: i verbi non elencati, incluso XRMD, restano 550
  • write_enable=NO blocca comunque la famiglia di scrittura (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU)
  • DAC Unix quando gli utenti non condividono un uid
  • Bypass del case SITE vs site (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD non corrisponde mai; blocca chmod con chmod_enable=NO o cmds_denied=SITE

Come l'ho trovato

Ho cercato hide/deny/cmds_denied sulla 3.0.5 ufficiale. Il gate è una singola scansione di token separati da virgola e str_equal contro il verbo in maiuscolo. Non c'è un secondo controllo dentro handle_rmd. RFC 775 fornisce ancora XRMD come RMD. Il consiglio comune è cmds_denied=DELE,RMD. Quella stringa non nomina mai XRMD.

Falsa pista: trattare SITE vs site come un bypass. I verbi sono in maiuscolo. Trattare cmds_allowed allo stesso modo: quella lista è fail-closed, quindi gli alias non elencati restano negati.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18720. Progetto Compose vsftpd-cmds-denied-alias. Tarball ufficiale 3.0.5 in lab/ (SHA-256 sopra). cmds_denied=RMD, write_enable=YES, anonymous, scrive solo sotto /incoming. Witness VSFTPD-CMDS-DENIED-ALIAS-WITNESS. Ultima riga:

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

Fix

Nega gli alias RFC quando neghi il verbo moderno, oppure fai corrispondere gli alias in cmds_denied (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE). Preferisci cmds_allowed (allowlist).

L'intake del vendor è [email protected] (vsftpd). Non pagato. Non aprire una issue pubblica su GitHub su nessun mirror di vsftpd.

Contatti

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

Scarica lo strumento