sábado, 18 de abril de 2009

Bitácora de PSI.: Sniff & modificación

En este nuevo capítulo de una historia de buenos y malos, de malos que parecen buenos, y buenos que parecen malos, hoy nos dedicamos al lado malo.

Ha llegado el momento, y la práctica dos ha salido de la tostadora. Esta nueva versión ha crecido y presenta una primera parte, especializada en diversos temas de “sniffing” y mecanismos de protección, y una segunda, sobre “OS fingerprinting”, “host discovery”, “port scanning”, “rootkits”, DoS, mantenimiento de integridad en sistemas, etc. Se hace una presentación comentada de la misma a la clase, delimitando los objetivos de cada apartado. Dejamos esto aquí dado que esta es otra historia que generará futuras entradas.

Despues de analizar los aspectos teóricos involucrados en la problemática del "sniffing" y los mecanismos de protección, continuamos nuestra andadura presentando varias herramientas de “sniffing”, entre ellas, airsnort y aircrack (orientadas del mundo wifi), o específicas, como snmpsniff o websniff. Tomando la herramienta sniffit como referencia, se analizan sus principales opciones, ficheros de configuración, etc. También se referencian otras clásicas, como ethereal, tcpdump, entre otras.

En este punto surge una pregunta que se repite año tras año. El “sniffing” sobre tráfico en claro, no cifrado, no supone problema alguno, es rápido y directo pero, ¿se puede hacer “sniffing” y conseguir algo inteligible sobre protocolos seguros del tipo HTTPS?. Al respecto se ha incluido el clásico MITM HTTPS. Poniendo como ejemplo una red y mediante ARP spoofing entre una máquina o conjunto de máquinas a atacar, y el “router” del segmento, se define paso por paso el proceso para, entre otras cosas, capturar password en sesiones https. El proceso se fundamenta en la inyección de un certificado en el proceso de sniffing. Obviamente el tema está en el conocimiento del usuario de las herramientas y que acepte o no dicho certificado. Este ataque requiere el uso de herramientas como dnsspoof (para interceptar la paquetería DNS de retorno [origen puerto 53] de ciertos equipos-dominios para que resuelva sobre la IP del atacante), webmitm (para crear e inyectar el certificado) y, entre otras posibilidades de uso, el ettercap para el proceso de “sniffing”. Finalmente, el ssldump nos hará el trabajo sucio para obtener información de la-s sesión-es HTTPS que incluirá, entre otras, usuarios y “passwords”. Existen otras posibilidades de hacer un MITM para captura de HTTPS. El ettercap dispone de un “pluggin” para tal tarea, disponiendo de un certificado propio en el caso de que no se le proporcione uno. Si bien la primera opción la he probado en distintos entornos, el “pluggin” de ettercap no. Si alguien quiere animarse, siempre será una nueva experiencia.

Otra posibilidad de reciente aparición es la herramienta “sslstrip”, que mediante un MITM utiliza, en el caso de sesiones HTTPS, tráfico en claro (HTTP) con la máquina o máquinas atacadas, y HTTPS con el lado servidor. Como es lógico, todo ello acompañado de las correspondientes modificaciones en el tráfico con el atacado para que los sentidos del usuario-víctima presencie una sesión segura. Nuevamente estamos ante el problema de la baja fiabilidad de lo que perciben los sentidos. Sin duda alguna, curiosa herramienta que hace mucho más fácil el “sniffing” en HTTPS.

Otra herramienta de “sniffing” presentada es dsniff, que incluye un buen conjunto de herramientas, como arpspoof, dnsspoof, filesnarf, macaf, mailsnarf, tcpkill, urlsnarf, webmitm, webspy, etc.

Finalizamos la andadura por las herramientas con el ettercap, sus posibilidades, “pluggins”, filtros, etc. Para unificar herramientas, se recomienda utilizar el ettercap en las prácticas que, de ser necesario, se podrá complementar con otras.

Al final de la clase, un alumno, ante tal situación, pregunta por la solución, por los mecanismos de seguridad. En esta ocasión he querido darle la vuelta a la tortilla, empezando por las soluciones antes que con el problema, como un ejercicio para relacionar en inversa las temáticas. Para buscar alguna de las posibles soluciones remito a los alumnos a la clase del día anterior, haciendo un breve repaso de los posibles mecanismos de protección. Normalmente estamos acostumbrados a que se nos plantee un problema y posteriormente busquemos soluciones, en este caso he querido empezar la casa por el tejado. La curiosidad es la mejor herramiena del conocimiento.