| Re: ¿Espias de router? Que mejor que la explicación de un wiki aqui tienes:
Packet sniffer
En informática, un packet sniffer es un programa de captura de las tramas de red. Generalmente se usa para gestionar la red con una finalidad docente, aunque también puede ser utilizado con fines maliciosos.
Es algo común que, por topología de red y necesidad material, el medio de transmisión (cable coaxial, UTP, fibra óptica etc.) sea compartido por varias computadoras y dispositivos de red, lo que hace posible que un ordenador capture las tramas de información no destinadas a él. Para conseguir esto el sniffer pone la tarjeta de red o NIC en un estado conocido como "modo promiscuo" en el cual en la capa de enlace de datos (ver niveles OSI) no son descartadas las tramas no destinadas a la MAC address de la tarjeta; de esta manera se puede obtener (sniffar) todo tipo de información de cualquier aparato conectado a la red como contraseñas, e-mails, conversaciones de chat o cualquier otro tipo de información personal (por lo que son muy usados por crackers, aunque también suelen ser usados para realizar comprobaciones y solucionar problemas en la red de modo legal).
Topología de redes y packet sniffers
La cantidad de tramas que puede obtener un sniffer depende de la topología de red, del nodo donde esté instalado y del medio de transmisión. Por ejemplo:
• Para redes antiguas con topologías en estrella, el sniffer se podría instalar en cualquier nodo, ya que lo que hace el nodo central es retransmitir todo lo que recibe a todos los nodos. Sin embargo en las redes modernas, en las que solo lo retrasmite al nodo destino, el único lugar donde se podría poner el sniffer para que capturara todas las tramas sería el nodo central.
• Para topologías en anillo, doble anillo y en bus, el sniffer se podría instalar en cualquier nodo, ya que todos tienen acceso al medio de transmisión compartido.
• Para las topologías en árbol, el nodo con acceso a más tramas sería el nodo raíz, aunque con los switches más modernos,las tramas entre niveles inferiores de un nodo viajarían directamente y no se propagarían al nodo raíz.
Es importante remarcar el hecho de que los sniffers sólo tienen efecto en redes que compartan el medio de transmisión como en redes sobre cable coaxial, cables de par trenzado (UTP, FTP o STP), o redes WiFi.
El uso de switch en lugar de hub incrementa la seguridad de la red ya que limita el uso de sniffers al dirigirse las tramas únicamente a sus correspondientes destinatarios.
Utilidad [editar]
Los principales usos que se le pueden dar son:a
• Captura automática de contraseñas enviadas en claro y nombres de usuario de la red. Esta capacidad es utilizada en muchas ocasiones por crackers para atacar sistemas a posteriori.
• Conversión del tráfico de red en un formato entendible por los humanos.
• Análisis de fallos para descubrir problemas en la red, tales como: ¿por qué el ordenador A no puede establecer una comunicación con el ordenador B?
• Medición del tráfico, mediante el cual es posible descubrir cuellos de botella en algún lugar de la red.
• Detección de intrusos, con el fin de descubrir hackers. Aunque para ello existen programas específicos llamados IDS (Intrusion Detection System, Sistema de Detección de intrusos), estos son prácticamente sniffers con funcionalidades específicas.
• Creación de registros de red, de modo que los hackers no puedan detectar que están siendo investigados.
Existen packet sniffer para ethernet/LAN y algunos de ellos son (Wireshark (anteriormente conocido como Ethereal ,WinPcap), Ettercap, TCPDump, WinDump, WinSniffer, Hunt, Darkstat, traffic-vis, KSniffer) y para Redes Inalámbricas (wireless):(Kismet, Network Stumbler)
Tipos de Sniffer
Tipos de Sniffer
Un packet sniffer es un programa para monitorizar y analizar el tráfico en una red de computadoras, detectando los cuellos de botella y problemas que existan. También puede ser utilizado para "captar", lícitamente o no, los datos que son transmitidos en la red.
Destacan por su importancia los siguientes: TCPDUMP , DARKSTAT Y TRAFFIC-VIS, NGREP, SNORT, NWATCH, ETHEREAL, ETTERCAP y KISMET.
TCPDUMP
Tcpdump muestra las cabeceras de los paquetes que captura de un interfaz de red dado y que cumplen la expresión pasada al ejecutar, es decir, te permite monitorizar tráfico de red en tiempo real.
Los filtros que se pueden crear para mostrar tan sólo la información que nos interesa , hacen de tcpdump una herramienta muy potente para el análisis de tráfico en redes de comunicaciones. Tcpdump es una aplicación “peligrosa”, por lo que en los sistemas UNÍX sólo se permite su utilización al usuario root. Luego, tcpdump permite examinar todas las conversaciones, incluyendo mensajes de broadcast SMB y NMB . Mientras que sus capacidades en detección de errores están principalmente a nivel de capa de red OSI, todavía puedes usar su salida para obtener una idea general de qué están intentando hacer el servidor y el cliente. En Windows, en lugar del tcpdump se usa el Windump.
Darkstat y Traffic-Vis
Darkstat
Darkstat es una herramienta para monitorizar una red, que analiza el tráfico de la misma y genera un informe estadístico en formato HTML, basándose en los datos obtenidos. Entre las observaciones que realiza el programa permite: realizar la estadística de direcciones que se generan en la comunicación entre hosts, el tráfico que se produce, y los diferentes números de puerto usados por los diversos protocolos. Adicionalmente, el programa permite obtener un breve resumen y gráficos por períodos de tiempo de los paquetes analizados desde que se empieza a ejecutar el programa.
Traffic-Vis
Traffic-vis proceso demonio que monitoriza el tráfico TCP/IP y convierte esta información en gráficos en ASCII, HTML o Postscript. Traffic-vis también permite analizar el tráfico entre hosts para determinar qué hosts han comunicado y el volumen de su intercambio (tenga en cuenta que necesita libpcap. traffic-vis puede obtenerse en http://www.ilogic.com.au/~dmiller/traffic-vis. html.
NGREP
Muestra y busca paquetes.
Ngrep se esfuerza por proveer de la mayoría de características comunes del "grep" de GNU, aplicándolas a la capa de network ({"network layer"} del modelo de referencia OSI). ngrep es consciente de la presencia de pcap y permite usar expresiones regulares que concuerden con el "payload" ( o sea la carga, el cuerpo, y _no_ los encabezados) de los paquetes. Actualmente reconoce TCP, UDP, e ICMP sobre Ethernet, PPP, SLIP e interfaces nulas {"null interfaces"}, y comprende la lógica de un filtro "bpf" de la misma manera que herramientas más comunes de sniffing como tcpdump y snoop.
SNORT
Snort es un IDS o Sistema de detección de intrusiones basado en red (NIDS). Implementa un motor de detección de ataques y barrido de puertos que permite registrar, alertar y responder ante cualquier anomalía previamente definida como patrones que corresponden a ataques, barridos, intentos o aprovechar alguna vulnerabilidad, análisis de protocolos, etc., conocidos, todo esto en tiempo real. Está disponible gratuitamente bajo licencia GPL, y funciona en plataformas Windows y UNIX/Linux. Es uno de los más usados y dispone de una gran cantidad de filtros o patrones predefinidos, así como actualizaciones constantes ante casos de ataques, barridos o vulnerabilidades que vayan siendo detectadas a través de los distintos boletines de seguridad.
Este IDS implementa un lenguaje de creación de reglas flexibles, potente y sencillo. Durante su instalación ya nos provee de cientos de filtros o reglas para backdoor, ddos, finger, ftp, ataques web, CGI, escaneos Nmap...
Puede funcionar como sniffer (podemos ver en consola y en tiempo real lo que ocurre en nuestra red, todo nuestro tráfico), registro de paquetes (permite guardar en un archivo los logs para su posterior análisis, un análisis offline) o como un IDS normal (en este caso NIDS).
Daremos una importancia mayor a su funcionamiento como NIDS y, sobre todo, a la creación personalizada de reglas e interpretación de las alertas.
La colocación de Snort en nuestra red puede realizarse según el tráfico que se quiera vigilar: paquetes que entran, paquetes salientes, dentro del firewall, fuera del firewall, etc., casi donde queramos.
NWATCH
NWatch es un succionador, pero se puede conceptuar como portuario pasivo del explorador, en que está solamente interesado en tráfico del IP y organiza resultados como un explorador portuario. Esto agrega la ventaja de que cualquier herramienta que funcione encendido tal salida (NDiff) puede utilizar los datos. NWatch se diferencia de un explorador portuario real de muchas maneras. Por ejemplo, cogerá los puertos que se abren solamente transitorio, algo que en un explorador portuario faltaría probablemente. Para la seguridad de la red NWatch es un complemento excelente a la puerto-exploración regular de sus redes. Por defecto, NWatch permanece activo indefinidamente hasta que recibe un SIGINT (CTRL-c). Durante ese tiempo mira el interfaz del defecto (eth0), siguiendo cada combinación del IP host/port que descubre. En el último caso sería típicamente útil para espiar o quizás muestreo y análisis de los patrones del uso neto más bien que supervisión de la seguridad.
ETHEREAL
Ethereal que ahora se llama Wireshark, es un potente analizador libre de protocolos de redes, para máquinas Unix y Windows. Nos permite capturar los datos directamente de una red u obtener la información a partir de una captura en disco (puede leer más de 20 tipos de formato distintos). Destaca también por su impresionante soporte de más de 300 protocolos, gracias sin duda a la licencia GPL y sus más de 200 colaboradores de todo el mundo.
Una de las cosas que más cuesta entender cuando uno comienza con ethereal es la utilización de los filtros a la hora de capturar datos (el típico error: Unable to parse filter string (parse error), puesto que utiliza un sistema para visualizar los datos y otro totalmente diferentes e incompatible para realizar las capturas (tcpdump).
La potencia y posibilidades del Ethereal son excelentes.khgyi
ETTERCAP
Ettercap es un sniffer/interceptor/logger para redes LAN con switchs, que soporta la disección activa y pasiva de muchos protocolos(incluso cifrados) e incluye muchas características para el análisis de la red y del host (anfitrión)".
• Entre sus funciones, las más destacadas son las siguientes:
o Injection de caracteres en una conexión establecida emulando comandos o respuestas mientras la conexión está activa.
o Compatibilidad con SSH1: Puede interceptar users y passwords incluso en conexiones "seguras" con SSH.
o Compatibilidad con HTTPS: Intercepta conexiones mediante http SSL (supuestamente seguras) incluso si se establecen a través de un proxy.
o Intercepta tráfico remoto mediante un túnel GRE: Si la conexión se establece mediante un túnel GRE con un router Cisco, puede interceptarla y crear un ataque "Man in the Middle".
o "Man in the Middle" contra túneles PPTP (Point-to-Point Tunneling Protocol).
o Soporte para Plug-ins.
KISMET
Kismet es un sniffer específico a Linux para redes inalámbricas. Específicamente , es un detector de la red 802.11 layer2,un succionador, y un sistema sin hilos para la detección de la intrusión. Funciona correctamente con los dos principales tipos de tarjetas inalámbricas , es decir , trabajará con cualquier tarjeta sin hilos que apoye modo de supervisión crudo (rfmon) y puede "oler" 802.11b , 802.11a y el tráfico 802.11g.
Kismet identifica redes de modo pasivo, recogiendo paquetes y detecta redes nombradas estándares, redes ocultas e infiere la presencia de redes nonbeaconing vía tráfico de los datos.
Detección de sniffer
Un sniffer es un programa informático que registra la información que envían los periféricos, así como la actividad realizada en un determinado ordenador.
Riesgos
Supone una amenaza grave para la seguridad no sólo de una máquina sino también de toda una red. Lamentablemente, una gran cantidad de tráfico confidencial viaja en claro, sin ningún tipo de cifrado, por las redes de la mayoría de las empresas. Ese es el entorno ideal para un sniffer, que puede acceder de forma transparente a esa información, y permitir que alguien abuse de su conocimiento. Por eso es muy importante realizar búsquedas periódicas de sniffers dentro de las redes de cualquier empresa, no sólo por el daño que puedan causar, sino también porque encontrarlos es señal de que se ha producido y explotado una grave brecha y hay que tomar medidas inmediatas.
Existen casos en los que un sniffer no es peligroso. A veces, explorando una red en busca de sniffers se detectará que hay algunos, por ejemplo, en máquinas que dependen del departamento de administración de redes. Esto puede ocurrir porque, en realidad, un sniffer no se diferencia demasiado de una herramienta de monitorización y diagnosis del tráfico de red que puede estar siendo legítimamente utilizada por personal encargado de la administración de la red. Otros dispositivos, especialmente routers y hub, suelen producir falsos positivos que hay que tener en cuenta.
Búsqueda de sniffers
Ni que decir tiene que hay diferentes aproximaciones al problema de cómo detectar un sniffer, y que éstas varían según se tenga acceso local a la máquina, o bien haya que descubrirlos desde alguna máquina remota. El objetivo que la mayoría de pruebas tratan de conseguir es que la máquina que tiene la tarjeta de red en modo promiscuo se traicione a sí misma, revelando que ha tenido acceso a información que no iba dirigida a ella y que, por tanto, tiene un sniffer. Éste es un objetivo ambicioso y complejo que, lamentablemente, puede ser imposible.
A veces resulta completamente imposible detectar un sniffer. Por ejemplo, si el sniffer ha sido diseñado exclusivamente para esta tarea (generalmente dispositivos hardware), entonces no devolverá jamás un paquete, no establecerá nunca una comunicación, sino que permanecerá siempre en silencio y su detección remota será, simplemente, imposible. La detección de este tipo de sniffers sólo puede hacerse por inspección directa de los dispositivos conectados a la red.
Técnicas de detección local
Aunque no se trata de una tarea trivial, ésta es, con mucho, la situación en que resulta más sencillo localizar un sniffer. Normalmente basta con revisar la lista de programas en ejecución para detectar alguna anomalía ( CTRL+ALT+SUPR o psaux|more ). Otro buen sitio donde mirar es en la lista de los programas que se inician automáticamente al encender el PC archivos /etc/rc.d/rcX.d/* o .bashrc, etc... en un sistema Unix y autoexec.bat o ciertas claves del Registry en una máquina Windows) o las tareas programadas (cron, at).
Es importante destacar que los ejemplos anteriores son sólo triviales y no pretenden ser una enumeración exhaustiva. Hay decenas de posibilidades, algunas muy ingeniosas y nada elementales. Cualquier novedad o anomalía debe ser investigada en profundidad porque podría revelar no sólo un sniffer en funcionamiento sino también otros programas que supongan una grave amenaza (virus, troyano, gusanos, etc...).
Herramientas de detección local
En una máquina con alguno de los sistemas operativos de la familia Unix se dispone de una utilidad que resulta especialmente valiosa en la lucha contra los sniffers. Se trata de ifconfig, orden que informa del estado de todas las interfaces de red del sistema e indica si alguna de ellas se encuentra en modo promiscuo. Evidentemente, esta metodología de detección local de sniffers depende del buen funcionamiento de la orden ifconfig.
Detección remota desde el mismo segmento de red
Es en este entorno donde más frecuentemente el administrador de seguridad tiene que realizar su investigación. Existe un cierto número de técnicas heurísticas que son de utilidad y que se presentan a continuación, pero hay que tener claro que estas técnicas tienen bastantes limitaciones y que no resulta en absoluto improbable que exista un sniffer en la red y que no sea detectado (falso negativo) o que máquinas o usuarios completamente inocentes sean detectados como sniffers (falsos positivos). Por su ámbito de aplicación, estas técnicas se pueden dividir en dos grupos: las dependientes del sistema operativo y las que no lo son.
• Dependientes del sistema operativo. Como su propio nombre indica, estas técnicas usan algún
fallo o característica propia de determinados sistemas operativos (o parte de ellos, como el subsistema TCP/IP) para reconocer a una tarjeta de red en modo promiscuo. La ventaja que tienen es su excelente rendimiento cuando se exploran máquinas que tienen justamente la versión del sistema operativo del que la técnica obtiene partido. La desventaja fundamental es el gran número de falsos negativos que ocasiona debido a que en muchos casos las implementaciones de la pila TCP/IP varían entre versiones del mismo sistema operativo con la acción a nivel físico, es volver a inspeccionar la MAC (MAC address) de destino, aunque también se puede hacer a nivel de IP.
• No dependientes del sistema operativo. En general son menos fiables y menos concluyentes.
Suelen basarse en suposiciones sobre el comportamiento de determinados sniffers, que pueden no darse en casos concretos, convirtiendo alguna de estas técnicas en completamente inútiles. Otras son más generales, pero poco resolutivas, porque no clasifican, simplemente dan indicios que en muchos casos no son suficientes. No suelen proporcionar muchos falsos positivos, aunque pueden ser burladas y utilizadas para inculpar a terceras personas. Tampoco falsos negativos, aunque la última generación de sniffers ya incorpora técnicas de evasión bastante sofisticadas que evita su detección.
Herramientas de detección remota desde el mismo segmento de red
La mejor herramienta de detección de sniffers en la actualidad es AntiSniff, de L0pht. Se trata de un programa comercial con una versión de evaluación de 15 días que implementa todos los tests citados anteriormente, junto a algunas variaciones muy interesantes. Sin embargo, al poco de anunciarse su aparición se desarrolló un sniffer gratuito y con código fuente disponible llamado Anti-AntiSniff que no es detectado por ninguno de los test que AntiSniff realiza. AntiSniff está disponible para Windows NT/2000 y hay una versión de prueba gratuita y con código fuente disponible en desarrollo para diferentes versiones de Unix que, eso sí, está muy por detrás de la versión de Windows NT/2000 en cuanto a interfaz gráfica.
Le sigue, en cuanto a utilidad y no precisamente de cerca, el proyecto Sentinel, que tiene la ventaja de ser un proyecto público y abierto que permite acceder al código fuente del programa. En la actualidad es sólo capaz de realizar unos pocos tests, muchos menos que AntiSniff, pero tiene un interesante futuro por delante que hace recomendable su seguimiento.
Fuente: Wikipedia |