Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - Alta - Remoto - Privilégio remanescente - cmds_denied ignora aliases RFC (XRMD) | Kitploit
Ferramentas/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
Ferramentas DefensivasAnálise de VulnerabilidadesExploraçãoAuditoria de ConfiguraçãoSegurança de RedeTestes de PenetraçãoPapers e PesquisaLabs e Prática

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHub
abraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - Alta - Remoto - Privilégio remanescente - cmds_denied ignora aliases RFC (XRMD)

Ver Repositório
4há 2 diasAinda não revisado
Compartilhar

Abraxas Labs - vsftpd-cmds-denied-alias

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

vsftpd-cmds-denied-alias

Classe: Privilégio remanescente Alcance: Remoto

vsftpd 3.0.5 - Chris Evans

Fixeio tarball oficial, não um espelho do GitHub e não um fork de distro. SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3. vsftpver.h VSF_VERSION "3.0.5".

cmds_denied é uma correspondência exata de token em maiúsculas em process_post_login (postlogin.c:140-184). O despacho então faz OR de aliases RFC 775 nos mesmos handlers: RMD||XRMD (:263-264), também CWD||XCWD, MKD||XMKD, PASV||P@SW, além de EPSV / STOU / APPE separados. Um operador que coloca RMD na denylist (a receita comum DELE,RMD) ainda permite que XRMD faça rmdir.

Este remanescente é integridade de FTP autenticado sob uma denylist que o operador pensava estar fechada. Não é não autenticado, não é root, não é escape de chroot e não é RCE.

IDsem CVE ainda
ClassePrivilégio remanescente (cmds_denied token exato)
AlcanceRemoto (FTP autenticado)
CWECWE-863
CVSSAlto: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Produtovsftpd (Chris Evans)
Afetadovsftpd 3.0.5 tarball oficial
AutenticaçãoFTP USER/PASS (lab: anonymous ftp)
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1:18720

O que um atacante pode fazer

Quem: um usuário FTP autenticado (anônimo ou local) em um daemon onde o operador definiu cmds_denied. O padrão é não definido. Receitas de usuário virtual que a man page nomeia compartilham um uid de convidado, então o DAC do Unix não pode separá-las. A sessão já é o uid mapeado dentro do chroot usual. cmds_denied era o controle extra que deveria remover o verbo.

Integridade (comprovado em lab)

Método + sinkPrivilégio
XRMD labdir após cmds_denied=RMDhandle_rmd -> str_rmdir de um diretório que o uid da sessão pode remover com rmdir do Unix. Lab: RMD labdir 550, XRMD labdir 250, CWD labdir 550 (diretório removido). Segundo MKD labctrl ainda 550 em RMD.

Integridade (inferido do mesmo gate de token exato; não é o lab)

Método + sinkPrivilégio
XMKD dir após cmds_denied=MKDhandle_mkd -> mkdir como o uid da sessão
XCWD path após cmds_denied=CWDhandle_cwd -> chdir. Depois RETR se download_enable
STOU / APPE após cmds_denied=STORhandle_upload_common cria / anexa. Requer write_enable
EPSV / P@SW após cmds_denied=PASVhandle_pasv abre um listener de dados que a denylist deveria impedir

O lab comprovou apenas XRMD após RMD. Os outros aliases compartilham o mesmo gate str_equal e o mesmo OR no despacho. Não os exercitei.

Recon

Nenhum como remanescente de primeira classe. cmds_denied não é um esconderijo. XRMD não lista nomes.

Disponibilidade

Não está no bar. Remover um diretório é um impacto de integridade. Um CWD / RETR posterior desse nome retorna 550 como efeito colateral.

O que este remanescente não concede

  • cmds_denied não autenticado (pré-login o ignora; USER/PASS/QUIT permanecem na tabela de pré-login)
  • Root
  • Escape de chroot (allow_writeable_chroot padrão desligado; o lab escreve apenas sob /incoming então o deny ainda se mantém)
  • cmds_allowed fail-closed: verbos não listados, incluindo XRMD, permanecem 550
  • write_enable=NO ainda bloqueia a família de escrita (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU)
  • DAC do Unix quando usuários não compartilham um uid
  • Bypass de maiúsculas/minúsculas SITE vs site (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD nunca corresponde; mate o chmod com chmod_enable=NO ou cmds_denied=SITE

Como eu encontrei

Cacei hide/deny/cmds_denied no 3.0.5 oficial. O gate é uma única varredura de tokens separados por vírgula e str_equal contra o verbo em maiúsculas. Não há segunda verificação dentro de handle_rmd. O RFC 775 ainda entrega XRMD como RMD. O conselho comum é cmds_denied=DELE,RMD. Essa string nunca nomeia XRMD.

Caminho errado: tratar SITE vs site como um bypass. Os verbos são convertidos para maiúsculas. Tratar cmds_allowed da mesma forma: essa lista é fail-closed, então aliases que não estão listados permanecem negados.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18720. Projeto Compose vsftpd-cmds-denied-alias. Tarball oficial 3.0.5 em lab/ (SHA-256 acima). cmds_denied=RMD, write_enable=YES, anônimo, escreve apenas sob /incoming. Testemunha VSFTPD-CMDS-DENIED-ALIAS-WITNESS. Última linha:

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

Correção

Negue os aliases RFC ao negar o verbo moderno, ou faça correspondência de aliases em cmds_denied (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE). Prefira cmds_allowed (allowlist).

O intake do fornecedor é [email protected] (vsftpd). Não remunerado. Não abra uma issue pública no GitHub em nenhum espelho do vsftpd.

Contato

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

Baixar ferramenta