Man in the middle aplicado a la seguridad

2,450 views
2,323 views

Published on

Esta presentación la preparamos con un buen amigo y colega Martín Rubio de Colombia para el 2do Encuentro de Seguridad (o fue el 3ro) en Manizales Colombia, una tierra que no deberían dejar de visitar ;) la presentación trata de como es posible aprovechar una técnica de ataque como man in the middle en evaluaciones de seguridad.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,450
On SlideShare
0
From Embeds
0
Number of Embeds
183
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Man in the middle aplicado a la seguridad

  1. 1. Man-In-The-Middle aplicado a la Seguridad Martin Alberto Rubio [email_address] Colombia Juan Pablo Quiñe [email_address] Perú
  2. 2. Agenda <ul><li>Qué es Man-In-The-Middle (MITM) </li></ul><ul><li>MITM aplicado a la seguridad HTTP </li></ul><ul><ul><li>Teoría HTTP </li></ul></ul><ul><li>¿Estamos seguros? </li></ul><ul><li>Como evaluar la seguridad HTTP usando MITM </li></ul>
  3. 3. ¿Qué es man in the middle? <ul><li>“ Un ataque man-in-the-middle ( MITM ) es un ataque en el que el enemigo adquiere la capacidad de leer, insertar y modificar a voluntad, los mensajes entre dos partes sin que ninguna de ellas conozca que el enlace entre ellos ha sido violado.” </li></ul><ul><li>Extraido de: </li></ul><ul><li>http://es.wikipedia.org/wiki/Ataque_Man-in-the-middle </li></ul>
  4. 4. Algunos ataques mas comunes o conocidos <ul><li>ARP Poisoning </li></ul><ul><li>ARP Spoofing </li></ul><ul><li>DNS spoofing </li></ul><ul><li>Port Stealing (robo de puerto) </li></ul><ul><li>DHCP Spoofing </li></ul><ul><li>Otros ataques de tipo MITM: </li></ul><ul><ul><li>STP Mangling </li></ul></ul><ul><ul><li>Port stealing </li></ul></ul><ul><ul><li>ICMP redirection </li></ul></ul><ul><ul><li>IRDP spoofing </li></ul></ul><ul><ul><li>Route mangling </li></ul></ul>
  5. 5. Ataque ARP M an I n T he M iddle ¿Quien tiene 1.1.1.2? 1.1.1.1 1.1.1.2 Comunicación Estándar LAN
  6. 6. Ataque ARP M an I n T he M iddle 1.1.1.2 esta en 00:11:22:33:44:55:66 1.1.1.1 1.1.1.2 Comunicación Estándar LAN
  7. 7. Ataque ARP M an I n T he M iddle 1.1.1.1 1.1.1.2 Intercambio de Datos Comunicación Estándar LAN
  8. 8. Ataque ARP M an I n T he M iddle ¿Quien tiene 1.1.1.2? 1.1.1.1 1.1.1.2 Comunicación con ataque MiTM
  9. 9. Ataque ARP M an I n T he M iddle 1.1.1.2 esta en 99:88:77:66:55:44 1.1.1.1 1.1.1.2 1.1.1.1 esta en 99:88:77:66:55:44 Comunicación con ataque MiTM
  10. 10. Ataque ARP M an I n T he M iddle Intercambio de Datos 1.1.1.1 1.1.1.2 Comunicación con ataque MiTM
  11. 11. Algunas ideas “ El mayor enemigo de la seguridad es ignorar cuán vulnerable se es”
  12. 12. DEMO MITM en telnet
  13. 13. Man-In-The-Middle aplicado a la evaluación de Seguridad en HTTP
  14. 14. Arquitectura de una aplicación Web Firewall Firewall Database Web App Scripts Web Server User
  15. 15. Métodos HTTP
  16. 16. Como funcionan los Web Servers <ul><li>El browser parte el URL en 3 partes: </li></ul><ul><ul><li>El protocolo (&quot;HTTP&quot;) </li></ul></ul><ul><ul><li>El nombre del servidor (&quot;www.website.com&quot;) </li></ul></ul><ul><ul><li>El Archivo (&quot;webpage.html&quot;) </li></ul></ul><ul><ul><li>El navegador se comunica con un servidor de dominio, donde traduce el nombre del servidor por la dirección IP </li></ul></ul><ul><li>El navegador luego realiza una conexión al Servidor Web a la dirección IP al puerto 80. </li></ul>
  17. 17. Como funcionan los Web Servers (Cont.) <ul><li>Siguiendo el protocolo HTTP, el navegador envía una solicitud GET al servidor, solicitando por el archivo http://webpage.html . </li></ul><ul><li>El servidor envía el texto HTML text por la página web al navegador. </li></ul><ul><li>El navegador lee el texto HTML y formatea la página en la pantalla. </li></ul>
  18. 18. ¿Algunos supuestos en HTTP? <ul><li>Siempre se hace una conexión utilizando un browser </li></ul><ul><li>Es posible enviar datos ocultos dentro del código fuente </li></ul><ul><li>Los parámetros o variables no pueden ser manipulados por el cliente </li></ul><ul><li>No es posible insertar otra cosa que no sea HTTP </li></ul>
  19. 19. <ul><li>Confianza en los datos del lado cliente </li></ul><ul><li>No se bloquean caracteres especiales </li></ul><ul><li>Filtrado en la salida de caracteres HTML </li></ul><ul><li>Acceso a Admin por las aplicaciones Web </li></ul><ul><li>Autenticación vía ActiveX/JavaScript </li></ul><ul><li>Falta de autenticación de usuario a realizar tareas críticas </li></ul><ul><li>Debilidades en el manejo de sesiones </li></ul>¿Qué trae esto como consecuencia?
  20. 20. Las acciones realizadas en la red pueden afectar seriamente el mundo en el que vivimos Algunas ideas…
  21. 21. ¿Estamos Seguros? <ul><li>¿Con un firewall? </li></ul>¿ ?
  22. 22. ¿Estamos Seguros? (Cont.) <ul><li>¿Con un firewall? </li></ul>iptables -A INPUT -i eth0 -p tcp --sport 1024-65535 -d $IPADDR --dport 80 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $IPADDR --sport 80 --dport 1024-65535 -j ACCEPT
  23. 23. ¿Estamos Seguros? (Cont.) <ul><li>¿Con un firewall? </li></ul>NO
  24. 24. ¿Como se vulnera un Firewall?
  25. 25. <ul><li>¿Con un IDS (Host, Red)? </li></ul><ul><li>Métodos de detección: </li></ul><ul><ul><li>Por heurísticos </li></ul></ul><ul><ul><li>Por anomalías de protocolo </li></ul></ul><ul><ul><li>Por patrones </li></ul></ul>¿Estamos Seguros? (Cont.) http://www.prueba.com/cgi-bin/index.htm?TOPIC=HOW_2_APPLY http://www.prueba.com/cgi-bin/index.htm?TOPIC=‘ OR 1=1 -- http://www.prueba.com/cgi-bin/index.htm?TOPIC=%like%admin NO
  26. 26. ¿Estamos Seguros? (Cont.) <ul><li>¿Qué tal un IPS? </li></ul>http://www.prueba.com/upload.jsp NO
  27. 27. DEMO MITM en HTTP
  28. 28. Como poder evaluar nuestra seguridad en HTTP Utilizando MITM para evaluación de HTTP
  29. 29. Ideas Sueltas… El conocimiento en temas de seguridad trae consigo una gran responsabilidad
  30. 30. Arquitectura funcional de una aplicación HTTP Sistema Operativo Servidor Web Aplicación Web Aplicación Web Base de Datos (Información)
  31. 31. Fallos comunes de seguridad Web <ul><li>Cross-site Scripting </li></ul><ul><li>SQL Injection </li></ul><ul><li>Debilidades en Login/Password </li></ul><ul><li>Robo de Sesiones </li></ul><ul><li>Mensajes de error de sistema en crudo </li></ul><ul><li>Validación de Parámetros </li></ul><ul><li>Buffer Overflows </li></ul><ul><li>Robo de Cookies </li></ul>
  32. 32. Partamos del supuesto
  33. 33. Alteremos nuestro supuesto <ul><li>Reemplazamos el Cliente por una ventana en línea de comandos </li></ul><ul><li>Utilizamos browsers no convencionales o antiguos (Lynx, Opera, Iexplorer 3.0) </li></ul><ul><li>Implementamos capas adicionales en la conexión (proxys en la navegación) </li></ul>
  34. 34. Alteremos nuestro supuesto (Cont.) <ul><li>La PC </li></ul><ul><li>El Browser </li></ul><ul><li>El Proxy </li></ul>Control Total Información Manipulable
  35. 35. ¿Qué ha pasado ahora? <ul><li>Somos capaces de ver, capturar, modificar la información que ha sido procesada en los browsers </li></ul><ul><li>Somos capaces de entender la lógica de la programación </li></ul><ul><li>Somos capaces de manipular la información a fin de probar la seguridad de nuestros sistemas </li></ul>
  36. 36. Algunas herramientas <ul><li>Achiles </li></ul><ul><li>Burp Proxy </li></ul><ul><li>Paros </li></ul><ul><li>Fiddler2 </li></ul><ul><li>Acunetix </li></ul><ul><li>AppScan </li></ul>
  37. 37. Manipulación de datos Proxy i.e. Achilles Web Browser Server
  38. 38. Manipulación de datos (Cont.)
  39. 39. Manipulación de datos (Cont.)
  40. 40. Manipulación de datos (Cont.)
  41. 41. DEMO MITM como herramienta de seguridad
  42. 42. Pensamientos Finales Una evaluación de seguridad debe ser autorizada por el personal responsable de los equipos a evaluar
  43. 43. ¿PREGUNTAS?

×