DebugMe
Que tal lord & lady
El día de hoy traigo para ustedes una nueva resolución de maquina de la plataforma de https://dockerlabs.es, la maquina DebugMe.
Esta maquina es creada por Lenam, tiene una dificultad difícil y es la maquina elegida para hackear y romper el día de hoy.
Requisitos previos:
- Tener configurado al menos una virtual como Kali o Parrot (link aquí)
Write Up maquina DebugMe #dockerlabs.es
Reconocimiento
Ping
Enumeración
Servicios y versiones
Tenemos 3 puertos:
Puerto 22 - OpenSSH 7.6p1
Puerto 80 - Apache 2.4.29
Whatweb:
Sitio + Wappalizer:
Pues no tenemos tantas tecnologías detrás de esta pagina pero tenemos algo interesante...
Podemos redimencionar tanto imagenes (eso lo entiendo) y PDFs (whaaaaat).
Vamos a ver que hace...
¿Que pasa si... intentamos mandar un archivo php malicioso?
Bueno, no le gustó...
Vamos a abrir Burpsuite y interceptamos la petición para ver si podemos jugar con ella, por supuesto, mandamos al repeater:
A jugar ...
Jugando un poco con Burpsuite, pasándole un archivo malicioso y jugando con los magic numbers de un GIF:
Si buscamos este error en internet nos da:
Todo apunta a que es un proyecto open-source llamado ImageMagick, esto nos da pauta pra poder buscar vulnerabilidades y exploits.
Fuzzing:
Como siempre es buena costumbre hacerlo, hacemos un fuzzing...
Y tenemos un archivo info.php que podemos revisar para ver mucha mas configuraciones:
Por cierto, aquí también podemos confirmar el modulo IMagick de version 3.4.3RC2:
Puerto 443 - Apache 2.4.29
Explotación
- Primero que nada, me puse a investigar vulnerabilidades para "Image Magick".
- Probe utilizando este exploit
- Hay que crear una imagen, output.png la cual le indicamos que archivo queremos leer arbitrariamente de nuestra maquina victima, en nuestro caso "/etc/passwd":
- Subimos esta imagen a la aplicación web de redimensionamiento:
- El resultado, le damos click derecho e inspecionar, esto para poder copiar el contenido en base64:
- Copié solo el contenido en base64 (después de la coma) y lo utilice para crear una imagen.
Hay varias formas de hacerlo, yo solo lo copié y genere la imagen aquí:
- En nuestra maquina victima utilizamos el siguiente comando para revisar información en hexadecimal:
Nos va a mostrar bastante información, pero hasta el final vemos valores de la siguiente manera:
Estos valores, son hexadecimales, yo no quise batallar para convertirlos utilizando Python (por que si me hizo batallar, conforme a la prueba de concepto en Github), así que lo copie y lo convertí a ascii utilizando este sitio online:
Copié nuevamente el resultado y lo pegue en un archivo llamado passwd.txt:
Como vemos, aquí tenemos 2 usuarios además de root, application y lenam.
Si recordamos, tenemos SSH, pudiéramos realizar fuerza bruta con hydra:
Iniciamos sesión a través de SSH:
Y estamos dentro!
Post-Explotación
SUDOERS
Binarios con PERM SUID (4000)
Tampoco se puede hacer mucho...
CAPABILITIES
Tampoco se puede hacer mucho...
Vamos a ejecutar linpease.sh para ver que mas encontramos...
Maquina atacante:
Maquina victima:
Ejecutamos:
Ahora si, a empezar a analizar meticulosamente...
Después de horas buscando posibles escaladas de privilegios, aquí esta:
LinPEAS me dio estos resultados en los procesos de ejecución:
Lo cual hizo que buscara posibles privesc utilizando node, lo que me hizo llegar a esta liga:
Una vez que maté el proceso de node, intente iniciar el inspector para iniciar un debugger.
Posteriormente intente ejecutar un comando, lo que no supe si en verdad se había ejecutado...
hasta que intente cambiarle los permisos a la bash como SUID:
Revisé permisos de la bash en otra sesión ssh:
Y ...
Somos root!
Conclusiones
Muchas gracias por haberte pasado por acá, nos leemos en un siguiente WriteUp.
#HappyHacking
Comentarios
Publicar un comentario