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
proftpd-sftp-copy-file-write — ProFTPD 1.3.9d - Alta - Remota - Privilegi residui / Scrittura file - La copia file SFTP salta la scrittura sulla destinazione | Kitploit
Strumenti/GitHubGitHub/abraxas/proftpd-sftp-copy-file-write
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebVirtualizzazione per la SicurezzaPenetration 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 →
Condividi
GitHubabraxas/proftpd-sftp-copy-file-write

proftpd-sftp-copy-file-write

ProFTPD 1.3.9d - Alta - Remota - Privilegi residui / Scrittura file - La copia file SFTP salta la scrittura sulla destinazione

Vedi Repository
63 giorni faNon ancora revisionato

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: Privilegio residuo / Scrittura file Raggiungibilità: Remota

ProFTPD 1.3.9d (f59f248) - proftpd.org

Il contrib mod_sftp annuncia copy-file una volta che SFTPEngine è attivo (SFTP_FXP_EXT_DEFAULT). fxp_handle_ext_copy_file esegue la WRITE sulla destinazione più AllowOverwrite solo se pr_fsio_stat(dst) ha successo. Una destinazione che non esiste ancora salta quel controllo. pr_fs_copy_file2 crea quindi il file con l'UID della sessione, anche sotto <Limit WRITE> DenyAll.

FTP STOR e SFTP OPEN-write passano comunque attraverso xfer_pre_stor, che esegue sempre dir_check sulla WRITE prima della creazione. La Issue 2095 pubblica è l'inverso: SITE COPY saltava la READ sulla sorgente. Questo residuo è la WRITE sulla destinazione con un nuovo nome.

IDnessuna CVE al momento
ClassePrivilegio residuo / Scrittura file
RaggiungibilitàRemota (SFTP 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
ProdottoProFTPD
Affetto1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d) contrib mod_sftp
AuthSFTP autenticato (SFTPEngine on)
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Ho fissato il tag v1.3.9d e letto fxp_handle_ext_copy_file. Esso invia il PRE_CMD di un finto SITE COPY. mod_copy registra copy_copy come CMD, non come PRE_CMD, quindi il controllo WRITE sulla destinazione di FTP non viene mai eseguito su questo percorso. La READ sulla sorgente è sempre sottoposta a dir_check. La WRITE sulla destinazione non lo è, a meno che la destinazione non esista già. Il lab è SFTP su loopback su 127.0.0.1:18710.

Cosa può fare un attaccante

MetodoSinkPrivilegio
SFTP EXTENDED copy-file da una src leggibile a un nome di destinazione che non esiste ancora, sotto <Directory> con <Limit WRITE> DenyAllpr_fs_copy_file2Integrità (dimostrato in lab): creare quel file con l'UID della sessione. Recon (dimostrato in lab): la READ SFTP della destinazione restituisce i byte della sorgente quando la READ sulla destinazione è consentita.
Stessa destinazione già esistentedir_check WRITE + AllowOverwriteChiuso (dimostrato in lab): la sovrascrittura con copy-file restituisce permission denied.
SFTP OPEN / STOR / SCP upload della stessa destinazionexfer_pre_storChiuso (dimostrato in lab): la scrittura/creazione con OPEN restituisce SSH_FX_PERMISSION_DENIED (status 3).
copy-file non autenticatoAuth SFTPChiuso. Nessuna shell. Si applica comunque il DAC Unix.

Dimostrato in lab vs dedotto: la creazione della destinazione, la READ della destinazione del witness, il diniego della OPEN-write e il diniego della sovrascrittura di una destinazione esistente sono dimostrati in lab. Il non autenticato e il DAC Unix restano dedotti dal modello auth/chroot.

Richiede: contrib mod_sftp caricato, SFTPEngine on. Tipico vhost SFTP delle distribuzioni. SFTPExtensions -copyFile disattiva l'estensione.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18710 mappa il container 2222. Progetto compose proftpd-sftp-copy-file-write. Tag immagine proftpd-sftp-copy-file-write:1.3.9d. Witness PROFTPD-SFTP-COPY-FILE-WRITE-WITNESS. Ultima riga:

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

La correzione

Eseguire dir_check sulla WRITE della destinazione anche quando la destinazione non esiste ancora, prima di pr_fs_copy_file2. Oppure disattivare l'estensione: SFTPExtensions -copyFile.

Riferimenti

  • github.com/proftpd/proftpd tag v1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d)
  • fxp_handle_ext_copy_file in contrib/mod_sftp/fxp.c
  • SFTP_FXP_EXT_DEFAULT include copy-file
  • Inverso (salto della READ sulla sorgente in FTP SITE COPY, non questo residuo di WRITE sulla destinazione): Issue 2095
  • CWE-863
Scarica lo strumento