Trafico de Red Con Wireshark

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

INSEGURIDADES

Diseccionamos el trfico de red

WIRESHARK
Cmo crear un registro de la actividad de nuestra red con Wireshark. POR KURT SEIFRIED
ireshark [1], el sniffer de paquetes antes conocido como Ethereal, es una herramienta de tenencia obligada para cualquier administrador de sistemas. Para diagnosticar problemas de red u observar transacciones con servidores, supone la herramienta perfecta. Igual que la mayora, si no todos, de los programas orientados a la captura de trfico de red para Linux, Wireshark utiliza libpcap, que proporciona una interfaz independiente del sistema para la captura de paquetes, por lo que se evita la necesidad de escribir rutinas propias para cada sniffer de paquetes (tcpdump, Snort, Wireshark, etc.). En tanto en cuanto nuestro sistema operativo (Linux, *BSD, HPUX, Solaris, Windows, etc.) y el software soporten libpcap, se podrn capturar los paquetes.

En Debian es igual de sencillo


apt-get install libpcap0 apt-get install wireshark

para disfrutar de las funcionalidades avanzadas.

Ejecutar Wireshark
Para ejecutar Wireshark de modo que pueda capturar datos en vivo, no hay ms remedio que hacerlo como root. Wireshark ha tenido varios problemas de seguridad en el pasado que permitan a potenciales atacantes remotos ejecutar cdigo enviando datos manipulados para que Wireshark los procesara. Hay dos formas relativamente simples de evitar la ejecucin de Wireshark con permisos de root. La primera de ellas es usando un programa para la captura de paquetes, como dumpcap o tcpdump, para luego examinar los archivos de captura con Wireshark con permisos de usuario no privilegiado. El segundo mtodo consiste en ejecutar Wireshark como root, pero dentro de un entorno contenido y controlado. Al ejecutar Wireshark en el interior de una mquina virtual, como VMware, en un primer momento se podra pensar que slo sera posible ver los datos de red enviados desde y hacia esa mquina virtual en particular. En realidad, libpcap accede directamente al kernel, y por tanto a la tarjeta, a un nivel lo suficientemente bajo como para ver todo el trfico que pasa por la interfaz de red fsica. Es decir, se puede ejecutar Wireshark desde una mquina virtual y capturar fcilmente el trfico de red. La parte negativa es que cualquiera que posea acceso como root a la mquina virtual (al menos bajo VMware Server) podr ver todo el trfico de red de la mquina fsica subyacente, as como el de cualquier mquina virtualizada que haga uso de la misma interfaz.

Instalacin de libpcap y Wireshark


Libpcap viene incluido en la mayora de los sistemas operativos. Wireshark tambin est incluido casi siempre (al menos en Linux y BSD). A veces est dividido en dos paquetes: uno que comprende utilidades de backend como tshark o mergecap, y otro que consiste en la interfaz grfica (GUI). En caso de no estar instalado, en Fedora y similares basta con ejecutar
yum install libpcap yum install wireshark-gnome

Uno de los problemas derivados de usar las versiones de Wireshark proporcionadas por las distribuciones, es que suelen ser bastante antiguas (por ejemplo, Fedora 11 viene con la v1.1.3). An con todo, las series 1.2 (y v1.3.0, que podra estar disponible para cuando salga publicado este artculo) incluyen buena parte de las nuevas funcionalidades, como soporte de protocolo, soluciones de errores e integracin de geolocalizacin (de la que hablaremos ms adelante). Para compilar Wireshark desde los fuentes tendremos que descargarlo obteniendo la ltima versin estable [2] o, los ms valientes, descargando mediante SVN una de las ltimas compilaciones automatizadas [3]. Una vez descomprimido, la instalacin es muy sencilla:
./configure make make install

Para compilar Wireshark necesitaremos satisfacer antes algunas dependencias. Como mnimo necesitaremos libpcap, pero es recomendable tambin disponer de GnuTLS, PCRE (Perl-Compatible Regular Expressions) y GeoIP

Filtros de Captura Libpcap


Capturar el trfico de cualquier red con algo de actividad es como tratar de beber de una boca de incendios. La buena noticia es que casi todos los programas de captura que usan libpcap permiten el uso de los comandos de filtrado disponibles con esta librera (e incluso a veces, como es el caso de Wireshark, tambin de sus propios filtros). Lo malo es que el juego de filtros de libpcap es relativamente limitado, soportando principalmente la especificacin de direcciones y puertos (ya que es consciente del protocolo usado).

Nmero 60

WW.LINUX- MAGAZINE.ES

INSEGURIDADES

Como mnimo, se puede usar para minimizar la cantidad de datos que se escribirn a disco o que tendr que procesar Wireshark. Por ejemplo, podemos usar la siguiente sintaxis para capturar trfico web con libpcap:
dst port 80 or 443

ip an ip.geoip.country U = = China

Como pueda ser China.

Creando un Registro de Red


A menos que ejecutemos Wireshark las veinticuatro horas del da, para poder analizar un problema habremos de recrearlo mientras examinamos el trfico de red con Wireshark. O no? Las buenas noticias son que los discos duros son ya suficientemente baratos, as, un disco de un terabyte de capacidad permite guardar treinta gigabytes diarios durante un mes, o incluso ms si la red no tiene mucha actividad durante los fines de semana. El programa tshark hace asequible el almacenamiento cclico de cantidades de datos determinadas. La opcin -b
tshark -i eth0 U -b filesize:10240 -b U files:1000 -w if-eth0

