Return
Return es una máquina Windows de dificultad fácil que cuenta con un panel de administración de impresoras de red que almacena credenciales LDAP. Estas credenciales se pueden capturar ingresando un servidor LDAP malicioso que permite obtener acceso al servidor a través del servicio WinRM. Se descubrió que el usuario formaba parte de un grupo de privilegios que luego se explotó para obtener acceso al sistema.

Reconnaissance
Realizaremos un reconocimiento con nmap para ver los puertos que están expuestos en la máquina Return. Este resultado lo almacenaremos en un archivo llamado allPorts.
A través de la herramienta de extractPorts, la utilizaremos para extraer los puertos del archivo que nos generó el primer escaneo a través de Nmap. Esta herramienta nos copiará en la clipboard los puertos encontrados.
Lanzaremos scripts de reconocimiento sobre los puertos encontrados y lo exportaremos en formato oN y oX para posteriormente trabajar con ellos.
Transformaremos el archivo generado targetedXML para transformar el XML en un archivo HTML para posteriormente montar un servidor web y visualizarlo.
Accederemos a http://localhost y verificaremos el resultado en un formato más cómodo para su análisis.

Initial Access
Abusing Printer Admin Panel
Accederemos a http://10.10.11.108 y nos encontramos que se trata de un panel de administración de una impresora.

En el apartado de Settings, logramos visualizar el siguiente contenido. Una dirección de servidor, puerto, usuario y unas credenciales en *****.

Probamos de verificar si estas credenciales estaban en formato password en el código, nos encontramos que es una cadena en formato text, por lo tanto no podemos realizar nada al respecto.

También verificamos que podemos modificar parte de las opciones que nos proporcionan. Por lo tanto, lo que probaremos es de ponernos en escucha por el puerto 389 que es el que está especificado en la impresora.
Volveremos al panel de adminsitración, y cambiaremos el Server Address por nuestra dirección IP, actualizaremos la configuración.

Verificamos que recibimos la autenticación del usuario svc-printer con su contraseña. Al modificar el Server Address por el nuestro, la impresora ha realizado la autenticación en nuestro equipo, mostrándonos las credenciales en texto plano al no haber un LDAP por atrás que valide estas credenciales.
Abusing WinRM - EvilWinRM
Verificaremos si estas credenciales son válidas para el usuario. Verificamos que logramos comprobar y también conectarnos al equipo mediante evil-winrm y visualizar la flag de user.txt.
Privilege Escalation
Comprobaremos los permisos y grupos que dispone el usuario svc-printer. En el resultado obtenido, logramos verificar que este usuario tiene el privilegio de SeBackupPrivilege habilitado.
Dumping Credentials - SAM File Hashes (SeBackup Privilege) [FAILED]
Probaremos de hacer un dump de la SAM para extraer el hash NTLM del usuario Administrator y verificar si nos sirve para ser usuarios administradores locales del equipo.
Exportaremos la SAM y SYSTEM y nos lo descargaremos en nuestro equipo local.
A través de la herramienta de samdump2, extraemos los hashes NTLM de la SAM.
Verificaremos si el hash NTLM del usuario Administrator es válido. En este caso, no nos sirve el hash encontrado.
Abusing Server Operators Group
Revisando nuevamente los grupos a los cuales forma parte este usuario. Nos fijamos que forma parte del grupo Server Operators.
El grupo Server Operators es un grupo de seguridad integrado en los entornos de Windows Server. A los miembros de este grupo se les otorgan privilegios administrativos específicos que les permiten realizar tareas relacionadas con el servidor sin tener derechos administrativos completos. Este grupo está diseñado principalmente para la administración delegada del servidor. Privilegios clave de los operadores de servidor
Los miembros del grupo Operadores de servidor tienen los siguientes privilegios:
Iniciar y detener servicios:
Pueden iniciar, detener y pausar servicios en el servidor, lo que es crucial para el mantenimiento y la resolución de problemas del servidor.
Administrar recursos compartidos:
Los operadores de servidor pueden crear, modificar y eliminar carpetas compartidas y administrar recursos compartidos de impresoras, lo que les permite administrar recursos compartidos de manera eficaz.
Operaciones de copia de seguridad y restauración:
Los miembros pueden realizar copias de seguridad de archivos y restaurar archivos a partir de copias de seguridad, lo que facilita la administración de los procesos de recuperación de datos.
Iniciar sesión localmente:
Los miembros tienen la capacidad de iniciar sesión localmente en el servidor, lo que les permite administrar directamente el servidor a través de su consola.
Administrar usuarios y grupos locales:
Pueden agregar o eliminar usuarios de grupos locales y administrar cuentas locales, lo que es importante para las tareas de administración de usuarios.
Hemos conseguido más información de lo que trata esta escalada de privilegios desde el siguiente blog donde se detalla la explotación.
Desde el equipo procederemos a revisar los servicios que se encuentran en ejecución.
Después de revisar los servicios que se encuentran en ejecución, el siguiente paso será subir al equipo víctima el binario nc.exe para posteriormente aprovechar de que formamos parte de este grupo, para modificar el binPath del servicio e indicarle que la ruta del servicio es la ejecución de una Reverse Shell utilizando el binario subido de nc.exe.
Verificamos que logramos modificar correctamente el binPath del servicio VMTools, también podemos utilizar el servicio browser.
En una terminal nos pondremos en escucha por el puerto especificado en el punto anterior.
Volveremos a la terminal del equipo víctima y procederemos a parar y volver a iniciar el servicio el cual hemos modificado el binPath para que ejecute la Reverse Shell.
Verificamos que al volver a iniciar el servicio, hemos logrado obtener conexión a través de la Reverse Shell, en este caso, el usuario que arranca el servicio es el usuario NT AUTHORITY\SYSTEM, lo cual tenemos control total sobre el equipo.
Logramos visualizar la flag de root.txt.
Última actualización
¿Te fue útil?
