Pivoting
Enumeración
Tabla ARP:
arp
arp -n
Archivo hosts:
cat /etc/hosts
Tabla de enrutamiento:
route -n
ip route
netstat -r
Información de interfaces:
ip a
ifconfig
cat /proc/net/fib_trie
nmcli dev show
Para
ifconfig
ynmcli
debemos tener instaladonetwork-manager
. Se puede instalar usandosudo apt update && sudo apt install network-manager -y
.
Información DNS:
cat /etc/resolv.conf
Conexiones establecidas y a la escucha:
netstat -auntp
Ping Sweep:
for i in {1..254} ;do (ping -c 1 192.168.2.$i | grep "bytes from" &) ;done
Enumeración de puertos remotos:
for port in {1..65535}; do(echo > /dev/tcp/10.30.40.39/$port) > /dev/null 2>&1 && echo "port $port is open"; done
SSH
Port Forwarding
ssh <user>@<pivot_ip> -L 127.0.0.1:<local_port>:<target_ip>:<target_port> -N
Se puede omitir la dirección del localhost.
Se abre de forma local el puerto
<local_port>
mediante la opción-L
El tráfico generado al localhost (127.0.0.1) con el puerto
<local_port>
es transferido al puerto<target_port>
de la IP<target_ip>
a traves del túnel SSHLa opción
-N
indica que no se ejecutan comandos después de autenticarnos
Tunneling/Proxying
ssh <user>@<pivot_ip> -D <localhost>:<proxy_local_port> -N
-D <localhost>:<proxy_local_port>
, para este caso, se puede omitir la IP del localhost. Indicamos que se se realizará un Dynamic Port Forwarding, usando el puerto especificado como proxy-N
no iniciar una shell
Metasploit/Meterpreter
Port Forwarding
Desde la sesión meterpreter, ejecutamos lo siguiente:
portfwd add -l 3300 -p 80 -r 192.168.2.30
-l
puerto local a abrir-p
puerto del target-r
IP del target
Tunneling/Proxying
Fuera de la sesión meterpreter (salir usando el comando bg
), usar los siguiente comandos:
use auxiliary/server/socks_proxy
set SRVPORT 9050
set SRVHOST 0.0.0.0
set version 4a
run
SRVPORT
puerto que usaremos como proxy del tráficoSRVHOST
IP que estará a la escucha, si es0.0.0.0
, todas las interfaces estarán a la escuchaversion
indicamos la versión del protocolo SOCKS, que puede ser versión 4 (4a
en mestasploit) o versión 5
Ahora, le decimos al módulo socks_proxy
que reenvíe el tráfico a la sesión meterpreter usando el módulo post/multi/manage/autoroute
, esto se puede lograr de las siguientes dos formas:
Fuera de la sesión meterpreter:
# Módulo AutoRoute
use post/multi/manage/autoroute
# Sesión meterpreter a la que le enviaremos el tráfico
set SESSION 1
# Segmento de red donde se encuentra la máquina de pivoting
set SUBNET 192.168.2.0
# Ejecutar el módulo
run
Dentro de la sesión meterpreter:
run autoroute -s 192.168.2.0/24
Socat
Podemos descargar socat desde los siguientes enlaces:
Comando:
./socat TCP4-LISTEN:8081,fork TCP4:192.168.2.30:8443 &
TCP4-LISTEN:8080
especificamos el puerto que se pondrá a la escuchafork
indicamos que socat puede aceptar más de una conexiónTCP4:192.168.2.30:8443
corresponde a la dirección IP y puerto hacia donde se redireccionará el tráfico recibido en el puerto especificado en la primera sección del comando&
dejamos el proceso en segundo plano
sshuttle
sudo apt update
sudo apt install sshuttle
Rpivot
git clone https://github.com/klsecservices/rpivot.git
sudo apt-get install python2.7
Netsh
Port Forwarding
netsh interface portproxy show v4tov4
Los registro de netsh son guardados en HKLM:\SYSTEM\CurrentControlSet\Services\PortProxy\v4tov4\tcp
:
reg query HKLM\SYSTEM\CurrentControlSet\Services\PortProxy\v4tov4\tcp /s
Reglas de Firewall
Tráfico entrante:
netsh advfirewall firewall add rule name=<rule_name> protocol=TCP dir=in localport=<local_port> action=allow
Tráfico saliente:
netsh advfirewall firewall add rule name=<rule_name> protocol=TCP dir=out localport=<local_port> action=allow
Chisel
Tunneling/Proxying
Descargar del repositorio de chisel:
git clone https://github.com/jpillora/chisel.git
Compilación para Linux:
cd chisel
go build -ldflags "-s -w"
upx brute chisel
Compilación para Windows:
cd chisel
env GOOS=windows GOARCH=amd64 go build -o chisel.exe -ldflags "-s -w"
upx brute chisel.exe
Last updated