Notice: La función wp_enqueue_script ha sido llamada de forma incorrecta. Los scripts y estilos no se deberían registrar o poner en cola hasta que se carguen los ganchos wp_enqueue_scripts, admin_enqueue_scripts y login_enqueue_scripts. Este aviso ha sido activado por la gestión de nfd_wpnavbar_setting. Por favor, ve depuración en WordPress para más información. (Este mensaje fue añadido en la versión 3.3.0). in /home1/spotsail/public_html/martra/wp-includes/functions.php on line 6078
Como hacer un Man In The Middle con SSLStrip (Así se roban las contraseñas) – Pere Martra
No se han encontrado widgets en la barra lateral
Man in the Middle SSLStrip

Es uno de los ataques más míticos, el ponernos entre un cliente y un servidor sin que ninguno de los dos se entere y así poder espiar toda la conversación. Para entendernos un poco mejor, alguien abre su navegador, se conecta a cualquier página WEB y nosotros estamos en medio, vemos todo lo que se envía, y todo lo que recibe!

De la misma forma que suena bien, tambien suena muy mal, depende de si eres el atacante o el atacado. Es verdad que puede sonar muy apetecible, pero al mismo tiempo es muy chungo que te lo hagan. ¿Verdad? Bueno, pues por este motivo este tipo de ataque ha ido jugando al gato y al ratón, lo que funcionaba ya no funciona y lo que funciona ahora no funcionará en un futuro.

Vamos a ver un poco de historia del SSLStrip.

¿Pero no hablábamos de Man In The Middle? ¿Que narices es el SSLtrip? Muy fácil, no vamos a empezar desde el principio, vamos a empezar cuando el SSL (la comunicación cifrada) ya estaba inventado.

En un principio cuando un navegador se conecta con un servidor que admite comunicación cifrada se usa el protocolo HTTPS, y toda la comunicación que se realiza esta cifrada, es decir, aunque alguien capture el tráfico no podrá entender nada.

Bien, en este punto parece que los ataques MiM ya no tenían sentido ¿verdad? Como no podía ser de otra forma apareció una herramienta que permite saltarse esta protección: el SSLStrip.

Lo que HACE EL SSLStrip es capturar las capturas HTTPS del browser y pasarlas al servidor como una petición HTTP. Es decir… Sin la S. Vale, en el navegador la URL aparece como HTTP…. pero siendo realistas, ¿quién se fija?

¿Que qué pasa si me quitan la S? Pues que el tráfico ya no está cifrado… es en claro. Es decir, si alguien te escucha, se entera de todo.

Pero como todo en este mundo una vez inventado el ataque se inventó el remedio, que ha durado lo que ha durado. Este remedio se llama: HSTS.

¿Qué narices es el HSTS?

Lo implementan los navegadores, lo que hacen es mantener una lista de todos los sitios WEB que aceptan HTTPS y no aceptan peticiones HTTP para ellos. SSLStrip todavía puede funcionar, pero tan solo, si el usuario visita por primera vez una web mientras le estamos escuchando… que puede pasa ehh!

Pero da lo mismo, ya tenemos el SSLStrip2, que se salta el HSTS, pero, no todo es tan bonito, el creador de SSLStrip2 ha retirado el código de GitHub, pero no pasa nada. El mismo nos da dos posibilidades, dos herramientas nuevas basadas en un fork de su propio código, entre ellas la herramienta MITMF, que es una de las más usadas y de la que hablaremos en futuros post, una vez ya hayamos realizado un ataque con SSLStrip.

Vamos a probar con SSLStrip

¿Porque? Pues porque todavía funciona! Funciona porque hay mucha, mucha gente que no ha actualizado su navegador. ¿Porque? Si las actualizaciones solo sirven para que tu ordenador vaya mas lento 🙂 Todos hemos escuchado esta frase alguna vez.

Las actualizaciones solo sirven para que tu ordenador vaya mas lento.

Cuñao dixit.

Lo primero que tenemos que tener es una Víctima! y tenemos que estar en la misma red que nuestra víctima. Para esto podemos usar los conocimientos que ya hemos adquirido en las entregas anteriores del tutorial de hacking básico, o si alguien, creyéndose muy listo ha decidido usar nuestra WiFi es una víctima posible. Altoooooo!!!!!!! No!!! Ahora en serio, nuestras victimas somos nosotros mismos, yo uso dos maquinas virtuales, una con Kali (El ciberlaboratorio que hemos configurado en el primer post del tutorial) y otra con Windows que la uso como receptora de los ataques, es decir como victima.

Como ya he dicho, para que funcione el ataque las dos máquinas, atacante y víctima, tienen que estar en la misma red.

Yo para simularlo abro dos máquinas virtuales:

