Capturar usuarios y contraseñas de red

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

  1. Seleccionamos nuestra tarjeta de red activa (la que estamos utilizando actualmente) pulsando Mayus+U
  2. Pulsamos CTRL+S para buscar posibles víctimas en la red (equipos que estén utilizando nuestra conexión a Internet)
  3. Comenzamos el ataque por ARP Poisoning
  4. 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, …).

44 comentarios en “Capturar usuarios y contraseñas de red

  1. Jose dijo:

    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.

  2. jasvazquez dijo:

    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 ;) ]

  3. jasvazquez dijo:

    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

  4. 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 :P a ver si te das por aludido y te estiras ;)

  5. jasvazquez dijo:

    Algunos de tus posts tampoco están nada mal ( espero que no los hayas robado :P ) 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.

  6. albertjh dijo:

    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!

  7. 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 :)

  8. 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í!

  9. 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!

  10. 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.

  11. Tcaos dijo:

    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.

  12. 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 ;) )

  13. Tcaos dijo:

    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.

  14. Tcaos dijo:

    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.

  15. 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.

  16. Tcaos dijo:

    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

  17. Tcaos dijo:

    ¿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

  18. Nobita dijo:

    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…

  19. 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.

  20. rafa dijo:

    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

  21. rafa dijo:

    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)

  22. Alatriste-31 dijo:

    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.

    • 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 :(

  23. Oscar dijo:

    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

  24. 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…

  25. david dijo:

    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.

  26. Osorpoca dijo:

    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.

  27. 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

  28. Osorpoca dijo:

    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.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s