Transferts FTPS en PowerShell

Bonjour à tous, aujourd’hui je vous repartage quelques morceaux de PowerShell dont j’ai dû me servir récemment pour faire des transferts FTP et FTPS en PowerShell au taf. C’est un peu plus propre que mon hack de transfert reverse HTTP de la dernière fois… Ça peut vous servir pour automatiser des transferts, ou sauvegarde, faire de l’exfiltration en offensif ou collecter des données depuis des machines en live-forensics par exemple. Aller sans transition je vous passe les différents bout de code que j’ai eu à faire.

Upload de fichier en FTP

Le premier bout de code est tiré de ce Stack Overflow et permet d’uploader facilement un fichier vers un serveur FTP :

$File = "Fichier.zip";
$ftp = "ftp://etienene:Passw0rd1234!@ftp.geekeries.org/testps1/somefilename.zip";
$webclient = New-Object -TypeName System.Net.WebClient;
$uri = New-Object -TypeName System.Uri -ArgumentList $ftp;
$webclient.UploadFile($uri, $File);

C’est tout con, ça tient en 5 lignes, et on peut faire l’exfiltration ou du backup facilement avec ça. Je vous renvoie vers la création d’un serveur FTP avec docker pour monter un serveur qui reçoit les données. N’oubliez pas l’existence de la fonction DownloadFile qui existe dans le même objet WebClient pour télécharger vos fichiers ensuite.

Transferts FTPS en PowerShell : upload

Bon c’est joli … Lire la suite