EXTRA: Reverse shell playing with socat to make the shell travel from an intermediary computer to us
Cracking ZIP file
EXTRA: SSH over Proxychains
Abusing sudoers privilege + Creating and compiling malicious C file [Privilege Escalation]
Metodologia:
Esta maquina es una continuidad de Corrosion2. En este punto ya Corrosion 2 se encuentra comprometida y somos administradores la misión será pivotear hacia esta nueva maquina victima.
Empezamos viendo las redes internas:
//
bash-5.0# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:6c:73:2d brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.1.142/24 brd 192.168.1.255 scope global dynamic noprefixroute ens33
valid_lft 26994sec preferred_lft 26994sec
inet6 fe80::55c8:b2f9:c2b6:e356/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:6c:73:37 brd ff:ff:ff:ff:ff:ff
altname enp2s2
inet 10.10.0.130/24 brd 10.10.0.255 scope global dynamic noprefixroute ens34
valid_lft 1791sec preferred_lft 1791sec
inet6 fe80::58ac:26d7:9513:1fb9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Vemos que hay una interfaz interna 10.10.0.130/24, así que creamos un script para poder conseguir el host victima:
//
bash-5.0# nano hostdescovery.sh
#!/bin/bash
for i in $(seq 1 254); do
timeout 1 bash -c "ping -c 1 10.10.0.$i" &> /dev/null && echo "[+] El HOST 10.10.0.$i esta activo" &
done; wait
Damos permisos de ejecucion y lo ejecutamos:
//
bash-5.0# chmod +x hostdescovery.sh
bash-5.0# ./hostdescovery.sh
[+] El HOST 10.10.0.1 esta activo
[+] El HOST 10.10.0.130 esta activo
[+] El HOST 10.10.0.129 esta activo
bash-5.0# hostname -I
192.168.1.142 10.10.0.130
Ya que dentro de la red interna somos la 10.10.0.130 y el script descubrió la 10.10.0.129 ya sabemos cual es el host de la victima.
Con el objetivo claro intentaremos hacer un port forwarding con Chisel:
Nos descargamos chisel, lo desconprimimos y le damos permisos de ejecucion:
Ya con chisel funcional, creamos un servidor en python para transferirlo a la primera maquina vulnerada.
Una vez transferido y con permisos de ejecucion ahora ejecutamos chisel en nuestra maquina y en corrosion 2 para crear un tunel.
El tunel esta creado y hemos trasladado todos los puertos a nuestra maquina, eso quiere decir que ahora si podremos enumera y vulnerar corrosion1 usando Proxychains.
Realizamos un escaneo con nmap:
//
❯ proxychains nmap -sT --top-ports 1000 -n --open -Pn -T5 10.10.0.129 2>/dev/null
ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-05-06 20:55 EDT
Nmap scan report for 10.10.0.129
Host is up (0.0059s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Miramos que corre por el puerto 80, pero pirmero configuramos foxyproxy con socks5 para poder verlo con normalidad , es un servidor apache 2:
Hacemos reconocimiento de directorios con gobuster:
Ahora intentaremos solicitar una terminal pero en nuestro sistema, eso si recordemos, esta red es cerrada y solo tiene comunicación con corrosion 2, asi que
la reverse shell sera para corrosion 2 y una vez se establezca la conexion a traves de socat la enviaremos a nuestra maquina. para poder lograrlo haremos lo siguiente:
Ingresamos como root a randy (en la primera maquina) y descargamos SOCAT, para redirigir la reverse shell hacia nuestra maquina.
Enviamos socat a la sesion root de randy:
ahora que ya tenemos socat, lo utilizaremos para redirigir la terminal:
Ya con el comando listo, nos ponemos en escucha, en nuestro sistema por el puerto 443 y enviamos la reverse shell a la maquina de randy, para que se nos redirija:
Y listo ya tenemos acceso a la terminal y oficialmente estamos dentro de Corrosion 1, pivoteando con exito desde Corrosion 2, dando por finalizada esta maquina.