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
proftpd-sftp-copy-file-write — ProFTPD 1.3.9d - Élevé - À distance - Reste de privilège / Écriture de fichier - La copie de fichier SFTP ignore l'écriture de destination | Kitploit
Outils/GitHubGitHub/abraxas/proftpd-sftp-copy-file-write
Authentification et AutorisationAnalyse des VulnérabilitésExploitationExploitation d'Applications WebVirtualisation de SécuritéTests d'IntrusionArticles et RechercheLabs et Pratique

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 →
GitHubabraxas/proftpd-sftp-copy-file-write

proftpd-sftp-copy-file-write

ProFTPD 1.3.9d - Élevé - À distance - Reste de privilège / Écriture de fichier - La copie de fichier SFTP ignore l'écriture de destination

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

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 : Reliquat de privilège / Écriture de fichier Portée : Distante

ProFTPD 1.3.9d (f59f248) - proftpd.org

Le contrib mod_sftp annonce copy-file dès que SFTPEngine est activé (SFTP_FXP_EXT_DEFAULT). fxp_handle_ext_copy_file exécute l'écriture de destination (dest WRITE) plus AllowOverwrite uniquement si pr_fsio_stat(dst) réussit. Une destination qui n'existe pas encore contourne cette vérification. pr_fs_copy_file2 crée alors le fichier avec l'UID de la session, y compris sous <Limit WRITE> DenyAll.

FTP STOR et SFTP OPEN-write passent toujours par xfer_pre_stor, qui effectue systématiquement un dir_check WRITE avant la création. L'Issue 2095 publique est l'inverse : SITE COPY sautait la lecture de la source (source READ). Ce reliquat est une écriture de destination (dest WRITE) sur un nouveau nom.

IDpas encore de CVE
ClasseReliquat de privilège / Écriture de fichier
PortéeDistante (SFTP 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
ProduitProFTPD
Affecté1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d) contrib mod_sftp
AuthSFTP authentifié (SFTPEngine on)
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

J'ai épinglé le tag v1.3.9d et lu fxp_handle_ext_copy_file. Il dispatche le PRE_CMD d'un faux SITE COPY. mod_copy enregistre copy_copy comme CMD, pas comme PRE_CMD, donc la vérification d'écriture de destination (dest WRITE) de FTP ne s'exécute jamais sur ce chemin. La lecture de la source (source READ) est toujours soumise à dir_check. L'écriture de destination (dest WRITE) ne l'est pas, sauf si la destination existe déjà. Le lab est un SFTP en loopback sur 127.0.0.1:18710.

Ce qu'un attaquant peut faire

MéthodeSinkPrivilège
SFTP EXTENDED copy-file d'une source lisible vers un nom de destination qui n'existe pas encore, sous <Directory> avec <Limit WRITE> DenyAllpr_fs_copy_file2Intégrité (prouvé en lab) : créer ce fichier avec l'UID de la session. Recon (prouvé en lab) : un SFTP READ de la destination renvoie les octets de la source lorsque la lecture de la destination (dest READ) est autorisée.
Même destination existant déjàdir_check WRITE + AllowOverwriteFermé (prouvé en lab) : l'écrasement par copy-file renvoie permission denied.
SFTP OPEN / STOR / SCP upload de la même destinationxfer_pre_storFermé (prouvé en lab) : l'écriture/création OPEN renvoie SSH_FX_PERMISSION_DENIED (statut 3).
copy-file non authentifiéSFTP authFermé. Pas de shell. Le DAC Unix s'applique toujours.

Prouvé en lab vs déduit : la création de la destination, la lecture de la destination du témoin, le refus d'écriture OPEN et le refus d'écrasement d'une destination existante sont prouvés en lab. Le non-authentifié et le DAC Unix restent déduits du modèle auth/chroot.

Nécessite : contrib mod_sftp chargé, SFTPEngine on. Vhost SFTP typique d'une distribution. SFTPExtensions -copyFile désactive l'extension.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18710 mappe le conteneur 2222. Projet Compose proftpd-sftp-copy-file-write. Tag d'image proftpd-sftp-copy-file-write:1.3.9d. Témoin PROFTPD-SFTP-COPY-FILE-WRITE-WITNESS. Dernière ligne :

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

Le correctif

dir_check l'écriture de destination (dest WRITE) même lorsque la destination n'existe pas encore, avant pr_fs_copy_file2. Ou désactiver l'extension : SFTPExtensions -copyFile.

Références

  • github.com/proftpd/proftpd tag v1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d)
  • fxp_handle_ext_copy_file dans contrib/mod_sftp/fxp.c
  • SFTP_FXP_EXT_DEFAULT inclut copy-file
  • Inverse (saut de lecture de la source sur FTP SITE COPY, et non ce reliquat d'écriture de destination) : Issue 2095
  • CWE-863
Télécharger l’outil