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
proftpd-sftp-copy-file-write — ProFTPD 1.3.9d - Alta - Remoto - Resíduo de privilégio / Escrita de arquivo - SFTP copy-file ignora WRITE no destino | Kitploit
Ferramentas/GitHubGitHub/abraxas/proftpd-sftp-copy-file-write
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebVirtualização para SegurançaTestes 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 →
Compartilhar
GitHubabraxas/proftpd-sftp-copy-file-write

proftpd-sftp-copy-file-write

ProFTPD 1.3.9d - Alta - Remoto - Resíduo de privilégio / Escrita de arquivo - SFTP copy-file ignora WRITE no destino

Ver Repositório
6há 3 diasAinda não revisado

Abraxas Labs - proftpd-sftp-copy-file-write

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  proftpd-sftp-copy-file-write

proftpd-sftp-copy-file-write

Classe: Privilégio remanescente / Escrita de arquivo Alcance: Remoto

ProFTPD 1.3.9d (f59f248) - proftpd.org

O contrib mod_sftp anuncia copy-file assim que SFTPEngine está ativado (SFTP_FXP_EXT_DEFAULT). fxp_handle_ext_copy_file executa a escrita no destino mais AllowOverwrite somente se pr_fsio_stat(dst) for bem-sucedido. Um destino que ainda não existe pula essa verificação. pr_fs_copy_file2 então cria o arquivo com o UID da sessão, inclusive sob <Limit WRITE> DenyAll.

FTP STOR e SFTP OPEN-write ainda passam por xfer_pre_stor, que sempre faz dir_check de WRITE antes de criar. A Issue 2095 pública é o inverso: SITE COPY pulava a leitura da origem. Este remanescente é a escrita no destino com um novo nome.

IDsem CVE ainda
ClassePrivilégio remanescente / Escrita de arquivo
AlcanceRemoto (SFTP 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
ProdutoProFTPD
Afetado1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d) contrib mod_sftp
AutenticaçãoSFTP autenticado (SFTPEngine on)
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1

Fiz o pin da tag v1.3.9d e li fxp_handle_ext_copy_file. Ele despacha o PRE_CMD de um SITE COPY falso. O mod_copy registra copy_copy como CMD, não como PRE_CMD, então a verificação de escrita no destino do FTP nunca é executada nesse caminho. A leitura da origem sempre passa por dir_check. A escrita no destino não, a menos que o destino já exista. O lab é SFTP em loopback em 127.0.0.1:18710.

O que um atacante pode fazer

MétodoSinkPrivilégio
SFTP EXTENDED copy-file de uma origem legível para um nome de destino que ainda não existe, sob <Directory> com <Limit WRITE> DenyAllpr_fs_copy_file2Integridade (comprovado em lab): criar esse arquivo com o UID da sessão. Recon (comprovado em lab): SFTP READ do destino retorna os bytes da origem quando a leitura do destino é permitida.
Mesmo destino já existentedir_check WRITE + AllowOverwriteFechado (comprovado em lab): a sobrescrita via copy-file retorna permissão negada.
SFTP OPEN / STOR / upload SCP do mesmo destinoxfer_pre_storFechado (comprovado em lab): a escrita/criação via OPEN retorna SSH_FX_PERMISSION_DENIED (status 3).
copy-file não autenticadoAutenticação SFTPFechado. Sem shell. O DAC do Unix ainda se aplica.

Comprovado em lab vs inferido: a criação do destino, a leitura do destino da testemunha, a negação de escrita via OPEN e a negação de sobrescrita de destino existente são comprovados em lab. Não autenticado e DAC do Unix permanecem inferidos a partir do modelo de autenticação/chroot.

Requer: contrib mod_sftp carregado, SFTPEngine on. Vhost SFTP típico de distro. SFTPExtensions -copyFile desativa a extensão.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18710 mapeia o container 2222. Projeto Compose proftpd-sftp-copy-file-write. Tag da imagem proftpd-sftp-copy-file-write:1.3.9d. Testemunha PROFTPD-SFTP-COPY-FILE-WRITE-WITNESS. Última linha:

SUCCESS PROFTPD-SFTP-COPY-FILE-WRITE dest-exists=yes open-write=denied copy-file=ok overwrite-denied=yes PROFTPD-SFTP-COPY-FILE-WRITE-WITNESS

A correção

Fazer dir_check de WRITE no destino mesmo quando o destino ainda não existe, antes de pr_fs_copy_file2. Ou desativar a extensão: SFTPExtensions -copyFile.

Referências

  • github.com/proftpd/proftpd tag v1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d)
  • fxp_handle_ext_copy_file em contrib/mod_sftp/fxp.c
  • SFTP_FXP_EXT_DEFAULT inclui copy-file
  • Inverso (pulo de leitura da origem no FTP SITE COPY, não este remanescente de escrita no destino): Issue 2095
  • CWE-863
Baixar ferramenta