SNIFFERS
¿QUE ES UN SNIFFER?

Un Sniffer, es un programa que captura datos dentro de una red de cómputo; es utilizado por los hackers para obtener nombres de usuarios y contraseñas, y es una herramienta que permite auditar e identificar paquetes de datos en un red, misma que, puede ser usado legítimamente por los administradores de redes y personal de mantenimiento para identificar problemas de la misma red.
El sniffer es un programa que rastrea la información que transita en Internet. Desde un correo electrónico, hasta una operación de banca en línea. Lo que hace es capturar todos los datos que pasan a través de una tarjeta de red. Para ello se basa en un defecto del protocolo ethernet (el que se usa normalmente en las redes locales).
Este protocolo lo que hace es mandar la información a todos los ordenadores de la red, aunque no vaya dirigida a ellos, luego son los propios ordenadores los que basándose en la cabecera del paquete ethernet aceptan el paquete o no ya que son los encabezados donde se lee información como el equipo destinatario, tipo de mensaje enviado y que servidor lo está, enviando.
Normalmente todas las redes tienen este defecto, aunque se puede evitar, por ejemplo hay algunos hubs con inteligencia’ que en redes en estrella lo que hacen es examinar el encabezado de los paquetes ethernet para ver a que dirección van dirigidos, y mandar la información solo a ese ordenador. Pues como decía, el ethernet normalmente manda los paquetes de datos a todas las estaciones de la red, entonces lo que hace el sniffer es poner la tarjeta en modo promiscuo. El modo promiscuo significa que la tarjeta capturara todos los paquetes ethernet, aunque no vayan dirigidos a ella.
Existen Sniffer que hacen una revisión más exhaustiva del contenido de cada paquete, los cuales pueden guardar incluso conversaciones completas de mensajeros instantáneos.
COMO TRABAJA UN SNIFFER
MODO PROMISCUO
El Sniffer al poner la Tarjeta en el modo promiscuo (hay que decir por cierto que algunas tarjetas no aceptan el modo promiscuo, evitando así la instalación de sniffers), bueno, lo que hace el sniffer es filtrar todos los paquetes ethernet. Si el sniffer almacenara todos los datos que pasan por la tarjeta seria un caos, así que lo que hace es examinar los paquetes y mirar las peticiones a unos determinados puertos, como por ejemplo el 23 del telnet, los más comunes son el 21, el 23, el 110 y el 143. Luego toda la información que se transmite en esa conexión durante unos determinados segundos, por ejemplo 30, la almacena en un fichero de Log. Al grabar los 30 primeros segundos grabara el login y el password, ya que van en texto plano, a no ser que se utilice algún sistema de encriptación como kerberos, etc.
Así que si por ejemplo tu has hackeado una maquina B (haciendo root para colocar un sniffer), y una maquina C hace un telnet a una maquina A (estando todas en la misma red local), tu capturaras el login y el password de la maquina A.
OCULTAR LA PRESENCIA DE UN SNIFFER
Si el administrador o cualquiera usa el comando ifconfig podrá percatarse que la tarjeta esta en modo promiscuo, Con el comando ifconfig -a y un sniffer instalado se vería algo como:
eth0 Link encap:Ethernet HWaddr 00:00:1C:04:11:C6
inet addr:10.10.10.1 Bcast:255.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0
TX packets:0 errors:0 dropped:0 overruns:0
Interrupt:11 Base address:0×6800
Para evitarlo se puede instalar un troyano del ifconfig, y que lo que hacen es ocultar el modo promiscuo. También, como cualquier otro programa ejecutado en segundo plano, dejara su huella al hacer un ps para ver los procesos. La solución a esto es la misma que con el ifconfig, instalar otro troyano (esta vez para el ps).Aun así después de instalar los troyanos es posible detectar el sniffer, usando un programa que acceda directamente a la tarjeta y mire si el flan promisc esta activado.
MODO NO PROMISCUO
La principal ventaja de instalar un sniffer en modo no promiscuo es que es casi imposible que lo detecten, ya que al estar la tarjeta sin el flag promisc aunque pasen un scanners de sniffers no lo detectara, y no hay la necesidad de usar los troyanos. Por el contrario solo capturara los paquetes ethernet que vayan dirigidos a ese ordenador, así que no podrás capturar passwords de otros ordenadores directamente. Pero aunque en principio no pueda capturar passwords de otros ordenadores al final acabas capturando alguno.
El sniffer logeara las sesiones que se hagan al propio ordenador desde cualquier lugar de la red, por ejemplo, una conexión telnet. Para empezar ya grabara todos los logins y passwords de los usuarios que hagan un telnet (incluido el root), y luego capturara los primeros 30 segundos del telnet, y es muy raro que en esos 30 segundos algún usuario no haga un telnet o un ftp a otra maquina (no tiene pq estar en la misma red local) quedando el login y el password de la maquina remota en el Log. Si vas a hacer esto lo mejor configurar el sniffer para que solo logee el puerto 23 (de telnet) y que capture los primeros 60 segundos o así, para que tengas mas posibilidades de conexión a otra maquina.
Para instalar el sniffer en modo no promiscuo lo que se hace ejecutar el sniffer, quedando corriendo en segundo plano y con la tarjeta con el flan promisc activado. Luego para quitar el promisc se puedes seguir dos alternativas, o quitarlo tu directamente con el ifconfig, siendo la orden algo como: “ifconfig eth0 -promisc”.
¿Para qué me puede servir un sniffer?
A veces se da el caso que los administradores de una red ve que ésta se vuelve lenta, pero no poseen herramientas de monitoreo a la red ni nada, sólo poseen sus switches, routers, etc.; y no pueden dar con el motivo de este problema”.
Pues aquí se abre el sniffer y tras una labor paciente y de análisis se descubriría la razón como que uno de los clientes tiene un virus que está congestionando la red, porque tras analizar el tráfico de la red veías que gran cantidad del misom provenía de una determinada dirección.
¿Qué sniffer utilizar?
tcpdump
El primero de los sniffers de paquetes para Linux, esta herramienta ha existido desde que me es posible recordar, y su uso principal es hacer un debug de problemas de red. No es muy configurable y carece de las características avanzadas de los más novedosos sniffers de paquetes, pero todavía puede ser útil.
sniffit
Es muy robusto, tiene interesantes posibilidades de filtrado, convierte la carga de los paquetes en texto ASCII para una fácil lectura (como las sesiones telnet), e incluso tiene un modo gráfico.
Ethereal
Un analizador de protocolos con buena apariencia (alias, un sniffer trucado) con una interfaz muy similar al monitor de red de NT. Permite una sencilla vista de la carga de los paquetes para la mayoría de protocolos de red (tftp, http, Netbios, etc.). Está basado en GTK, lo cual significa que probablemente habrá que tener el gnome ejecutándose para utilizarlo. Hoy en día la mejora se lo conoce con el nombre de Wireshark.
Snort
El Snort es una interesante herramienta de para sniffing de paquetes, que también se puede utilizar para detectar diferentes ataques. Puede vigilar actividades como escaneos mediante huellas TCP-IP con el Queso, escaneos con Nmap y similares.
SPY
SPY es un sniffer multiprotocolo avanzado tipo industrial que se ejecuta en diferentes plataformas. No es un programa gratuito, sin embargo existe una licencia para un sólo usuario para uso no comercial, con un máximo de 5 hosts.
Otros sniffers
Linux, Existe toda una variedad de sniffers para basados en la librería libpcap entre otras, como el KSniff, Ksniffer, karpski, Gnusniff, SNMP, Sniffer, ipgrab.
AntiSniff
AntiSniff es una herramienta que prueba dispositivos de red para ver si se están ejecutando en modo promiscuo, al contrario que los modos normales de operación.





