Pluck /Brain
Última actualización
Última actualización
Esta vez vamos a estar jugando con la maquina Pluck de Vulnhub y la maquina Brain de Vulnyx puede descargarla de los enlaces dados.
Primero que nada tenemos la maquina atacante que en este caso soy yo, la segunda es la maquina Pluck y la tercera la Brain.
De entrada como atacante solo llego hasta la maquina Pluck la 192.168.1.163 que asu vez esta misma osea Pluck tiene una segunda interfas donde estaria la tercera, la maquina Brain la 10.10.10.0/24.
Resumen Atacante solo tiene conectividad con Pluck la 192.168.1.163 y Brain tiene conectividad solamente con Pluck, osea que para llegar hasta la maquina Brain la 10.10.10.6 primero debemos hackear la maquina Pluck que es hasta donde llegamos la 192.168.1.163.
Hoy no vamos a ahorrar tiempo teniendo acceso ya a la primera, hackearemos las dos en este mismo POST.
Empezamos primeramente hacemos un ARP-Scan de nuestra red local, para encontrar la IP que le fue asignada a nuestra primera maquina la maquina Pluck la otra no nos deberia salir ya que no tenemos alcance desde nuestra maquina atacante solo tenemos alcance hasta la maquina Pluck.
Que ahora tenemos su direccion IP la 1.163.
Empezamos con lo basico un escaneo de los puertos que estan abiertos en la maquina donde observamos tres.
Siguiendo usando Nmap observamos las versiones y servicios que corren para cada puerto.
Si nos vamos al puerto 80 tenemos un panel de autentificacion, si observamos la URL nos da el nombre del recurso de donde se esta carganado en este caso admin.php.
Como podemos ver el recurso de donde se esta cargando podemos hacer uso de wrapper para ver como esta estructurado ese admin.php. de la siguiente manera que se observa en la URL.
Lo que le estamos diciendo es que todo el contenido de admin.php la codifique en una cadena de base64.
Ahora teniendo la cadena y desde la consola, la decodificamos y la pasamos a un formato legible para esos hermosos ojos que tienes; y bueno no se observa nada interesante de lo cual podriamos sacar provecho.
Y bueno si eres listo ya te diste cuenta que en la URL hay un parametro de consulta donde ?page= donde le podemos pasar un input y le pasamos el tipico el /etc/passwd, observamos que nos dan una pista de un backup que se almacena en /usr/local/scripts/.
Apuntamos a ese recurso, y nos dan otra pista donde nos dice que podemos descargar ese backup via tfpt.
Nos conectamos por tftp a la maquina y nos descargamos el backup; luego lo descomprimimos con tar.
Observamos que tenemos dos directorios home y var, vamos a hecharles un ojo.
Si hacemos un tree observamos que bajo el subdirectorio paul hay unas clave privada RSA y publicas. Vamos a probarlas haber si nos podemos conectar via SSH como el usuario paul.
Probandolas todas la id_key4 es la que me funciono, pero para que nos funcione hay que cambiarle los permisos.
Le cambiamos los permisos.
Ahora si la usamos nos conectamos a este especie de panel. Nos vamos al apartado de Edit File y le decimos que queremos leer el /etc/passwd y damos al enter.
Observamos que se nos abre con vim en vez de con nano, en GTFObins te dicen como lanzar una bash, y bueno lo hacemos :set shell=/bin/bash.
Luego la llamamos haciendo un :shell.
Ahora ya estamos operando en una terminal normal. Si hacemos un Ip a observamos que tenemos un segundo segmento de red en eth1 con direccion IP 10.10.10.7/24, en este segmento es donde esta operando la maquina Brain.
Tenemos acceso ya en la maquina pluck ahora debemos saltar a la maquina brain.
Primeramente nos creamos este script en la maquina pluck en el directorio /tmp le damos permisos de ejecucion.
Este pequeño script busca dispositivos activos en una red local enviando un mensaje de ping a cada posible dirección IP y mostrando un mensaje si recibe una respuesta.
Observamos que nos respondieron varias, una de estas se nos fue asignada a nuestra segunda maquina.
Ahora nos descargamos el chisel en nuestra maquina local y luego nos la transferimos ah la maquina victima la maquina pluck puedes descargar el chisel aca GitHub.
Como punto numero uno nos ejecutamos el chisel en nuestra maquina atacante, nos lo ejecutamos como servidor para ofrecer un servicio por el puerto 1234.
Ahora como punto numero dos en la maquina victima la maquina pluck nos ejecutamos el chisel como cliente, osea nos conectamos como cliente al servicio que ofrece la maquina atacante por el puerto 1234. con un R:socks para que se traiga todo lo que haya.
Ahora hay que configurar el proxychains en nuestra maquina local esto lo explico en este post.
Una vez configurado el proxychains y el navegador procedemos a la siguiente maquina.
La direccion IP que se nos asigno fue la 10.10.10.6.
Tonces ahora empezamos por lo basico un escaneo con Nmap para descubrir los puertos abiertos en esta siguiente maquina.
Recordar que ahora no tenemos conexion directa con esta maquina brain la IP 10.10.10.6 porque esta opera en un segundo segmento de red dentro de la maquina pluck.
Tonces cada cosa que le tiremos desde nuestra maquina el proxychains debe ir por delante, ya que gracias ah chisel tenemos un tunel creado para llegar hasta esta maquina.
Y bueno observamos que esta maquina tiene dos puertos abiertos.
Siguiendo tirando de Nmap observamos las versiones y servicios que corren para estos dos puertos.
Recordar que tenemos que tirar de proxychains para poder llegar.
Como tiene el puerto 80 abierto nos vamos a observar la pagina web y es algo simple.
Si fuzzeamos la web encontramos un directorio index.php.
Nota proxychains al incio del todo para pasar por nuestro tunel y poder llegar hasta la direccion 10.10.10.6.
Si nos vamos al directorio encontrado nos carga lo mismo. Pero ?page= podria estar pasando parámetro de consulta, pero aca no tenemos ningun admin.php login.php no sabemos nada.
En el el apartado de page no sabemos que existe ahi si page o otro recurso.
Tonces fuzzeamos especificamente ese apartado y encontramos un include.
Ahora si ya podemos proseguir.
Como ya sabemos la estructura correcta le pasamos la tipica una lectura del /etc/passwd y observamos usuario ben.
En el proc encontramos las credenciales para el usuario ben, ahora nos conectaremos via SSH.
Nos conectamos via SSH.
Nota proxychains al incio del todo para pasar por nuestro tunel y poder llegar hasta la direccion 10.10.10.6.
Observamos que nos logramos conectar como el usuario ben.
Ahora vamos a escalar nuestro privilegios a root, recordando ahora la primera maquina no la rutee 😂😂😂😂. Si hacemos un sudo -l observamos que el been puede correr como root wfuzz.
Buscando por archivos donde tenemos permisos de escritura el range.py tenemos permisos de escritura, asi que por aca le colaremos una instruccion para escalar a root y dejar de ser ben10.
Nos abrimos el range.py y le decimos.
Importame la libreria os, luego haga una llamada a nivel de sistema donde me otorgaras permisos SUID a la bash.
Ahora como punto numeor uno nos ejecutamos el wfuzz, cuando lo ejecutemos obviamente hara lo mismo pero como manipulado parte del codigo hara lo que le intruimos.
Luego segundo punto si hacemos un ls -l a la bash observamos que tenemos permisos SUID.
Tercero si hacemos un bash -p observamos que se nos otorga el privec y si hacemos un whoami somos root.
Ahora que somos root y con las dos maquinas vulneradas vamos por la flag de root.txt Y buenos maquinas resueltas FACIL.