Keep Calm and Hack The Box - Lame

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.

Lame es la primera máquina publicada en Hack The Box y es para principiantes, requiriendo solo un exploit para obtener acceso root.

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

  • nmap
  • mapa zen
  • búsqueda
  • metasploit

Paso 1: escanear la red

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 esa fase para obtener la mayor cantidad de información posible.

Usaré Nmap (Network 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 tener una idea básica de lo que estamos escaneando

nmap -sV -O -F --version-light 10.10.10.3

-sV: Sonda los puertos abiertos para determinar la información de servicio / versión

-O: habilita la detección del sistema operativo

-F: Modo rápido : escanea menos puertos que el escaneo predeterminado

--version-light: límite a las sondas más probables (intensidad 2)

10.10.10.3: dirección IP de la caja Lame

También puede utilizar Zenmap, que es la GUI oficial de Nmap Security Scanner. Es una aplicación multiplataforma, gratuita y de código abierto que tiene como objetivo hacer que Nmap sea fácil de usar para los principiantes al tiempo que proporciona funciones avanzadas para los usuarios experimentados de Nmap.

Utilizo un conjunto diferente de comandos para realizar un escaneo intensivo

nmap -A -v 10.10.10.3

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

-v: aumenta el nivel de verbosidad

10.10.10.3: dirección IP de la caja Lame

Si encuentra los resultados un poco abrumadores, puede pasar a la pestaña Puertos / Hosts para obtener solo los puertos abiertos

Podemos ver que hay 4 puertos abiertos:

Puerto 21 . Control (comando) del Protocolo de transferencia de archivos (FTP)

Puerto 22 . Secure Shell (SSH), inicios de sesión seguros, transferencias de archivos (scp, sftp) y reenvío de puertos

Puerto 139 . Servicio de sesión NetBIOS

Puerto 445 . Uso compartido de archivos SMB de Microsoft-DS (servicios de directorio)

Veamos qué podemos conseguir con el primer puerto.

Paso 2: el FTP vulnerable

Usaremos Searchsploit para verificar si hay alguna vulnerabilidad conocida en vsftpd 2.3.4. Searchsploit es una herramienta de búsqueda de línea de comandos para Exploit Database

Yo uso el siguiente comando

searchsploit vsftpd 2.3.4

Ahora que sabemos que existe una vulnerabilidad, la ejecución de comandos de puerta trasera, intentemos aprovecharla.

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

Lanzo Metasploit Framework en Kali y busco el comando que debería usar para lanzar el exploit

Utilizo el comando para buscar todas las cargas útiles disponibles

search vsftpd 2.3.4

Podemos ver que hay varios exploits diferentes, pero el que nos interesa es el número 4.

exploit/unix/ftp/vsftpd_234_backdoor

Yo uso el siguiente comando para el exploit

use exploit/unix/ftp/vsftpd_234_backdoor

Esto lanzará el exploit. Utilizo este comando para mostrar las opciones disponibles

show options

Puede ver que el host remoto (RHOSTS) aún no está configurado. Estableceré tanto el host remoto como el objetivo, ya que estos dos datos son necesarios para ejecutar el exploit

Utilizo el siguiente comando para configurar el host remoto usando la dirección IP de HTB Lame box

set RHOSTS 10.10.10.3

Luego configuré el objetivo en 0 como se muestra cuando verifiqué las opciones

set TARGET 0

Ahora podemos ejecutar el exploit

Desafortunadamente, podemos ver que incluso si se completa el exploit, no se creó ninguna sesión. La vulnerabilidad ha sido parcheada como se menciona aquí, en la descripción del exploit.

Este módulo explota una puerta trasera maliciosa que se agregó al archivo de descarga VSFTPD. Esta puerta trasera se introdujo en el archivo vsftpd-2.3.4.tar.gz entre el 30 de junio de 2011 y el 1 de julio de 2011, según la información más reciente disponible. Esta puerta trasera se eliminó el 3 de julio de 2011.

La base de datos de exploits es un archivo compatible con Common Vulnerabilities and Exposures (CVE) de exploits públicos y el software vulnerable correspondiente, desarrollado para su uso por probadores de penetración e investigadores de vulnerabilidades. El objetivo es servir la colección más completa de exploits recopilados a través de envíos directos, listas de correo y otras fuentes públicas, y presentarlos en una base de datos de libre acceso y fácil navegación. La base de datos de exploits es un repositorio de exploits y pruebas de conceptos en lugar de avisos, lo que la convierte en un recurso valioso para quienes necesitan datos procesables de inmediato.

Necesitamos encontrar otra forma. ¡Echemos un vistazo a otro puerto!

Paso 3 - La samba vulnerable

Si recuerda el Paso 1 - Escanear la red, descubrimos que se abrió el puerto 445 - Samba smbd 3.0.20-Debian. Veamos si podemos encontrar alguna vulnerabilidad alrededor de esa versión específica.

Si quieres aprender más sobre Samba, ve aquí. Pero no se requiere un conocimiento profundo de Samba para esa caja.

Volvemos a Searchsploit para comprobar

Yo uso el siguiente comando

searchsploit Samba 3.0.20

Podemos ver que hay una ejecución de comando de script de mapa de 'Nombre de usuario' que podríamos lanzar usando Metasploit. ¡Vamos a intentarlo!

Volviendo a Metasploit y comprobando el comando que deberíamos usar para lanzar el exploit. Yo uso el siguiente comando

search Samba 3.0.20

Podemos ver que hay varios exploits diferentes, pero el que nos interesa es el número 15.

exploit/multi/samba/usermap_script

También puede encontrarlo en el sitio web de Exploit Database.

La descripción del exploit

Este módulo aprovecha la capacidad de ejecución de comandos en las versiones de Samba 3.0.20 a 3.0.25rc3 cuando se usa la opción de configuración no predeterminada "script de mapa de nombre de usuario". Al especificar un nombre de usuario que contenga metacaracteres de shell, los atacantes pueden ejecutar comandos arbitrarios.

No se necesita autenticación para aprovechar esta vulnerabilidad, ya que esta opción se utiliza para asignar nombres de usuario antes de la autenticación.

De vuelta en Metasploit donde uso el comando

use exploit/multi/samba/usermap_script

Esto lanzará el exploit. Utilizo el siguiente comando para mostrar las opciones disponibles

show options

Puede ver que el host remoto (RHOSTS) aún no está configurado.

Utilizo el siguiente comando para configurar el host remoto usando la dirección IP de HTB Lame box

set RHOSTS 10.10.10.3

Ahora podemos ejecutar el exploit

¡Bingo! Tenemos un shell de comandos abierto. Veamos qué podemos encontrar :)

