Esta máquina es una pasada, me ha encantado, es demasiado bonita.
Reconocimiento
Ejecutamos nmap para ver los puertos abiertos:
|
|
|
|
Extraemos los puertos relevantes:
|
|
Y lanzamos los scripts de reconocimiento predefinidos de nmap para recopilar más información de los servicios expuestos en la máquina objetivo.
|
|
|
|
Obteniendo acceso a la máquina víctima
Vemos una página web a la que podemos subir imágenes para ver los metadatos. Interceptando la petición:
Añadimos el dominio a nuestro archivo de hosts. Echamos un vistazo al análisis que hace la página:
Una vez sabemos la versión de “exiftool” buscamos en Firefox algún tipo de vulnerabilidad asociada; encontramos CVE-2022-23935 que nos permite la ejecución de comandos arbitraria. Siguiendo el reporte:
Obtenemos la petición del equipo objetivo : tenemos conexión directa y ejecutamos comandos en él.
Escalada de privilegios
Escalada de privilegios: Windows Security Log Events
Tras una breve búsqueda de ficheros que le pertenezcan al usuario:
Lo que parece ser un correo enviado con un archivo adjunto. Haciendo una serie de conversiones obtenemos el archivo adjunto, que resulta ser un archivo de logs de Windows. Es la primera vez que manejo este tipo de archivos, por tanto me informé de la estructura y me centré en lo que se conoce como “Event Id” una serie de códigos que definen las distintas situaciones que se registran en el archivo. Tras un par de horas entre una cosa y otra:
¿Qué es lo que ha pasado?¿Por qué está la credencial en texto claro? El evento 4625 está asociado al evento “An account failed to log on” y el usuario cometió el error de ,en lugar de introducir el nombre de usuario, escribió la contraseña por error. Esto nos puede pasar si tenemos algún campo que se rellena solo en un formulario de inicio de sesión o si creemos que ya hemos introducido el nombre de usuario; al final toda esa información queda registrada en los logs del equipo.
Escalada de privilegios vertical a root: Reverse Engineering with Ghidra
Como usuario “smorton” comprobamos si hay algún binario que podamos ejecutar sin proporcionar contraseña como root:
Parece ser un binario que no pertenece al SO por defecto. Nos lo traemos a nuestro equipo y lo analizamos con Ghidra:
Tras seguir el flujo principal del programa resulta que necesita de dos parámetros: una url de donde se descarga un archivo que posteriormente lo ejecuta con Perl, y una cadena de texto predefinida.
Desde nuestro equipo creamos un pequeño script en Perl que nos otorgue privilegios de administrador:
|
|
Y desde el equipo objetivo: