🟠Loly
Write-up de la máquina Loly de Proving Grounds #writeup #walkthrough
Enumeración
Puertos abiertos
Comenzamos enumerando que servicios tiene abiertos la máquina Loly. Primero, un escaneo rápido de estos servicios.
Solo está abierto el puerto 80 (HTTP). El siguiente paso, será el escaneo profundo de este servicio.
Servicios abiertos:
Puerto 80 -> HTTP -> nginx 1.10.3
Enumeración Web
El CTF Loly está ejecutando un servidor Web en el puerto 80. Vamos a enumerar su contenido.
Vemos una página por defecto de un servidor nginx. Vamos a continuar con una enumeración de directorios y archivos.
Parece que estamos ante un sitio Web que ejecuta un CMS Wordpress. Vamos a acceder a /wordpress.
Vemos que los accesos direccionan al dominio "loly.lc", así que vamos a añadirlo al archivo "/etc/hosts".
Estamos evaluando un CMS WordPress, vamos a tratar de enumerar más información con la herramienta wpscan.
Encontramos unas credenciales para iniciar sesión en el panel de administrador de WordPress.
Explotación
Acceso al sistema
Vamos a probar las credenciales encontradas para iniciar sesión en WP.
Vamos a enumerar posibles vectores vulnerables que nos permitan acceder al servidor. Durante la enumeración hemos encontrado un plugin "llamativo" llamado "AdRotate". Veamos que podemos hacer.
En "Manage Media" encontramos una utilidad para cargar archivos. Hay que tener en cuenta que están limitados los archivos que se pueden cargar. Vamos a tratar de cargar una reverse shell pero comprimida como archivo .zip.
Configuramos la reverse shell.
Ahora la comprimimos y cargamos.
Vamos a la URL: http://loly.lc/wordpress/wp-content/banners/php-reverse-shell.php para ejecutar el archivo cargado.
Levantamos un oyente nc en el puerto 1337.
Y ya tendriamos acceso al sistema.
Buscamos la flag local.txt
Pivotando de "www-data" a "loly"
Estamos tratando de vulnerar un sitio Web que ejecuta un CMS WordPress. Para su funcionamiento, requiere de una serie de archivos donde podemos encontrar información muy interesante. Estos archivos suelen encontrarse en /var/www/html/wordpress.
Dentro de un archivo wp-config.php encontramos una posible contraseña.
La posible contraseña es "lolyisabeautifulgirl". ¿Podría ser la contraseña del usuario "loly"? ¿La puede estar reutilizando? Vamos a comprobarlo.
Elevación de privilegios
Vamos a comenzar enumerando que puede ejecutar este usuario como "root" sin contraseñas.
Este usuario no puede ejecutar comandos como "sudo"
Vamos a continuar enumerando los archivos con permisos SUID.
Pero no hay ninguno que ejecutable interesante que nos permita elevar privilegios.
Otra cosa que podemos hacer es enumerar los servicios que se están ejecutando de forma interna.
Se está ejecutando de forma interna un servicio MySQL del cual tenemos las credenciales. Vamos a enuemerar sus usuarios.
Nada interesante. Ya conocemos las credenciales de ese usuario.
Vamos a enumerar información sobre kernel y sistema operativo.
Vamos a buscar si existen vulnerabilidades para esa versión.
Encontramos un posible exploit interesante. Vamos a descargarlo y compilarlo, para posteriormente enviarlo a la máquina víctima haciendo uso de un servidor http Python.
Enviamos el exploit a la máquina víctima, compilamos y damos permisos de ejecución
Si a alguien le devuelve al compilar, un error relacionado con cc1, también esta la forma de solucionarlo.
Ya estaría la máquina resuelta.
Last updated