Paso 4: buscar el indicador user.txt

Ahora podemos buscar la primera bandera, user.txt

Utilizo el siguiente comando para verificar quién soy en esa máquina

whoami

Tenemos acceso de root a la máquina. ¡Tenemos el poder! Comencemos a navegar por las carpetas.

Utilizo el siguiente comando para enumerar todos los archivos / carpetas

ls

Vayamos a la carpeta de inicio y veamos qué podemos encontrar.

Utilizo el siguiente comando para cambiar al directorio de inicio, luego enumero todos los archivos / carpetas

cd home

No tenemos tanta información aquí, seamos más específicos con el comando

ls -la

Podemos ver que hay una carpeta llamada makis. ¡Veamos qué hay dentro!

¡Encontramos el archivo user.txt! Para leer el contenido del archivo utilizo el comando

cat user.txt

Ahora que tenemos el indicador de usuario, ¡busquemos el indicador raíz!

Paso 5: buscar la marca root.txt

Regresemos al directorio raíz. Yo uso el comando

cd ~

Para comprobar dónde se encuentra, puede utilizar el siguiente comando

pwd

¡Aquí vemos que estamos en el nivel / root y si listamos los archivos / carpetas encontramos el archivo root.txt!

Para leer el contenido del archivo utilizo el comando

cat root.txt

¡Felicidades! ¡Encontraste ambas banderas!

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

Puedes ver más de mis artículos aquí.

Puedes seguirme en Twitter o en LinkedIn

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

Otros artículos de esta serie

  • Mantenga la calma y piratee la caja - Legacy
  • Mantenga la calma y piratee la caja - Devel
  • Mantenga la calma y piratee la caja - Beep