jueves, 24 de marzo de 2016

¿Wireshark o Tcpdump?




Esta pregunta solo la hacen algunos verdaderos aficionados y amantes del análisis de tráfico. Oh mira qué pasa si dices algo que ofenda a alguno de los dos bandos. Es posible que Wireshark tenga un mayor número de usuarios y es la herramienta número uno de acuerdo a sectools, pero Tcpdump tiene sus aguerridos defensores que no dudan en señalar las deficiencias y vulnerabilidades de Wireshark.

Es indudable que las capacidades graficas de Wireshark facilitan el análisis de tráfico y una visión rápida de lo que puede estar sucediendo. Sin embargo, de forma paradójica Wireshark facilita la falta de análisis según sus críticos. Eso no es culpa de Wireshark. Si alguien quiere mirar un paquete en profundidad, Wireshark ofrece esa capacidad y el usuario está a un clic de mirar más allá. Además con la facilidad de marcar tráfico con colores, se facilita aún más  la visión de lo que se está examinando. 


Pero los críticos de Wireshark señalan un punto muy importante y es la frecuente aparición de serias vulnerabilidades en el software. Y no solo son las librerías graficas de Wireshark que adolecen de este problema sino las librerías de capturas. Es importante reconocer que los desarrolladores de Wireshark son prontos en arreglar los problemas publicados, y solo en el 2013 el equipo de Wireshark ha resuelto más de 40 importantes vulnerabilidades. Por ejemplo, algunas de los bug de software causan que Wireshark deje de capturar datos, o peor permiten un acceso no autorizado al sistema. Y estos son puntos importantes a considerar cuando se captura tráfico. Aquí está el listado de parches de Wireshark https://www.wireshark.org/security/


En mi caso han sido muchas las horas perdidas usando Wireshark porque deja de capturar información por una causa desconocida. Por fortuna, si almacenas la información en diferentes archivos es posible minimizar esa perdida. Si como profesional estás haciendo capturas mientras realizas otras actividades, Tcpdump puede ser una mejor alternativa. En primer lugar Tcpdump no adolece de los recurrentes vulnerabilidades que aquejan a Wireshark (aunque obvio hay vulnerabilidades). Segundo, Tcpdump es mucho más liviano y no requiere tanta capacidad de proceso.


Estas son dos importantes características, especialmente si el analista está capturando tráfico mientras realiza un pentest. El pentester nunca quiere que su computador sea vulnerable a terceros mientras realiza su trabajo, y Tcpdump minimiza esa superficie de ataque. Y segundo, el analista quiere mantener sus ciclos de procesamiento en la actividad que está realizando y no en la captura de tráfico. A pesar de que Wireshark ofrece una alternativa de instrucciones en línea llamada Tshark, Tcpdump es campeón en este aspecto.


Yo uso Wireshark para analizar capturas complejas, pero considero mejor Tcpdump para realizar esas mismas capturas y hacer análisis superficiales. Que herramienta usar depende de nuevo de lo que se desea hacer. Al final es cuestión de preferencias, Wireshark facilita el análisis con poderosas herramientas de filtrado y Tcpdump es ampliamente reconocido. Tanto Tcpdump como Wireshark aparecen en la lista de herramientas preferidas publicada por NMAP (ver http://www.sectools.org/)


viernes, 11 de marzo de 2016

Cierre el puerto TCP. Como buscar una vulnerabilidad de un puerto TCP




Alguien realiza un pen test y encuentra un puerto TCP abierto. El analista simplemente recomienda cerrar el puerto sino se está utilizando, nada más. No hay recomendaciones adicionales, no hay el mínimo esfuerzo de encontrar que aplicación usa ese puerto. Ese analista está en riesgo de ser reemplazado por un script. El script puede hacer lo mismo y generar esa misma recomendación en solo unos segundos y mucho más barato.

Hay muchas aplicaciones hoy en día que usan diferentes puertos TCP o UDP, y un escáner de vulnerabilidades no siempre tiene información de puertos y sus aplicaciones relacionadas. Por fortuna tenemos esa biblioteca gigantesca en Internet que nos puede ayudar, pero en ocasiones no se encuentra mucha información específica de ciertos dispositivos o aplicaciones. Aunque los analistas son a veces brillantes, es incomprensible como los representantes de la generación en línea no usan bien el motor de búsqueda. Se supone que saben cómo usar Google o Yahoo. 
 
Seguramente si el puerto TCP existe alguien más lo ha buscado o ha publicado información al respecto. En ocasiones limitando la búsqueda al puerto TCP te envía a páginas genéricas de TCP/IP que poca información proveen. Una simple búsqueda del puerto TCP mas la palabra vulnerability (Buscar: tcp port X vulnerability) probablemente arrojara resultados. Irónico que tenga que explicar esto una y otra vez. Reporte no aprobado. Después de una corta clase de cómo usar operadores en Google, dejo de ver  la única recomendación que indica que se debe cerrar el puerto TCP. Pero no toma mucho tiempo en volver a ver un mínimo esfuerzo plasmado en un reporte. 

Google (o Yahoo o Bing) también dan mucha más información sobre la posible aplicación que usa un puerto específico. También cuando alguien se conecta, muchas aplicaciones indican el nombre de la aplicación y la versión. La generacion Copy-Paste parece no ver lo que está delante de sus ojos. 
 
En el caso particular de Google hay un gran número de operadores que facilitan la búsqueda de información. En una próxima ocasión volveré sobre este tema.