Titulo: TryHackMe - LockDown |
Fecha: 21-09-2021 |
Descripcion: Enumeracion - SQL Inyection - Fuzzing - MySQL - Rule Yara |
TryHackMe - LockDown Writeup
## Ping:
ping -c1 10.10.158.200
Mediante el comando ping vamos a trazar una ruta ICMP para ver si la maquina esta activa y ante que tipo de sistema operativo estamos
Podemos ver que la respuesta del ttl es 63 , el TTL en maquinas Linux es 64 y en maquinas Windows 128 , en este caso es 63 porque pasa por un nodo intermediario.
## Enumeracion :
Ahora vamos a proceder a ver que servicios tiene esta maquina abiertos para ello vamos a realizar una enumeracion de puertos:
Mediante el parametro --min-rate 5000 va a emitir paquetes no mas lento que 5000 paquetes por segundo
Vamos a proceder a realizar una enumeracion mas potente aplicando scripts basicos de nmap para determinar la version y servicio que corren en cada uno de los puertos expuestos
Mediante la herramienta WhatWeb vamos a ver si estamos ante algun gestor de contenido y si nos reporta algo interesante de la web
Si procedemos abrir la web mediante el navegador , nos vamos a dar cuenta que nos redirigue a un dominio llamado "contacttacer.thm"
Por lo que vamos a tener que introducir dicho dominio en nuestro /etc/hosts ya que se esta aplicando la tecnica de VirtualHosting
Ahora ya nos deberia cargar la web y vemos un panel de "Coronavirus Contact Tracer" ya podemos darnos cuenta de que esta maquina esta relacionado con el Covid-19
Tenemos un campo de introducir un codigo que se queda colgada la pagina cuando introduces un codigo , abajo tenemos un enlace a un Panel de Administracion
Podemos ver que tenemos 2 campos tipicos y que no tenemos credenciales , podemos probar con credenciales tipicas o intentar realizar un ataque de inyeccion sql
Si realizamos el ataque vamos a comprobar que vamos a poder realizar un bypass del panel de auntentificacion
## Panel Covid-19 :
Ahora nos encontramos ante un panel de gestion del covid-19 , si investigamos vamos a tener un formulario para crear un nuevo Dashboard que nos permite subir un icono para el Dashboard
En vez de subir un icono voy a probar a subir una shell reversa
Y nos ponemos a la escucha mediante el puerto que hemos configurado mediante Netcat
Y nos va a dar una shell como el usuario www-data
## Escalada de Privilegios :
Si vamos investigando el sistema y nos dirigimos a la ruta /var/www/html , nos vamos a encontrar con el tipico fichero "config.php" que normalmente contiene credenciales en texto plano
Y podemos ver un usuario y una contraseña del usuario hasheada , si seguimos enumerando los ficheros nos vamos a encontrar otro fichero llamado "DBConnection.php" que contiene las credenciales del gestor de Base de Datos Mysql
Si nos conectamos a MySQL , podemos ver las bases de datos y las tablas que contiene
La unica tabla que llama mas la atencion y donde puede a ver contraseñas es en la tabla Users que vamos a realizarle una consulta para que nos muestre los campos
Podemos ver el Usuario Admin junto con su contraseña que esta hasheada
Si tiramos de rainbow tables como puede ser CrackStation , nos devuelve la contraseña en texto plano
Si listamos el directorio /home podemos ver los usuarios que tenemos
Podemos probar la contraseña que tenemos con los 2 usuarios
Podemos ver que la contraseña pertenece el usuario "Cyrus" y ya podemos visualizar el flag del usuario
Ahora tenemos que buscar permisos SUID , o procesos que nos permitan ejecutar procesos como el usuario root , tenemos un script llamado scan.sh que tiene el bit SUID activado
sudo -l
Si procedemos a ver que tiene el script , parece un script que utiliza un antivirus , en el que se le introduce una ruta analiza la ruta en busca de malware y si encuentra alguno lo introduce en una carpeta que esta en el home del usuario y que se llama "quarantine"
Si pensamos podemos crear una regla YARA que detecte como malware cualquier cadena que lleve "THM" que es como comienza el flag del usuario root y asi podemos secuestrar el fichero root.txt
rule TextExample
{
strings:
$text_string = "THM"
condition:
$text_string
}
Ahora si ejecutamos el script con los permisos de sudo y le pasamos como ruta el directorio del usuario Root , nos va a detectar un fichero infectado ya que contiene la cadena "THM"
Si procedemos a ir al directorio de "quarantine" podemos ver ya ver el flag del usuario Root que hemos secuestrado mediante la regla de malware YARA
Y ya tendriamos la maquina LockDown explotada , con un nivel de dificultad Medio!