La pgina de manual de tcpdump cubre en detalle la sintaxis para los filtros de libpcap.

Diseccionadores de Protocolos
El factor diferencial de Wireshark frente al resto de programas capturadores de paquetes es su gran nmero de diseccionadores de protocolos. En la prctica, Wireshark es capaz de comprender a fondo los protocolos principales (SSH, Telnet, NTP, etc.) y no slo mostrar informacin en un formato ms legible, sino que se puede utilizar un mayor nmero de opciones en el filtrado. Con Wireshark, no slo podemos filtrar trfico web,
tcp.dstport == 80 or U tcp.dstport == 443

dad, como puedan ser ciertas descargas ilcitas que suelen generar consultas DNS para dominios extraos. Por otro lado, se podra registrar slo el trfico entrante por el puerto 80, con lo que se tendra un registro de todas las peticiones web recibidas; no as de las respuestas, que ocuparan mucho ms espacio. Como si de una cmara de vdeo se tratase, no evitaramos potenciales incidentes de seguridad, pero tendramos una idea muy aproximada de lo que ocurri y, con suerte, de cuntos sistemas se han visto afectados por el ataque.

Actualizacin a Upgrade 2.0


Nuestro agradecimiento a Jan Andrejkovic por aadir una nueva herramienta a la columna Upgrade 2.0 [5]. Fedora incluye un programa llamado Presto [6] que hace uso de DeltaRPMs para proporcionar actualizaciones de menor tamao. En un primer test, una actualizacin normal hubiera necesitado 972MB de datos descargados, pero con Presto no eran ms que 224MB (un ahorro impresionante). Fedora 11 incluye ahora un paquete yum-presto (que no hay que confundir con el paquete presto, que es un motor orientado a grficos), un plugin para el gestor de paquetes yum. La instalacin es muy sencilla:
yum install yum-presto

sino que tambin podemos escoger componentes especiales especficos de una conexin HTTP, como por ejemplo cdigos de respuesta. Si slo quisiramos mostrar los cdigos 404:
http.response.code == 404

monitoriza la interfaz eth0 creando hasta 1000 archivos de unos 10MB cada uno (un total de 1GB), con marcas de tiempo como nombres de archivo (YYYYMMDDHHMMSS):
if-eth0_00001_20090920041232 if-eth0_00002_20090920041252 if-eth0_00003_20090920041258

O tambin podramos buscar todas las cookies que contengan la cadena sessionid. HTTP no es el nico protocolo que comprende Wireshark; segn el ltimo clculo, Wireshark contaba con alrededor de 1000 diseccionadores de protocolos (aunque no todos son tan completos como el de HTML). Por desgracia, estos diseccionadores de protocolos pueden suponer tambin un problema significativo, con unas 85 vulnerabilidades conocidas [4], que van desde simples denegaciones de servicio hasta desbordamientos de bfer con ejecucin de cdigo.

GeoIP
Wireshark soporta ahora GeoIP, un juego de libreras que se pueden usar para realizar consultas a las bases de datos de MaxMind Geographic IP (bsicamente se trata de un listado de direcciones IP y redes, as como de pases a los que pertenecen). De manera gratuita, podemos acceder a datos de pases, lo que significa que podemos crear filtros en Wireshark para mostrar el trfico de un pas especfico.

Estos archivos se pueden unir posteriormente con mergecap en caso de que el trfico que nos interesa est repartido entre varios de ellos. La ventaja de hacer capturas cclicas es que no es necesario rotar los archivos, pudiendo especificar una cantidad mxima de datos sin tener que preocuparnos de que se agote el espacio disponible en disco. Otra forma de capturar los datos de red para su posterior anlisis es mediante la herramienta tcpdump. Las ltimas versiones de tcpdump suelen soportar la opcin -C, que comienza escribiendo a un nuevo archivo de captura al alcanzar un nmero de bytes determinado; mientras que la opcin -W limita el nmero de archivos creados, sobreescribiendo los ms antiguos al alcanzar el nmero mximo permitido, conformando de este modo una captura cclica. Ntese que no es necesario capturar todo el trfico de red para disponer de un registro til en el rastreo de problemas; simplemente registrando el trfico DNS (puerto 53 TCP y UDP) cubrimos muchos problemas de seguri-

Primero se debe actualizar manualmente /etc/yum.repos.d/fedora-updates.repo de modo que incluya o bien una baseurl o un mirrorurl apuntando al sitio que contiene los RPMs para presto (estn firmados con la clave GnuPG de Jonathan Dieter). Alternativamente, podemos usar nuestro propio repositorio y crear los RPMs mediante presto-utils. En los casos con ms de un sistema, sta I puede ser la mejor opcin.

RECURSOS
[1] Wireshark: http://www.wireshark. org/ [2] Cdigo fuente para la versin estable de Wireshark: http://www. wireshark.org/download/src/ [3] Cdigo fuente para la versin de desarrollo de Wireshark: http:// www.wireshark.org/download/ automated/src/ [4] Vulnerabilidades de seguridad de Wireshark: http://www.wireshark. org/security/ [5] Upgrade 2.0 por Kurt Seifried, Linux Magazine, Nmero 58, pg. 8. [6] Presto: https://fedorahosted.org/ presto/

WWW.LINUX- MAGAZINE.ES

Nmero 60

También podría gustarte