Il modulo FTP/FTPS/SFTP di C.E.R.T.O. Desktop acquisisce l'intero contenuto di un server remoto con piena validità forense. Prima del download, il sistema scatta una fotografia completa dello stato del server (snapshot) che documenta tutti i file e le directory presenti. Ogni file viene scaricato in modalità binaria con calcolo simultaneo di 4 hash crittografici (MD5, SHA-1, SHA-256, SHA-512), preservando metadati originali (permessi, owner, timestamp). Il fascicolo include analisi DNS, WHOIS, traceroute, log del protocollo FTP e marca temporale RFC 3161.
Costo: 1 slot per MB scaricato (arrotondato per eccesso, minimo 1 slot) — vedi pacchetti slot
Tre protocolli, un unico flusso forense
Il modulo supporta i tre principali protocolli di trasferimento file, con un flusso forense identico indipendentemente dal protocollo scelto.
FTP
Porta: 21 (standard)
Cifratura: nessuna — trasferimento in chiaro
Autenticazione: username e password
Modalità passiva, trasferimento binario (TYPE I) per evitare conversioni CRLF/LF. Comandi read-only: LIST, MLSD, RETR, MDTM, PWD, CWD, SYST, FEAT.
FTPS
Porta: 21 (explicit/STARTTLS) o 990 (implicit)
Cifratura: TLS 1.2/1.3 — canale dati e controllo cifrati
Autenticazione: username e password + certificato server
Catena certificati SSL/TLS catturata nel fascicolo (subject, issuer, fingerprint SHA-256, validità, cipher suite).
SFTP
Porta: 22 (SSH)
Cifratura: SSH — canale integralmente cifrato
Autenticazione: password oppure chiave privata SSH
Metadati avanzati: permessi, owner/group (UID/GID con nome), access time, longname completo in formato ls.

