Este artículo es parte de los escritos para la resolución de las máquinas del evento de la #Hackatón Telefónica 2019 realizado el 24 de Julio.
Pude ser parte del equipo organizador y agregar esta máquina a los desafíos de ese día.
La idea de esta máquina era volver un poco a la etapa universitaria en donde pedían pruebas de desarrollo en un sistema web.
Veamos de qué se trata.
Enumeración Inicial
Inicialmente, al hacer el reconocimiento vemos que está el puerto 7680 y el 8000 abierto y nada más. Asumimos que en el puerto 7680 está el Windows Update Delivery Optimization (WUDO) por lo que nos dirigimos a ver qué es lo que está disponible en el puerto 8000.
Web Server (8000)
Al revisar esta página vemos lo siguiente:
Este servicio web está protegido por un usuario y contraseña, por lo que comenzamos con el proceso de fuerza bruta manual, la cual no arroja nada.
Comenzamos con fuerza bruta con algún diccionario liviano como “fasttrack.txt” y usando ambos parámetros iguales encontramos que ambos, usuario y password es “test”
Dentro de la aplicación
Al ingresar a la aplicación vemos lo siguiente:
Y tenemos que es una plataforma para recibir tareas y el enunciado dice que se tiene que subir un archivo .zip con un archivo .bat que ejecute una suma de dos números.
El código que hace esa suma es algo como lo siguiente:
Al enviar un código similar al anterior, comprimido con la clave pedida al sistema web, aparece la siguiente pantalla:
Ahí tenemos el primer flag!!
Shell en el equipo
Ahora uno puede intentar generar una Shell en el equipo subiendo un archivo .bat malicioso como por ejemplo algo este 1-liner:
Con ese código nos aparece una serie de errores en las pruebas, pero sabemos que se creó el archivo y basta con hacer la prueba en la URL http://192.168.182.158:8000/test.php?c=dir
O el comando whoami
Y si nos movemos un poco dentro de los directorios de XAMPP podemos ver que existe otro archivo flag.txt
Elevando para el último flag
Ahora hay que moverse sigilosamente porque Windows Defender está activo, y cualquier intento de infectar el equipo va a botar el servicio Web (¡que invasivo!).
Windows Defender tb toma como malicioso cualquier intento de subir una shell reversa “normal” y varias de las herramientas de Powershell para hacer enumeraciones (aunque no es defícil bypassearlo), la idea es que se fueran por otro lado.
Para sacar el último flag hay que elevar privilegios y como no hay nada más anormal instalado/habilitado nos ponemos a investigar el servicio de “Apache2.4”. Para esto revisamos el servicio con el comando:
Ahora podemos ver que el existe un set de permisos extraños configurados, tenemos permisos nuevos definidos para el usuario con SID: S-1-5-21-1798512092-722548536-3125837225-1002
Averiguando con el mismo comando whoami, podemos ver cuál es el SID del usuario actual y confirmamos que es el mismo.
Entonces ahora tenemos todas las piezas del puzzle, por lo que simplemente hay que juntarlas para hacer la elevación.
El objetivo es cambiar el servicio de Apache para que corra con los permisos de SYSTEM en vez de los permisos del usuario xampp y así tener la misma Shell pero con permisos completos.
Entonces generamos este archivo .bat
Y luego basta simplemente ejecutarlo para tener el servicio de XAMPP con el usuario SYSTEM (si no funciona directamente usar el comando AT)
Con esto tenemos acceso directo a la carpeta del “Profesor” y al flag
Ojalá que les haya gustado la máquina, y nos vemos en el siguiente año.
Ricardo Monreal Llop
Presidente FINSIN