NorC DockerLabs (Hard)

Instalación

Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.

unzip norc.zip

Nos lo descomprimira y despues montamos la maquina de la siguiente forma.

bash auto_deploy.sh norc.tar

Info:

                            ##        .         
                      ## ## ##       ==         
                   ## ## ## ##      ===         
               /""""""""""""""""\___/ ===       
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
               \______ o          __/           
                 \    \        __/            
                  \____\______/               
                                          
  ___  ____ ____ _  _ ____ ____ _    ____ ___  ____ 
  |  \ |  | |    |_/  |___ |__/ |    |__| |__] [__  
  |__/ |__| |___ | \_ |___ |  \ |___ |  | |__] ___] 
                                         
                                     

Estamos desplegando la máquina vulnerable, espere un momento.

Máquina desplegada, su dirección IP es --> 172.17.0.2

Presiona Ctrl+C cuando termines con la máquina para eliminarla

Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.

Escaneo de puertos

Info:

Si nos conectamos a la pagina, no cargara, veremos en la URL que esta intentando acceder mediante un dominio llamado norc.labs por lo que vamos a registrarlo:

Lo guardamos y ahora vamos acceder a el de nuevo, veremos que si carga y veremos que de primeras nos aparece un panel en el que meter una password.

Pero si inspeccionamos el codigo, vemos esta seccion de aqui:

Sobre todo donde pone wp-submit podemos ver que esta utilizando wp por lo que podemos deducir que tiene un wordpress instalado, vamos a probar metiendo lo siguiente:

Y vemos que efectivamente nos lleva al panel de wordpress de login, probaremos con las credenciales por defecto.

Pero veremos que no funcionan, tambien veremos que tenemos solamente 3 intentos, por lo que no podremos realizar fuerza bruta, vamos a identificar si hubiera algun plugin en el wordpress, que pueda ser vulnerable.

Vamos a realizar un poco de fuzzing ya que no podremos utilizar la herramienta wpscan.

Gobuster

Info:

Vemos que encontro un plugin llamado wp-fastest-cache vamos a ver que version tiene y buscar un exploit para el mismo si lo tuviera.

Vemos que tiene la siguiente version:

Vemos que tiene la version 1.2.1 y si buscamos un exploit, veremos el siguiente:

URL = Exploit Info Plugin

Vemos que se le puede realizar un SQL Injection gracias a este Plugin, por lo que tendremos que hacer lo siguiente:

SQL Injection

Veremos la informacion del PoC en el siguiente link:

URL = Info PoC SQL Injection Plugin Wodpress

Info:

Vemos que tiene 79 tablas, por lo que seria una locura esperar todo eso, vamos a ir al grano ya que nos interesa la base de datos de Wordpress, por lo que vamos a utilizar la base de datos por defecto a ver si cuela:

Info:

Vemos que ha funcionado, a parte tambien veremos la informacion de la base de datos de wordpress viendo unas credenciales tambien, las cuales probaremos en el propio login.

Si nosotros intentamos crackear ese hash MD5 veremos que no podemos, pero nos fijamos en que obtuvimos esta informacion de aqui admin@oledockers.norc.labs parece ser que hay un subdominio, por lo que veremos que contiene de la siguiente forma:

Lo guardamos y ahora nos vamos a esa parte del subdominio.

Veremos lo siguiente cuando entremos:

Vemos que la password del usuario admin es wWZvgxRz3jMBQ ZN por lo que probaremos a entrar desde el panel de wordpress con dichas credenciales.

Escalate user www-data

Vemos que si nos deja y estaremos dentro del Wordpress en el panel de administrador.

Crearemos nosotros un plugin de wordpress con una reverse shell dentro del ella, de la siguiente forma:

plugin.php

Nos vamos a Plugins -> Añadir nuevo plugin -> Subir Plugin -> Dentro de esta seccion le daremos a Browser... para seleccionar nuestro plugin malicioso.

Una vez seleccionado y subido, le daremos a Instalar ahora, despues le damos otra vez a plugins y nos aparecera el nuestro, antes de activarlo estaremos a la escucha:

Y ahora si le daremos al boton Activar y volvemos a la escucha, veremos lo siguiente:

Sanitización de shell (TTY)

Escalate user kvzlx

Si nos vamos a la home de kvzlx veremos un archivo bastante interesante llamado .cron_script.sh que si lo leemos veremos lo siguiente:

Vemos que esta decodificando su propia password en /tmp sin ningun tipo de sanitizacion, pero si nos vamos a la carpeta /tmp, veremos el archivo decoded.txt pero si lo leemos no lleva nada dentro, por lo que algo no esta ejecutando bien.

Tambien podemos observar que puede ser que se este ejeuctando un crontab cada cierto tiempo sobre ese archivo, vamos a investigar mas en los procesos a ver que esta pasando.

Si hacemos ps -aux no veremos mucho mas, por lo que utilizaremos la herramienta pspy64 que nos ayudara a todo esto, para ver de mejor forma que esta pasando de forma interna.

En nuestro host nos descargaremos la herramienta:

URL = Download pspy64

Una vez que la tengamos en nuestro host abriremos un servidor de python3 para pasarnos el archivo a la maquina victima:

Y en la maquina victima haremos lo siguiente:

Una vez que nos lo hayamos pasado, le pondremos permisos de ejecuccion de la siguiente forma:

Y ahora lo ejecutamos:

Info:

Vemos que si esperamos un rato a que el cron se ejecute nos muestra lo que esta sucediendo a bajo nivel.

Para ello tendremos que esperar un rato, hasta que podremos observar lo siguiente:

Vemos que esta intentando leer el archivo .wp-encrypted.txt, vamos a ver que hay en dicho archivo.

Pero si entramos vemos que no hay ningun archivo, podemos nosotros crear el archivo, ya que no se esta aplicando ningun tipo de sanitizacion, lo que va hacer es que va a decodificar el base64 que nosotros le metamos al archivo y lo va a ejecutar, por lo que haremos lo siguiente:

Nos vamos a nuestro host y codificamos la reverse shell en base64:

Info:

Ahora en la maquina victima, pondremos lo siguiente:

Lo guardamos y seguidamente nos pondremos a la escucha en nuestro host:

Solo tendremos que esperar un ratito y veremos lo siguiente en la escucha:

Vemos que ya somos el usuario kvzlx.

Sanitización de shell (TTY)

Escalate Privileges

Si vemos las capabilities que tiene el usuario, veremos lo siguiente:

Info:

Por lo que podremos hacer lo siguiente:

Info:

Y con esto seremos root, por lo que habremos terminado la maquina.

Last updated