Cosa acquisisce il modulo FTP
L'acquisizione produce un fascicolo forense autocontenuto che documenta non solo i file scaricati, ma anche lo stato completo del server al momento dell'acquisizione, l'infrastruttura di rete e l'intero scambio protocollare tra client e server.
| Elemento acquisito | Dettagli |
|---|---|
| File binari originali | Copia byte-per-byte di tutti i file selezionati, in modalità binaria (TYPE I). La struttura delle directory del server viene preservata nella cartella files/. |
| Metadati per file | File JSON per ogni file scaricato (nella cartella metadata/): percorso remoto, dimensione, data modifica, data accesso, permessi, owner, group, 4 hash crittografici, timestamp download. |
| Hash crittografici (x4) | MD5, SHA-1, SHA-256 e SHA-512 calcolati simultaneamente durante lo streaming del download. Nessun overhead aggiuntivo. |
| Server snapshot | Scansione ricorsiva completa del server prima del download: tutti i file e le directory con dimensioni, permessi, timestamp. Formato JSON strutturato e listing leggibile. |
| Risposte MLSD raw | Risposte originali non elaborate del comando MLSD (Machine-Readable Listing) per ogni directory interrogata. Prova di ciò che il server ha effettivamente restituito. |
| Server fingerprint | Identificazione software del server (banner FTP 220, SYST, FEAT, STAT): ProFTPD, vsftpd, Pure-FTPd, FileZilla, IIS e altri 12+ server riconosciuti. |
| Certificati SSL/TLS | Per FTPS e SFTP: subject, issuer, validità, serial number, fingerprint SHA-256, protocollo e cipher suite. |
| Analisi infrastruttura | DNS (A, AAAA, PTR, MX, NS, TXT), WHOIS, traceroute con latenza per hop, test latenza porte TCP (21, 22, 80, 443), reverse IP lookup (domini co-ospitati). |
| Log protocollo FTP | Registrazione di ogni comando FTP inviato e risposta ricevuta, con timestamp ISO 8601 e livello di log (debug/info/warn/error). |
| Contesto di sistema | Sincronizzazione NTP (offset documentato), IP pubblico del client, hostname, OS, CPU, RAM, utente corrente, versione C.E.R.T.O. |
| Report forense | Documento TXT e PDF con inventario completo, hash per file, riepilogo infrastruttura, catena di custodia e guida alla lettura delle evidenze. |
| Marca temporale RFC 3161 | Firma temporale sul report forense tramite FreeTSA (base) o InfoCert eIDAS (qualificata). File .tsr e certificato CA inclusi per verifica offline. |
Il processo di acquisizione in 10 fasi
L'acquisizione è completamente automatizzata. L'utente inserisce le credenziali del server, seleziona le directory da acquisire e il sistema esegue tutte le fasi con monitoraggio del progresso, velocità di download e tempo stimato residuo.
- Connessione al server — collegamento FTP/FTPS/SFTP con le credenziali fornite, raccolta banner server, fingerprint software, certificati SSL/TLS (se protocollo cifrato)
- Sincronizzazione e contesto — query NTP (Google, Cloudflare, pool.ntp.org) per documentare l'offset dell'orologio, rilevamento IP pubblico, raccolta informazioni sistema (OS, CPU, RAM)
- Server snapshot — scansione ricorsiva completa del server: ogni file e directory con dimensione, permessi, owner, gruppo, data modifica. Salvataggio in JSON strutturato, listing leggibile e risposte MLSD raw
- Scansione directory — enumerazione dei file da scaricare in base alla modalità scelta (ricorsiva completa, directory singola o selezione manuale)
- Download binario con hash — per ogni file: download in modalità binaria con calcolo simultaneo di MD5, SHA-1, SHA-256, SHA-512 durante lo streaming. Preservazione della struttura delle directory
- Salvataggio metadati — per ogni file scaricato: creazione del file JSON di metadati con percorso remoto, dimensioni, timestamp, permessi, owner, gruppo e tutti gli hash
- Verifica coerenza — confronto delle dimensioni dei file scaricati con lo snapshot pre-download. Segnalazione di eventuali discrepanze (file modificati o eliminati durante l'acquisizione)
- Analisi infrastruttura — DNS (A, AAAA, PTR, MX, NS, TXT), WHOIS, traceroute con latenza per hop, test TCP su porte 21/22/80/443, reverse IP lookup
- Generazione report e hash — report forense TXT e PDF con inventario completo e guida alla lettura delle evidenze, manifest SHA-256 di tutti i file prodotti, script di verifica integrità cross-platform
- Marca temporale e archiviazione — firma RFC 3161 sul report, creazione archivio ZIP del fascicolo, registrazione sul server con archiviazione certificata per 5 anni

Server snapshot: fotografia dello stato del server
Prima di scaricare qualsiasi file, il sistema esegue una scansione ricorsiva completa del server e ne documenta l'intero contenuto. Questo snapshot ha un valore forense autonomo: dimostra quali file e directory erano presenti sul server al momento dell'acquisizione, indipendentemente da ciò che viene successivamente scaricato.
Lo snapshot viene salvato in tre formati complementari:
| File | Contenuto |
|---|---|
| server-snapshot.json | Albero JSON strutturato: percorso, tipo (file/directory), dimensione, data modifica, data accesso, permessi, owner, gruppo. Include metadati server (software, features, protocollo) e conteggi totali (file, directory, bytes). |
| server-snapshot.txt | Listing leggibile in formato ls -lR con tabella formattata: permessi, dimensione, data modifica, data accesso, owner e nome. Intestazione con informazioni server e timestamp della cattura. |
| server-listing-raw.json | Risposte MLSD (Machine-Readable Listing) originali e non elaborate del server FTP per ogni directory interrogata. Prova diretta di ciò che il server ha effettivamente restituito al client. |
Verifica di coerenza: dopo il download, il sistema confronta automaticamente le dimensioni dei file scaricati con quelle registrate nello snapshot. Se un file è stato modificato o eliminato durante l'acquisizione, la discrepanza viene segnalata nel report.

Download ricorsivo con hash per file
Il download avviene in modalità binaria (TYPE I) per garantire una copia byte-per-byte senza conversioni di carattere. Durante lo streaming di ogni file, vengono calcolati simultaneamente 4 hash crittografici senza overhead aggiuntivo.
Tre modalità di acquisizione
- Ricorsiva completa — download di tutti i file dalla directory selezionata e da tutte le sottodirectory (profondità massima: 20 livelli)
- Directory singola — solo i file presenti in una specifica directory, senza ricorsione
- Selezione manuale — l'utente sceglie singoli file o cartelle da acquisire
Struttura dell'output
Il download produce due alberi di directory paralleli che rispecchiano la struttura originale del server:
files/
Copia binaria esatta di ogni file scaricato dal server, organizzata nella stessa struttura di directory presente sul server remoto. Nessuna conversione, nessuna alterazione.
metadata/
Un file JSON per ogni file scaricato, allo stesso percorso relativo. Contiene: percorso remoto completo, dimensione, data modifica e accesso, permessi, owner/group, longname e tutti i 4 hash.
Hash calcolati per ogni file
| Algoritmo | Bit | Scopo |
|---|---|---|
| MD5 | 128 | Compatibilità con database forensi (NSRL) e sistemi legacy |
| SHA-1 | 160 | Compatibilità con strumenti forensi tradizionali |
| SHA-256 | 256 | Hash primario — nessuna vulnerabilità nota, standard forense attuale |
| SHA-512 | 512 | Massima sicurezza crittografica |

Analisi infrastruttura di rete
Oltre ai file, il modulo documenta l'infrastruttura di rete del server per fornire un contesto completo sull'origine dei dati acquisiti.
| Analisi | File prodotto | Contenuto |
|---|---|---|
| DNS | dns-lookup.txt | Record A, AAAA, PTR (reverse DNS), MX, NS e TXT del dominio del server |
| WHOIS | whois-info.txt | Dati registrar, ISP, ownership, blocchi CIDR, ASN |
| Traceroute | traceroute.txt | Percorso di rete dal client al server, con latenza per ogni hop |
| Latenza porte TCP | traceroute.txt | Tempo di connessione TCP sulle porte 21 (FTP), 22 (SSH), 80 (HTTP), 443 (HTTPS) |
| Reverse IP | reverse-ip-lookup.txt | Elenco di tutti i domini ospitati sullo stesso indirizzo IP del server |
| Server fingerprint | connessione-info.txt | Software FTP identificato (banner 220, SYST, FEAT, STAT), protocollo, cifratura, certificati |
Il fascicolo forense prodotto
Ogni acquisizione genera un archivio ZIP contenente tutti gli artefatti forensi. La struttura è autocontenuta e verificabile offline tramite gli script inclusi.
├── files/ — copia binaria dei file (struttura server preservata)
│ ├── subdir-1/
│ │ ├── documento.pdf
│ │ └── immagine.jpg
│ └── subdir-2/
│ └── archivio.zip
├── metadata/ — JSON con metadati e hash per ogni file
│ ├── subdir-1/
│ │ ├── documento.pdf.json
│ │ └── immagine.jpg.json
│ └── subdir-2/
│ └── archivio.zip.json
├── rapporto-acquisizione.txt — report forense completo
├── rapporto-acquisizione.pdf — report PDF con guida alla lettura
├── rapporto-acquisizione.tsr — marca temporale RFC 3161
├── file-manifest.json — inventario file con hash
├── {id}-hashes.json — manifest SHA-256 di tutti i file del fascicolo
├── server-snapshot.json — albero server strutturato
├── server-snapshot.txt — listing leggibile (ls -lR)
├── server-listing-raw.json — risposte MLSD originali
├── ftp-protocol-log.json — log comandi/risposte FTP
├── acquisizione-log.txt — log cronologico operazioni
├── connessione-info.txt — dettagli connessione e certificati
├── dns-lookup.txt — risoluzione DNS
├── whois-info.txt — dati WHOIS
├── traceroute.txt — percorso di rete e latenza
├── reverse-ip-lookup.txt — domini co-ospitati
├── timestamp-info.json — metadati marca temporale
├── tsr-verifica.txt — istruzioni verifica timestamp
├── freetsa-cacert.pem — CA per verifica offline (se FreeTSA)
├── verifica-integrita.sh — script verifica per macOS/Linux
└── verifica-integrita.bat — script verifica per Windows
Contenuto del report forense (PDF)
Il documento rapporto-acquisizione.pdf include, oltre all'inventario completo con hash per file, una guida alla lettura delle evidenze in 11 sezioni che spiega il significato forense di ogni artefatto prodotto: hash, marca temporale, snapshot, metadati, log protocollare, certificati SSL, infrastruttura di rete e script di verifica. Un documento pensato per essere allegato direttamente agli atti processuali.

Integrità e marca temporale RFC 3161
Il fascicolo è protetto da più livelli di verifica dell'integrità, che insieme garantiscono la non alterazione dei dati dal momento dell'acquisizione.
Hash per file (x4)
MD5, SHA-1, SHA-256 e SHA-512 calcolati in streaming durante il download di ogni singolo file. Salvati sia nel manifest che nei metadati individuali.
Manifest globale
SHA-256 di tutti i file del fascicolo (inclusi report, log e metadati) in un manifest JSON. Il manifest stesso viene hashato e documentato nel report.
Verifica coerenza
Le dimensioni dei file scaricati vengono confrontate con lo snapshot pre-download. Eventuali modifiche al server durante l'acquisizione vengono segnalate.
Marca temporale RFC 3161
Firma sul report tramite FreeTSA (base) o InfoCert eIDAS (qualificata). File .tsr e certificato CA inclusi per verifica offline con OpenSSL.
Il fascicolo include script verifica-integrita.sh (macOS/Linux) e verifica-integrita.bat (Windows) per ricalcolare automaticamente tutti gli hash e verificare la marca temporale senza strumenti esterni (a parte OpenSSL per il timestamp).
Server e hosting compatibili
Il modulo è compatibile con qualsiasi server FTP, FTPS o SFTP standard. Il sistema include preset preconfigurati per i server più diffusi:
Software server riconosciuti
- ProFTPD
- vsftpd
- Pure-FTPd
- FileZilla Server
- Microsoft IIS FTP
- WU-FTPD, CrushFTP, Serv-U, Wing FTP, Xlight
- Qualsiasi server SFTP compatibile OpenSSH
Hosting con preset dedicato
- Aruba (FTP e SFTP)
- OVH / OVHcloud
- SiteGround
- Qualsiasi hosting con accesso FTP/SFTP standard
Per server non elencati è sempre possibile inserire manualmente host, porta, protocollo e credenziali.
Accesso read-only: il modulo opera esclusivamente in modalità lettura. Non viene eseguito alcun comando di scrittura, modifica o cancellazione sul server remoto. I comandi utilizzati sono limitati a: LIST, MLSD, RETR, MDTM, PWD, CWD, SYST, FEAT e STAT.
Resilienza di connessione: in caso di disconnessione durante il download, il sistema esegue automaticamente la riconnessione e riprende l'acquisizione dal file successivo a quello in cui si è verificato l'errore. I file già scaricati e verificati vengono preservati.
Acquisisci server FTP con valore forense
Scarica C.E.R.T.O. Desktop, connettiti al server FTP/FTPS/SFTP e ottieni un fascicolo forense completo. 1 slot per MB scaricato.