RESOLUCIÓN MÁQUINA BLOG – TRY HACK ME

Descripción

Blog es una sala de dificultad media creada por Nameless0ne en tryhackme.com:

https://tryhackme.com/room/blog

Se explicará paso a paso todas las herramientas y metodología utilizada

El objetivo de esta sala es:

  1. Enumeración de WordPress
  2. Obtener una shell usando una vulnerabilidad única para una versión específica de WordPress
  3. Extraer información de imagenes utilizando herramientas de esteganografía
  4. Extraer código utilizando ingeniería inversa y la herramienta Ghidra
  5. Obtener privilegios de root

Empezamos la resolución

Después de iniciar la sala, lo primero que siempre hacemos es ejecutar un escaneo de NMAP para ver todos los puertos y servicios abiertos que se ejecutan en la máquina.

  • sC: Realiza un escaneo utilizando scripts
  • sV: Nos muestra la versión de todos los servicios en ejecución.

Y como resultado podemos ver:

Pasamos a revisar el puerto 80.

El siguiente paso suele ser ejecutar un escaneo de directorios, que revelará más información en el sitio web. Para esto probé una herramienta llamada dirsearch, que es bastante rápida y fácil de usar, https://github.com/maurosoria/dirsearch.

python3 dirsearch –u http://domain –e “extensiones de archivo” –w diccionario palabras

Después de realizar el escaneo del directorio, parece que tenemos un sitio web basado en WordPress.

La fase de enumeración no ha finalizado, aunque todavía tenemos recursos SMB compartidos de para consultar para obtener más información.

Para esto una herramienta llamada usaré enum4linx. Es una herramienta para enumerar los recursos compartidos de Windows y Linux Samba.

enum4linux <IP-máquina>

Mira ese BillySMB, echemos un vistazo y veamos si podemos encontrar algo bueno, para esto usaremos smbclient. Es un cliente tipo FTP para acceder recursos compartidos SMB en un servidor.

smbclient // <máquina-IP> / BillySMB

Tenemos 3 archivos multimedia llamados Alice-White-Rabbit.jpg, tswift.mp4, check-this.png

Usaremos una herramienta llamada una herramienta de steghide, que puede ocultar y extraer datos de varios tipos de archivos de audio e imágenes.

Para extraer datos usaremos el siguiente comando:

steghide extract -sf <nombre de archivo>

Steghide tiene 2 opciones:

  • incrustar (para ocultar datos en una imagen)
  • extraer (sacar datos de una imagen)

La -sf bandera se usa con la opción de extracción y se usa para seleccionar un archivo stego.

Parece que encontramos una madriguera de conejo.

Después de jugar con los otros 2 archivos que se encuentran en este recurso compartido de SMB, solo lleva a una canción de Billy Joel y una canción de Taylor Swift.

Así que toda la operación SMB no nos llevó a ninguna parte. Ahora volvamos a nuestro “sitio web basado en WordPress”. Para enumerar WordPress podemos utilizar una herramienta llamada wpscan.

wpscan es una herramienta de escaneo de vulnerabilidades, puede enumerar versiones, complementos, temas, usuarios y también se puede utilizar como una herramienta de ataque de fuerza bruta.

Usaremos los siguientes comandos para escanear este sitio web:

wpscan –url http: //<IP-máquina>/

Un simple wpscan muestra que tenemos xml-rpc habilitado en el sitio web, siempre que este archivo esté habilitado en cualquier sitio web de wordpress, el sitio web se vuelve vulnerable a un ataque de fuerza bruta.

También pudimos averiguar sobre la versión de WordPress que utiliza este sitio, que será útil más adelante.

Ahora todo lo que necesitamos encontrar son usuarios contra los que podamos realizar un ataque de fuerza bruta.

wpscan –url http: //<IP-máquina>/ -eu

Parece que encontramos algunos usuarios. Ahora, turno para la fase de ataque.

Para realizar fuerza bruta con wpscan:

wpscan –url http://<IP-máquina>/ -U <nombres de usuario.txt> -P <lista-de-contraseñas.txt>

Para este ataque se usa el diccionario rockyou.txt de contraseñas y los nombres de los usuarios encontrados anteriormente, adjuntos en un archivo .txt

Solo encontramos contraseña para el usuario kwheel, así vamos a iniciar sesión con sus credenciales.

Bien, tenemos una cuenta autenticada.

Ahora, ¿adónde ir desde aquí? Volvamos a la versión que encontramos para WordPress.

Para encontrar información y vulnerabilidades en esta versión particular de wordpress, utilicé una herramienta llamada searchsploit.

searchsploit <nombre-servicio>

El resultado de Searchsploit muestra una vulnerabilidad que puede explotarse con Metasploit.

Así que iniciemos msfconsole y procederemos a la siguiente fase de nuestro ataque.

> use exploit / multi / http / wp_crop_rce

> set <nombre-opción>

> run

Una vez que tenemos nuestra sesión de meterpreter, cambiamos a un shell para nuestra conveniencia.

Cambiamos de modo de Shell utilizando el comando shell

Una vez dentro, identifiquemos al usuario con el que ingresamos.

Entonces, hemos entrado como www-data. Ahora, podemos buscar el user.txt en el directorio de inicio del usuario bjoel pero no será de ninguna utilidad. Nuestro próximo objetivo debería ser la escalada de privilegios.

Hay un SUID muy interesante, echémosle un vistazo a /usr/sbin/checker. Para aplicar ingeniería inversa a esto, utilicé un comando llamado ltrace.

Me quede desconcertado, necesitaba algo que me diese una dirección.  Entonces me di cuenta de que necesito utilizar ingeniería inversa. Tengo que dedicar más tiempo a la ingeniería inversa y al desbordamiento de búfer.

Vamos a descargar el checker:

Algo que podamos echar un vistazo antes de pasarlo por Ghidra.

Descompilar el main en Ghidra da una comprensión de lo que hace el binario. Está haciendo una llamada a getenv para comprobar si se declara una variable de entorno de administración. Si se declara admin, establecerá el uid en 0 (usuario root) y realiza una llamada al sistema para generar /bin/bash.

Ahora podemos leer la bandera raíz, ver los archivos de bjoel y encontrar su bandera de usuario oculta en /media/usb/

Y volviendo al directorio /, encontramos la carpeta root, que contiene el archivo root.txt

Tags:

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *