← Tutti i cheatsheet

eJPT · Enumeration

FTP Enumeration

Difficoltà: Beginner Time to Master: 45min Prerequisiti: 01-SMB-NetBIOS-Enumeration.md Lab: INE PTS, Service Enumeration


Obiettivo

FTP è spesso il primo servizio “facile” che incontri in un lab, e vale la pena trattarlo come tale: login anonimo mal configurato, banner che si raccontano da soli, e — se sei fortunato — una versione con una backdoor storica nota. Ci vogliono pochi minuti per enumerarlo, ma può essere l’intero accesso iniziale che stavi cercando.


Concetti chiave

Anonymous login

Molti server FTP di lab permettono login con utente anonymous e qualsiasi password (spesso una email fittizia per convenzione). È la prima cosa da provare sempre.

Il banner FTP viene mostrato subito alla connessione (220 ...) e spesso contiene nome software e versione esatta, utile per la ricerca di exploit.


Strumenti

Tool Comando base Output Note
ftp / lftp ftp target shell FTP interattiva client classico
nmap nmap --script ftp-anon,ftp-syst -p21 target verifica anonymous + info sistema veloce, automatizzato
netcat nc -nv target 21 banner grezzo conferma versione esatta
hydra hydra -L users.txt -P pass.txt ftp://target brute force credenziali se anonymous non funziona

Payload / Esempi

Esempio 1: verifica anonymous login con nmap

nmap --script ftp-anon -p21 10.10.10.5

Output atteso:

PORT   STATE SERVICE
21/tcp open  ftp
| ftp-anon: Anonymous FTP login allowed (FTP code 230)

Spiegazione: lo script NSE ftp-anon prova direttamente il login anonimo, evitando il passaggio manuale.

Esempio 2: login anonimo manuale e download file

ftp 10.10.10.5
# Name: anonymous
# Password: anonymous@
ftp> ls
ftp> get notes.txt

Spiegazione: una volta dentro, ls mostra i file disponibili e get scarica quelli di interesse (spesso credenziali, backup, note interne lasciate per errore).

Esempio 3: identificazione backdoor storica vsftpd 2.3.4

nc -nv 10.10.10.5 21

Output atteso:

220 (vsFTPd 2.3.4)

Spiegazione: vsftpd 2.3.4 e associato a una backdoor storica nota (introdotta in una versione compromessa del codice sorgente nel 2011): se il banner mostra esattamente questa versione, vale la pena cercare il modulo Metasploit corrispondente in ../07-Metasploit-Framework/03-Exploit-Modules.md.


Lab Hands-On

Lab 1: TryHackMe, FTP enumeration basics

Obiettivo: identificare se il login anonimo e permesso e recuperare eventuali file interessanti Difficulty: Facile Time: 20 min

Walkthrough breve:

  1. Banner grab con netcat per la versione esatta
  2. Prova login anonymous con ftp/lftp
  3. Se fallisce, prova credenziali di default note per il software identificato

Common Mistakes

  • Saltare il banner grabbing e andare dritti al brute force -> spesso il login anonimo basta, nessun brute force necessario
  • Non controllare i permessi di scrittura sulla share FTP -> un FTP anonimo scrivibile può permettere upload di webshell se combinato con un servizio web che serve la stessa directory


Connessioni


Checklist di padronanza

  • So verificare anonymous login manualmente e con NSE
  • So identificare la versione esatta via banner grabbing
  • Riconosco vsftpd 2.3.4 come esempio storico di backdoor nota