Para conocer la ip de la máquina a atacar usaremos el comando ipconfig, no hace falta decir que un hacker usaría una técnica parecida a la que ya hemos visto en el post: Aprendiendo a escanear puertos. ¿Quien esta conectado a tu wi-fi?, de este mismo tutorial de Hacking, para obtener todas las IP’s conectadas a la red.
Ahora que ya tenemos las dos máquinas virtuales abiertas vamos a empezar con los comandos para tratar de eliminar la S del protocolo HTTPS.

Empecemos configurando el ordenador, o en este caso la máquina virtual, desde la que vamos a lanzar el ataque:
[code language=”shell”]
echo "1" > /proc/sys/net/ipv4/ip_forward
[/code]
Con esto lo único que hacemos es incorporar un 1 en el fichero ip_forward, lo que nos permitirá tener una redirección. Recordemos que lo que vamos a hacer es desviar el tráfico que la máquina víctima envía hacia el router para que antes pase por la máquina atacante.

Ahora que nuestra máquina ya acepta la redirección, le tenemos que indicar qué redirección queremos:
[code language=”shell”]
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080
[/code]
El puerto 80 es hacia el que van las peticiones HTTP y el 8080 es un puerto cualquiera que tengo abierto, podría poner el 10000, o cualquiera que no este en uso.

Una vez ya tenemos la redireccion creada podemos arrancar el sistema de SSLStrip.
[code language=”shell”]
sslstrip -l 8080
[/code]
Con este comando lo que le indicamos es que todo lo que llegue al puerto 8080 sea pasado por sslstrip, que recordemo lo único que hace es eliminar la S de la llamada cambiando una llamada https, por otra http. El tráfico que pasa por el lo guarda en un fichero llamado sslstrip.log

Vale, ahora ya tenemos la redireccion dentro de iptables y a sslstrip funcionando, podemos empezar con el spoofing (no es una práctica sexual), es como se le llama al proceso de hacerse pasar por otro, que es mas o menos lo que vamos a hacer, la víctima se piensa que habla con el router, cuando realmente está hablando con nosotros.

Para poder lanzar el spoofing lo mejor es que abramos una ventana nueva del terminal del sistema, ya que la del sslstrip está ocupada con nuestro comando. Vamos a necesitar nuestra IP, y la IP de la víctima. En esta caso es muy sencillo, la víctima es una máquina virtual de Windows, solo tengo que abrir un command prompt y poner ipconfig. Pero claro, si este fuera un ataque de verdad tendriamos que averiguar que ip’s hay conectadas a nuestra red, para ello tendriamos que seguir lo explicado en el post del tutorial de hacking básico titulado: Aprendiendo a escanear puertos. ¿Quien esta conectado a tu wi-fi?.

[code language=”shell”]
arpspoof -i wlan0 -t 192.168.1.108 192.168.1.1
[/code]
Esta claro, el primer parametro el nombre del interface de red que vamos a usar, la primera ip es la de la víctima y la segunda ip la del router.

Con esto ya tendriamos que tenerlo todo funcionando, solo nos queda poner la guinda al pastel, y es ver en directo todo lo que está pasando. Para ello abrimos una tercera sesion de terminal de sistema en la máquina Kali, y mostramos el contenido del fichero sslstrip.log.
[code language=”shell”]
tail -f sslstrip.log
[/code]
Ya podemos empezar a curiosear, seguro que no os costará nada identificar el password y la contraseña de cualquier web en la que el usuario se logue.

¿Que podemos ver con sslstrip?

Bueno, podemos ver muchas cosas, sslstrip es un poco antiguo y los navegadores más nuevos ya se han protegido contra este ataque, ya no se conectan por http en los sites donde previamente se han conectado por https. Pero incluso así es muy útil, por varias razones:

  • Muchos usuarios tienen navegadores antiguos, muchos!!!! Es verdad que con Windows 10 se ha modernizado el parque de software, pero todavía hay mucho windows 7 y mucho XP con IE8 o incluso 6.
  • Veremos el tráfico http. Es decir si alguien se conecta a una web que le pide un password y no tiene el protocolo https veremos su password en claro. ¿Cuánta gente usa el mismo password o alguno parecido en todas las webs?

¿Qué aprendemos de esto?

¿Os acordáis que en una de las entradas anteriores del tutorial de hacking básico se explicaba cómo reventar un router? Supongo que alguien podía pensar: ahhhh buena idea, le puedo pillar la WiFi al vecino. ¿Seguro que es buena idea? Desde el preciso momento en el que usas la WiFi de tu vecino este puede espiar todo tu tráfico, todo!. Un router con el WPS activo puede ser de un despistado, o no, puede ser de alguien que realmente esté interesado en que te aproveches de su WiFi.

