Llevo varios años comentando a mis estudiantes que existe la posibilidad de capturar las contraseñas de cualquiera que utilice nuestra propia red (también conocida como intranet) pero nunca me decidí, por motivos de seguridad, a indicar cómo se hacía por mi propia integridad (y la de mis datos privados) ya que en el propio instituto en el que trabajo contar con ésta información (con la de personas que se conectan diariamente a sus cuentas de correo) podría ser una temeridad.
Creo que es interesante conocer cómo hacerlo, sobre todo para demostrar que las conexiones a Internet no son tan seguras como algunos podrían pensar y sentar la base para tratar una serie de artículos en los que ayudar a tomar precauciones ante los ataques de seguridad más habituales.
Quizás de este modo se comprenda que no es buena idea permitir que el vecino acceda a nuestra wifi alegremente… o quizás si 😉
Instalar Ettercap
Utilizaremos la técnica de ARP Poisoning (también conocida como ARP Spoofing) y por su simplicidad usaremos el programa Ettercap que puede ser instalado directamente desde Synaptic o lanzando un
sudo apt-get-install ettercap-gtk
Una vez instalado editamos el fichero /usr/local/etc/etter.conf; para ello ejecuta en la terminal un
sudo nano /usr/local/etc/etter.conf
Busca las entradas
# redir_command_on = “iptables -t nat -A PREROUTING -i %iface -p tcp -dport %port -j REDIRECT -to-port %rport”
# redir_command_off = “iptables -t nat -D PREROUTING -i %iface -p tcp -dport %port -j REDIRECT -to-port %rport”
Y quita los comentarios (#) que hay al comienzo de cada una de ellas.
Guarda (CTRL+O) y sal del editor de textos (CTRL+X)
Iniciar Ettercap
Aunque tras instalar ettercap aparecerá una entrada en el menu Aplicaciones > Internet te recomiendo que lo invoques desde la terminal del siguiente modo
sudo ettercap ––gtk
Si lo haces desde el menú no se invocará el programa como root y por tanto lo más probable es que no te permita seleccionar la tarjeta de red a utilizar para capturar paquetes.
«Snifar» paquetes de red
Realmente es sencillo
- Seleccionamos nuestra tarjeta de red activa (la que estamos utilizando actualmente) pulsando Mayus+U
- Pulsamos CTRL+S para buscar posibles víctimas en la red (equipos que estén utilizando nuestra conexión a Internet)
- Comenzamos el ataque por ARP Poisoning
- Parametrizamos el ataque (para que escanee los equipos que no son el nuestro)
Eso es todo amigos
Ahora sólo queda esperar que alguno de nuestros «visitantes» se conecte, utilizando la misma red que nosotros a alguna página que requiera usuario y clave.
Independientemente del tipo de conexión (las https también caen) verás como las claves y los usuarios comienzan a aparecer en la ventana de Ettercap junto con la URL de la página en las que han sido utilizados.
Espero que con este artículo comprendáis lo importante que es asegurar nuestras conexiones de red y lo fácil que puede resultar para gente, con pocos conocimientos de seguridad, acceder a información sensible de sus víctimas (cuentas de correo, bancos, …).
Antes de nada felicitarte por tu blog. Lo conocí recientemente y me parece de gran utilidad.
Leyendo tu articulo, cuando comentas que «las https también caen», quieres decir que es posible obtener el tráfico pero entiendo que la clave y el usuario van cifrados ¿no?
Saludos.
Me gustaMe gusta
sudo apt-get install ettercap-gtk
Se te escapo un guión -.-
Muy buen articulo!
Me gustaMe gusta
Otra cosilla, en las nuevas versiones la configuración de etter.conf viene en /etc/etter.conf
Me gustaMe gusta
Jose, cuando digo que «las https también caen» me refiero que incluso aunque usen protocolo http+ssl=https podrás obtenerlas.
Probando con Gmail no he tenido ningún problema… si te quedan dudas pruebo con la del banco [ pero descuida que no te daré los datos salvo que quieras hacer una aportación económica jeje 😉 ]
Me gustaMe gusta
Gracias por los «avisos» Alberto (la línea estaba completamente mal) y por visitarme.
Te tengo en mis feeds desde hace tiempo aunque he de reconocer que me tienes loco con tanto cambio de dominio; incluso el comentario en este post no ayuda puesto que has utilizado una web de las antiguas (¿estás haciendo experimentos de nuevo?)
Imagino que la buena es DiarioDeUnLinux3ro.es
Un saludo y enhorabuena por el trabajo que vienes haciendo desde hace tiempo
Me gustaMe gusta
Joder macho vaya ritmo de publicación que llevas! ademas post de nivel. Felicidades y gracias por el comentario 😉
P.D: sigo esperando tu screenshoot 😛 a ver si te das por aludido y te estiras 😉
Me gustaMe gusta
Algunos de tus posts tampoco están nada mal ( espero que no los hayas robado 😛 ) pero tengo implementado un filtro en el cerebro que me impide ver publicaciones del tipo «Nuevo …». De todos modos no abusas de ellos lo cual es de agradecer.
Me alegra que te parezca bueno el ritmo de publicación, espero poder mantenerlo aunque lo tengo francamente difícil a partir de ahora (se acaban las vacaciones) al estar solo en esto.
Respecto a la captura de pantalla que llevas un tiempo pidiéndome y que me empeño en ignorar 🙂 es simplemente que mi escritorio no tiene nada de particular que merezca la pena enseñar (para mi entorno de trabajo soy minimalista al máximo)
Si aun así quieres ver lo hortera que soy con el wallpaper no tienes más que insistir una vez más y es tuyo.
Me gustaMe gusta
Pues si lo siento, la verdad es que ya no pienso cambiar más, eso espero vamos… fue solo un tema de DNS por el .es ya que estaba en un subdominio y no podía comprarme un .es y me tuve que mover, una lastima pero me apetecía re-empezar.
Con respecto a mi link, no se como poder cambiar lo de albertjh.wordpress.com
No veo la opción de darlo de baja, y si me doy de baja no puedo comentar así que lo dejo así, siempre me da mucha pereza ^^
saludos!
Me gustaMe gusta
Me temo que está relacionado con el OpenID asociado a WordPress.
A bote pronto se me ocurren dos soluciones (ninguna me gusta):
1. Abrir otro navegador en el que no estemos logado (apesta)
2. Cerrar tu sesión de WordPress cuando no estés trabajando en el blog (si eres capaz de ello y a pesar de lo incómodo que resulta tener que meter los datos)
Al final lo que dices…da pereza; si encuentro alternativa te doy un toque campeón que todo no va a ser aportar a la Comunidad 🙂
Me gustaMe gusta
Realmente un aporte el blog.
Me gustaMe gusta
Me alegra que te guste Mauricio, si lo recomiendas a los amigos mejor que mejor 😉
Me gustaMe gusta
Estupendo post. Solo una pregunta… A mi me deja los pc’s de la red sin conexión… ¿Que es lo que pasa?
Cuando inicio el proceso de ARP Poison, el PC que está conectado a la red, se queda sin internet… ¿Alguna sugerencia?
Un saludo y excelente blog, seguir así!
Me gustaMe gusta
Siento oír eso Roberto, ¿todos los pc’s se quedan sin conexión? ¿incluido el que inicia el ataque?
Si te parece (por no ensuciar demasiado este post) lo vemos vía soporte técnico.
Un saludo y gracias por comentar el tema
Me gustaMe gusta
Hubiese sido bueno tener una respuesta sobre el comentario de Robert, ya que a mi me sucede lo mismo y en vista que a otras personas les suceda, poder encontrar la solucion dentro del mismo Post!
Me gustaMe gusta
El problema Slack es que Roberto no se ha puesto en contacto aun para tratar de solucionar el tema y en mi equipo (por fortuna o por desgracia) no se produce.
Si te parece podemos investigar el tema (aprovechando que te sucede igual) para como bien dices, tratar de ofrecer una solución al mismo.
Me gustaMe gusta
Hola, se que estas descansando pero si es posible ¿podrias responderme unas cositas? Me gustaría saber dos cosas:
1. ¿Qué se intenta lograr con las ediciones de la configuración? ¿Me lo podrías explicar?
2. ¿Cómo se puede descifrar un ssl?
Muchas gracias por tus aportes.
Me gustaMe gusta
Descuida #Tcaos, realmente debería estar ya con el «arado» al cuello y tirando del «carro» peerooo…. 🙂
Respecto a las preguntas que formulas indicarte que con la configuración se está redireccionando el tráfico en el firewall convenientemente para que pase por nuestro equipo.
Descifrar SSL requiere en si mismo un artículo y, a día de hoy creo no ser la persona más capacitada para «impartirlo» (aunque todo es cuestión de proponérselo y estudiar el tema 😉 )
Me gustaMe gusta
Muchas gracias por la respuesta.
Haciendo las cosas tal y como dices me sale continuamente el siguiente mensaje:
SEND L3 ERROR: 40 byte packet (0800:06) destined to xxx.xxx.xxx.xxx was not forwarded (libnet_write_raw_ipv4(): -1 bytes written (Operación no permitida)
)
Este error aparece variando la ip de destino. Y no aparece nada más: ni páginas ni na’.
Muchas gracias otra vez.
Me gustaMe gusta
Una pregunta rápida por descartar lo «evidente»: ¿estás lanzando el comando con permisos de administración con sudo?
Me gustaMe gusta
Si, incluso el wireshark me muestra que el envenenamiento funciona.
Por otro lado he descubierto que cuando inicio el «snifeo» del ethercap la consola me marca lo siguiente:
(:10851): Gtk-CRITICAL **: gtk_text_layout_real_invalidate: assertion `layout->wrap_loop_count == 0′ failed
Y cuando cierro el ettercap la consola me muestra el siguiente error repetidas veces:
iptables v1.3.8: can’t initialize iptables table `nat’: Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded
Tanto el wireshark como el ettercap lo lanzo desde la consola. Luego desde el modo gráfico selecciono las interfaces y scaneo los hosts que agrego a los target 1 y 2, etc.
Un saludo.
Me gustaMe gusta
Por descartar cosas: prueba a hacer un su para convertirte en root (física y moralmente) y luego lanza un ettercap ––gtk
NOTA: observa que en el ettercap no he usado sudo porque ya somos root.
Me gustaMe gusta
Hola, siento la tardanza pero he estado trasteando a ver si descubría el fallo. Lo he lanzado desde «su» (o sea cambiando de personalidad) y sigue con los mismos fallos. Estos surgen al descomentar las lineas en el etter.conf. Si no es molestia ¿me podrías especificar un poco más que relación tiene eso del ssl con la redirección de puertos? Tal vez así pueda ahondar más en el fallo que muestra o mejor porque no me muestra nada de la navegación de la «víctima» envenenada.
Gracias
Me gustaMe gusta
@Tcaos, por lo general SSL suele ir asociado al puerto 443
Me gustaMe gusta
¿Se te ocurre alguna idea de dónde vienen los fallos? En realidad me gustaría saber porqué no veo nada de la actividad de la «víctima».
Gracias
Me gustaMe gusta
Es que se ha dejado cosas, y me he vuelto loco para averiguarlas…a ver si lo completas, porque vas a traer loco a mas de uno.
Lo primero es que si no usas el fragrouter para hacer un IP forwarding, las victimas se quedaran sin internet. Lo mas sencillo es abrir la consola y picar «fragrouter -B1» siendo root (no me funciona si lo hago con el comando sudo, no se porque razon.
Lo segundo es que no veras nada en la pantalla si no le das a start sniffing, lo cual te quedarias horas y horas mirando a la pantalla sin que ocurriese nada.
Lo tercero, y aun no resuelto es que no es capaz de coger usuarios y contraseñas de servidores SSL, aun habiendo quitado esas dos # tal y como dice. Y me toca los huevos porque odio compilar y no hay un RPM del ettercap para mi opensuse con todos los plugins activados.
Nada, que compilo el programita y errores como de puta costumbre, aun habiendo instalado los devel que me pide. Siempre la misma mierda. Alguien que haya hecho un RPM ara opensuse con los plugins habilitados? que lo cuelgue porfavor…
Me gustaMe gusta
¿Has probado a usar Alien para convertir los paquetes? (no es muy elegante pero suele funcionar)
Me gustaMe gusta
Supongo que para que funcione, tengo que seleccionar en objetivo 1 el equipo a trabajar y en objetivo 2 el router.
Cualquier otra ayuda seria bien recivida.
Gracias por el tuto amigo.
Me gustaMe gusta
En mi consola me aparece el siguiente error, y también he probado y algo estoy haciendo mal porque no consigo capturar las contraseñas de otro puesto conectado a la red.
Error mencionado :
:4941): Gdk-CRITICAL **: gdk_window_set_geometry_hints: assertion `GDK_IS_WINDOW (window)’ failed
(:4941): Gdk-CRITICAL **: gdk_window_move: assertion `GDK_IS_WINDOW (window)’ failed
^C
saludos
Me gustaMe gusta
Parece un error con el entorno gráfico, ¿qué gestor de ventanas utilizas?
Me gustaMe gusta
tambien me he dado cuenta que desde un equipo que no sea root no accede a Internet y cuando salgo del programa me aparece los siguientes errores :
Perhaps iptables or your kernel needs to be upgraded.
iptables v1.4.1.1: can’t initialize iptables table `nat’: Permission denied (you must be root)
Me gustaMe gusta
Hola!
Se me han quitado las ganas de hecer cualquier operación
del banco desde la red.A ver . yo se que se pueden sacar
datos y todo eso, pero por ejemplo en BBVA en vez de poner
los numeros con el teclado(que es mas facil que te vean las claves)te sale un teclado en pantalla y lo haces con el ratón.Es más seguro esto? no crees Jesus?
Un Saludo.
Me gustaMe gusta
Pues no te falta razón @Alatriste aunque a mi personalmente el único sistema que me gusta es el implementado por la Caixa (creo recordar pues no trabajo con ellos y se lo ví a mi hermano).
Utilizan una tarjeta con una matriz de claves; cada vez que quieres acceder al servicio te preguntan una de modo aleatorio.
Tampoco es infalible pero parece mejor que muchas de las que montan los bancos actuales 😦
Me gustaMe gusta
Para Tcaos el error que surge :SEND L3 ERROR: 40 byte packet (0800:06) destined to xxx.xxx.xxx.xxx was not forwarded (libnet_write_raw_ipv4(): -1 bytes written (Operación no permitida)
)
Es simplemente porque no sabes snifear la red primero tienes que detener todo tipo de firewall que tenga tu equipo colocar la tarjeta de red que deceas por ejemplo eth0 luego scanear los host aderirlos a la tarjeta y luego le colocas start al snifer o mejor dicho al arp poison… Para los de mas que tienen el error del gtk y queda mal compilado es simplemente porque tienen un gtk muy antiguo o simplemente el ettercap no es compatinle con el sistema por ejemplo en debian no da mayor problema pero ay en otras distribuciones que si la solucion es simple solo instalen ettercap no ettercap-gtk y luego en vez de ejecutar ettercap -G ejecuten ettercap ettercap -C y es lo mismo pero en consola y se aorraran el famoso problema que siempre da las librerias de gtk… (en debian para instalar ettercap es aptitude install ettercap noce en otras distribuciones pero asi lo instalan sin el famoso gtk) bueno espero les sirva xau
Me gustaMe gusta
Hola… Tengo un problema, despues de iniciar el programa, e intentar seleccionar la red activa me sale el siguiente mensaje:
Listening on eth0… (Ethernet)
eth0 -> 00:25:B3:71:0E:7C invalid invalid
Privileges dropped to UID 65534 GID 65534…
28 plugins
39 protocol dissectors
53 ports monitored
7587 mac vendor fingerprint
1698 tcp OS fingerprint
2183 known services
no se si hata ahi este bien, aunque segun lo que muestras en el tutorial no.
Cuando me salto al siguiente paso ignorando lo anterior me responde con lo siguiente:
Randomizing -1 hosts for scanning…
Scanning the whole netmask for -1 hosts…
0 hosts added to the hosts list…
si ignoro esto y me paso al siguiente paso, me devuelve un cuadro de dialogo con lo siguiente:
MITM attacks can’t be used on unconfigured interfaces
mmm, algo mal?
segui los pasos de la configuracion… Espero tu respuesta…
Me gustaMe gusta
Asegúrate que estás utilizando la tarjeta de red correcta.
Suerte y un saludo
Me gustaMe gusta
ami me sale este mensaje cuando selecciono el interface
SSL dissection needs a valid ‘redir_command_on’ script in the etter.conf file
Privileges dropped to UID 65534 GID 65534…
ese es el mensaje y no atrapa claves de gmail, youtube, etc…
e probado desmontando las lineas del etter.conf pero no me funciona..
si alguien sabe cual es el problema porfavor responda..
o si esas lineas no son el problema… muxas grax ante mano.
Me gustaMe gusta
acabo de borrarle los #
se me salio ese comentario.. pero adivinen… no agarra nada de nada.. que puede ser??
Me gustaMe gusta
¿lo has ejecutado con sudo?
Sigue los pasos al pie de la letra tal y como se indica en el artículo y luego nos cuentas.
Suerte y un saludo
Me gustaMe gusta
Hola, muy buenas a todos. He conseguido hacer todo, hasta lo que dice Nobita, o sea, con el fragrouter hacer un fragrouter -B1 para que no se queden sin internet, cosa exitosa en mi caso y he dado también de start sniff, pero cuando navego con el otro ordenador (estoy usando otro equipo como prueba) y entro en paginas de login no se donde mirar donde aparecen las contraseñas en el ettercap. Se que funciona porque doy a View>connections y veo que su ip ha entrado en los diferentes sitios. pero no se donde se guarda la info que deseo. en la pantalla principal del ettercap solo me pone:
ARP poisoning victims:
GROUP 1 : ANY (all the hosts in the list)
GROUP 2 : ANY (all the hosts in the list)
Starting Unified sniffing…
y ya no me aparece nada mas, me podéis ayudar? gracias.
Por cierto, un gran blog, te felicito.
Me gustaMe gusta
ya resolviste tu problema???? estoy igual
Me gustaMe gusta
hola, tengo un backtrack 4, el ettercap viene ya compilado pero siguiendo todos los pasos que comentas cuando tengo hecho el MiTM el usuario «victima» se queda sin red, no puede navegar, descomente las dos lineas que dices y ademas active el ip_forwarding a 1. pero sigue igual, no se que puede ser si se te ocurre algo te agradeceria me ayudaras. Estoy muy cabreado porque con el cain desde un vmware con xp sale solo, pero no me sale con ettercap
un saludo y enhorabuena por el foro
Me gustaMe gusta
HOLA ME GUSTARIA SI AL GUIEN ENCONTRO LA SOLUCION DE Osorpoca YA QUE TENGO EL MISMO PROBLEMA. ESPERO SU RESPUESTA SALUDOS
Me gustaMe gusta
Hola de nuevo. Ya hacía tiempo que no entraba aquí….
Sí, resolví el problema. Cuando realizas el ataque Man In The Middle con el Ettercap, hay que abrir el Wireshark y esnifar la red con este esnifador. Y con los filtros que tiene puedes filtrar los paquetes que te interesen y buscar los datos que te interesen.
Un saludo.
Me gustaMe gusta