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:
Damos permisos de ejecucion y lo ejecutamos:
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:
Descargamos Chisel.
Ya con chisel funcional, creamos un servidor en python para transferirlo a la primera maquina vulnerada.
Enviamos Chisel A Corrosion 2.
Una vez transferido y con permisos de ejecucion ahora ejecutamos chisel en nuestra maquina y en corrosion 2 para crear un tunel.
Tunel Creado en Socks5 y podemos ejecutar ProxyChains.
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:
Configuramos FoxyProxy Para poder ver por socks5 Todo lo que nos permite el Tunel.
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:
Veamos que contienen los subdominios encontrados: (capturas)
Subdominio Tasks.
Contenido del ToDo.
Contenido de Blog-Post.
Realizamos otra busqueda con Gobuster en blog-post:
En el subdominio /archives conseguimos un archivo log en php muy interesante:
Intentaremos buscar algún otro subdominio que nos permita conseguir archivos importantes dentro del sistema:
Conseguimos file, haciendo fuzz con gobuster hechemosle un vistazo:
randy1000:1000:randy,,,:/home/randy:/bin/bash
Vemos que entre los usuarios figura Randy, ya tenemos su password de la primera maquina, pero no la tenemos para esta segunda maquina.
Listaremos el directorio var/log para verificar si tenemos permiso de visualizacion:
tenemos exito
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:
Socat.
Enviando Socat a la nueva terminal.
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:
Enviamos reverse Shell.
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.
//
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
//
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