Por favor, usa contraseñas diferentes entre las webs con http y las de https. Lo ideal es que sean diferentes en cada WEB, pero es muy complicado. Seamos más realistas, tienes que tener como mínimo tres contraseñas:

  1. Contraseñas para webs no seguras: Para esas Webs que te piden un usuario pero no disponen de https tienes que tener una contraseña que da lo mismo lo larga que sea, no va a estar segura. Una contraseña que si te roban no pueden hacer nada, o casi nada con ella.
  2. Contraseñas para webs seguras: Si la Web ya dispone del protocolo https es que mueve algo. Esta contraseña tiene que ser complicada, todo lo que quieras, no te cortes, pero tienes que poder recordarla.
  3. La contraseña de tu cuenta de correo: Única, no la compartas con ningún otro sistema, tiene que ser indescifrable, no la compartas ni con otros sistemas de correos. ¿Sabes esa cuenta de correo que usas para recuperar los usuarios? Pues si alguien se hace con ella se hace con toda tu identidad on line. Puede empezar a pedir el reinicio de todas las contraseñas de los sistemas en los que estés dado de alta… total le van a enviar un correo.

Don’t be evil! Aquí lo dejamos, y nos falta mucho para controlar los MiM. Al principio ya explicaba que sslstrip está un poco desfasado, pero ya hay herramientas mas avanzadas. Las veremos un poco más adelante. Por ahora lo mejor es que nos quedemos con la idea de que se puede hacer, y te lo pueden hacer. Cuidado con las WiFis públicas, cuidado con usar una WiFi que no sea tuya, cuidado con las contraseñas.

Bonus track

Sin que sirva de precedente he decidido hacer un vídeo de apoyo, porque la explicación es un poco complicada y larga…. y porqué narices, ver al SSLstrip funcionando en directo da miedo.

Vamos a ver como reviento la contraseña de facebook!!!! Si, la de facebook!!! jajajajajajaja (Risa maléfica de dibujos animados), de mi víctima que soy yo mismo usando un software antiguo, así que tampoco tiene demasiado mérito.
https://youtu.be/VAY20v-ppQM
Atención a las tomas falsas 🙂

Recordad que este post forma parte del tutorial de Hacking / Pen Testing Básico

Jugando con los SQL Injection.

Lo primero, por si encontráis este post sin haber seguido todo el tutorial de Hacking Básico, es que las pruebas Read more

Así toman el control de nuestros servidores.
Un Reverse Shell Web pudo ser la causa de los "Papeles de Panamá"

¿Recordáis unos abogados de Panamá que perdieron unos papeles? ¿Recordáis que tenían wordpress? ¿Recordáis que no tenían wordpress actualizado? Supongo Read more

CEH 02 segundo test para el Certified Ethical Hacker

Segundo test conteniendo 10 preguntas para preparar la certificación oficial de Certified Ethical Hacker. El objetivo de este examen es ayudar ver si estas preparado a presentarte al CEH, pero sobretodo servir también como guia de estudio. Si no aciertas una pregunta busca el por que y entiendelo, no lo repitas, solo para saber cual es la respuesta correcta.

1. An Intrusion Detection System(IDS) has alerted the network administrator to a possibly malicious sequence of packets went to a Web server in the networks external DMZ. The packet traffic was captured by the IDS and saved to a PCAP file. What type of network tool can be used to determine if these packets are genuinely malicious or simply a false positive?

 
 
 
 

2. You are performing a penetration test. You achieved access via a buffer overflow exploit and you proceed to find interesting data, such as files with usernames and passwords. You find a hidden folder that has the administrators bank account password and login information for the administrators bitcoin account. What should you do?

 
 
 
 

3. You’ve just been hired to perform a pentest on an organization that has been subjected to a large-scale attack. The CIO is concerned with mitigating threats and vulnerabilities to totally eliminate risk. What is one of the first thing you should to when the job?

 
 
 
 

4. Which of the following best describes a distributed denial-of-service attack?

 
 
 
 

5. The Open Web Application Security Project (OWASP) is the worldwide not-for-profit charitable organization focused on improving the security of software. What item is the primary concern on OWASPs Top Ten Project most Critical Web application Security Rules?

 
 
 
 

6. Which of the following tools can be used to crack SAM files in Windows?

 
 
 
 

7. This phase is the very first step in Information Gathering, and it will tell you what the landscape looks like, and also  will increase the odds of success in later phases of the penetration test.  Most experts think that  is the most important phase of ethical hacking in which you need to spend a considerable amount of time. Can you name it?

 
 
 
 

8. Which of the following is the greatest threat posed by backups?

 
 
 
 

9. During a security audit of IT processes, an IS auditor found that there was no documented security procedures. What should the IS auditor do?

 
 
 
 

10. Which of the following is true regarding WEP cracking?

 
 
 
 

Buffer Overflow para negados. I-Parte.
representacion irónica de un buffer overflow

Clásico de los clásicos donde los haya, y todavía totalmente en vigencia. Mediante esta vulnerabilidad alguien puede llegar a ejecutar Read more

Por Martra

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *