TFTP (Trivial File Transfer Protocol) est un protocole de transfert de fichiers délibérément minimal sur le port UDP 69. Il n'a aucune authentification, aucun listage de répertoire, et seulement deux véritables opérations : lire un fichier (RRQ) et écrire un fichier (WRQ). Il est utilisé là où la simplicité compte, démarrage réseau PXE, firmware et configuration de routeurs et de téléphones, sauvegarde de configurations d'équipements, de sorte que les fichiers qu'il sert sont souvent sensibles, et un serveur TFTP accessible en écriture permet à un attaquant d'influencer l'équipement qui consomme ces fichiers. Comme il n'y a pas d'authentification, atteindre le port 69 est l'unique condition préalable.
# connect (no listing exists; you request known/guessed filenames)
tftp <target>
# tftp> get <filename> # read
# tftp> put <localfile> <remote> # write (if allowed)
# scripted
curl -s tftp://<target>/<filename> -o out
nmap -sU -p69 --script tftp-enum <target> # probe for common filenames
Sous-thèmes#
- Lecture et écriture de fichiers : lire des fichiers sensibles et écrire sur le serveur.
- Traversée de répertoires : s'échapper de la racine TFTP par traversée de chemin.