- info@hackbysecurity.com
- +34605 237 826
Os dejo el write up de la máquina Raven de vulnhub, espero que os guste.
URL de Vulnhub
https://www.vulnhub.com/entry/raven-1,256/
Descripción
Debemos acceder como root y encontrar 4 banderas
Búsqueda de objetivo
Una vez descargada la máquina virtual e iniciada, lo primero que debemos averiguar es la IP; para ello ejecutamos:
#nmap -Pn 192.168.39.0/24
Vemos que tiene habilitados 3 puertos.
Recopilación de información
Para esta fase vamos a ejecutar todas las herramientas que conozcamos:
-nmap
-nessus
-nikto
-…
Recordad siempre guardar los resultados en un fichero para no tener que volver a ejecutar los escaneres y perder tiempo.
Nmap
# nmap -sS -sV –script vuln,auth,default 192.168.39.185 -v -oA raven
Como resultado obtenemos:
Sobre el puerto 22
Sobre el puerto 80:
Sobre el puerto 111:
De esta información obtenemos varias vulnerabilidades, directorios expuestos y la instalación de un wordpress.
Nikto
# nikto -h 192.168.39.185 -o nikto_raven.txtComo vemos nikto nos arroja bastante información y algunas vulnerabilidades, clickjacking, XSS,… vemos que tiene algunos directorios expuestos y que hay instalado un wordpress.
Nessus
Iniciamos nessus y escaneamos nuestro objetivo, no vamos a utilizar plantillas propias (que sería lo suyo) utilizamos las que vienen por defecto, y obtenemos:
Para el escaneo básico de red
Para el escaneo web
Wordpres Scan
# wpscan -u http://192.168.39.185/wordpress/ –enumerate vp,vt,u
De este escaneo obtenemos
La versión de wordpress:
El tema usado:
Un par de usuarios de wordpress:
Un usuario RSS:
Y directorios expuestos:
Web
Una vez terminados los escaneos, vemos qué hay iniciado en el puerto 80 a través de nuestro navegador.
Intentado hacer login, vemos que la web nos redirige a raven.local, así que modificamos nuestro fichero hosts para incluirlo:
#nano /etc/hosts
Como vemos el usuario michael existe pero la contraseña que he introducido no:
Vamos navegando e investigando todo lo que encontremos.
Flag1
La primera bandera la obtenemos dentro del propio código HTML, siempre hay que investigar el código fuente, más aun en estos retos.
Directorios expuestos
Una parte importante es rebuscar entre los directorios expuestos por la web, de las herramientas de escaneo hemos obtenido:
Y con nessus otro más el fichero de ios .DS_Store que contiene:
A través de este fichero vemos otra web disponible, tocará investigar:
Vamos navegando y encontramos interesante la instalación del PHPmailer:
Es interesante porque se puede acceder a través de metasploit:
He intentado algo rápido con el post local_exploit_suggester, pero no ha habido suerte:
Ataque manuales
SSH
Aunque tenemos herramientas para automatizar ataques, no está demás probar usuarios y contraseñas por defecto; de wpscan hemos obtenido dos usuarios (steven y michael); los probamos contra el servicio SSH
usuario/contraseña → michael/michael
Ya tenemos acceso al servidor.
Podéis probar con steven/steven, pero va a ser que no hay tanta suerte.
Miramos si el usuario michael está en el fichero sudoers, pero no.
Una vez dentro accedemos al fichero passwd para ver el resto de usuarios del sistema
Dado que esto es un CTF y normalmente las banderas a encontrar se encuentran en ficheros que se llaman flag, los buscamos:
Y encontramos la segunda bandera:
Flag2
Como hemos visto que hay un wordpress montado sobre un mysql, buscamos el fichero de configuración de wordpress wp-config.php
Lo visualizamos y obtenemos las credenciales de la base de datos:
Con esto ya tendríamos acceso.
Ver las bases de datos y seguir investigando:
Para aceder a la consola de wordpress he probado con la misma contraseña, pero no ha habido suerte.
Ataques de fuerza bruta
Mediante wpscan
Wpscan nos permite realizar ataques de fuerza bruta, así que adelante, ejecuto mis dos ataques en paralelo:
#wpscan -u http://raven.local/wordpress/ –username steven –wordlist rockyou.txt –threads 50
#wpscan -u http://raven.local/wordpress/ –username michael –wordlist rockyou.txt –threads 50
Se ha conseguido antes steven así que el otro lo he parado:
Una vez conseguida la contraseña, podemos acceder al escritorio de wordpress
Flag3
Dentro de los post vemos el flag3
Desde aquí lo que siempre se me ocurre es subir una webshell o similar, pero al no tener instalados plugins y no ser administrador del sitio, no podemos.
Ataques manuales II
SSH
A vueltas con el ssh, probamos con la misma contraseña que para wordpress.
Miramos si el usuario steven está en el fichero sudoers, y esta vez sí hay suerte:
El usuario steven puede ejecutar python, así que creamos una bash con python elevando privilegios:
#sudo python -c 'import pty;pty.spawn("/bin/bash")'
Flag4
Ya somos usuario root, por lo que podemos volver a buscar banderas:
Y esto es todo, una máquina con un poco de todo, contraseñas por defecto, ataque por fuerza bruta y elevación de privilegios a través de python.
Seguro que hay más formas, hemos conseguido acceso desde metasploit con usuario www-data, podríamos intentar una elevación de privilegios; podríamos sacar más información de la base de datos, mirar la web security-doc, …
Trabajo, si fuese un auditoría, quedaría mucho, pero el objetivo del CTF está conseguido.
Always Learning
By accepting you will be accessing a service provided by a third-party external to https://www.hackbysecurity.com/
¿Quieres dedicarte a la ciberseguridad y no sabes por dónde empezar?
Chema Alonso te ayuda a identificar tu perfil dentro de la ciberseguridad