1 / 37

Clase 21 Javier Echaiz D.C.I.C. – U.N.S . http://cs.uns.edu.ar/~jechaiz je@cs.uns.edu.ar

JAVIER. ECHAIZ. Seguridad en Redes. Sniffing. Clase 21 Javier Echaiz D.C.I.C. – U.N.S . http://cs.uns.edu.ar/~jechaiz je@cs.uns.edu.ar. Introducción. Sniffing es simplemente “espiar” pasivamente en una red. Es una técnica empleada por hackers para obtener información importante. Ej:

mihaly
Download Presentation

Clase 21 Javier Echaiz D.C.I.C. – U.N.S . http://cs.uns.edu.ar/~jechaiz je@cs.uns.edu.ar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAVIER ECHAIZ Seguridad en Redes Sniffing Clase 21 Javier Echaiz D.C.I.C. – U.N.S. http://cs.uns.edu.ar/~jechaiz je@cs.uns.edu.ar

  2. Introducción • Sniffing es simplemente “espiar” pasivamente en una red. • Es una técnica empleada por hackers para obtener información importante. Ej: • Username • Password • Puede también utilizarse como técnica de investigación.

  3. EstructuraLAN • Computadoras y demás dispositivos de red (ej: impresoras) están interconectados mediante un medio de transmisión común. • Sistema de cableado • Par trenzado • Coaxil • Fibra óptica

  4. RAM RAM (a) (b) Ethernet Processor ROM

  5. Los standards de red definen los protocolos a nivel Link. • Ej: • Conectores • Longitud máxima para el cableado • Sistema de transmisión • Modulación • Velocidad de transmisión • Etc.

  6. Los dispositivos de red se conectan al sistema a través de • Network interface card (NIC) • NIC: • Coordina las transferencias de información entre la computadora y la red. • Transfiere información en paralelo desde y hacia la RAM de la computadora. • Transfiere información en serie desde y hacia la red.

  7. Funciones • Conversión Paralelo a Serie. • Data buffering. • Componentes • Port según las especificaciones de conector y sistema de transmisión. • Firmware en ROM que implementa el protocolo de MAC. • Cada NIC tiene una única dirección física“quemada” en ROM • Los primeros 3 bytes corresponden al fabricante. • Los últimos 3 son un ID a cargo del fabricante.

  8. Contiene HW que le permite reconocer • Su dirección física • Dirección broadcast • Direcciones multicast que identifican grupos de dispositivos de red. • Puede setearse para que corra en modo “promiscuo”, donde es capaz de escuchar todas las transmisiones. • Usuado por administradores para identificar problemas en la red. • Usado por hackers para interceptar passwords y otro tipo de información no encriptada.

  9. TopologíaLan

  10. (a) transceivers (b)

  11.       (a) Dominio de colisión único Backplane de Alta Velocidad (b)    

  12. ¿CómofuncionanlosSniffers? (1) • Un sniffer de paquetes es un programa que “espía” el tráfico que circula por la red. • Captura información mientras pasa por la red. • Condiciones Normales: • La información es puesta en frames. • Cada frame se direcciona hacia una dirección MAC (media access control) particular.

  13. ¿CómofuncionanlosSniffers? (2) • Cada NIC y demás dispositivos de red tienen una única dirección MAC. • Usualmente no se permiten cambios de MAC. • La NIC solamente recibe paquetes con su dirección MAC, todos los demás se ignoran. • Modo Promiscuo • En este modo, la NIC pasará cada frame al protocolo superior sin importar la dirección MAC.

  14. HTTP Request TCP Header IP Header Frame Check Sequence Ethernet Header

  15. SnifferSimple Socket() Bind() Promiscuous mode Recvfrom()

  16. Server socket() bind() listen() Client accept() socket() blocks until server receives a connect request from client connect negotiation connect() data write() read() data write() read() close() close() Comunicación connection-oriented (para refrescar su memoria)

  17. Server socket() Client socket() bind() bind() recvfrom() blocks until server sendto() data receives data from client sendto() data recvfrom() close() close() Comunicación connectionless (para refrescar su memoria)

  18. ioctl (1) • ioctl • Utilizada por los programadores para • Obtener información de la interfaz • Configurar la interfaz. • Acceder a la tabla de ruteo. • Cache ARP. • Puede utilizarse para poner la NIC en modo promiscuo!

  19. ioctl (2) ioctl(int fd, int request, /*void *arg */); • fd: sockfd • request: type of the request • SIOCGIFFLAGS • Return the interface flags in the ifr_flags member • SIOCSIFFLAGS • Set the interface flags from the ifr_flags member • arg: address of an ifr record

  20. SnifferSimple (Código) Código para un sniffer simple:

  21. El Sniffer puede entonces examinar información interesante • Headers. • Username y password. • Protocolos interesantes para los hackers (1) • telnet (port 23) • ftp (port 21) • POP (port 110) • IMAP (port 143) • NNTP (port 119) • Rexec (port 512)

  22. Protocolos interesantes para los hackers (2) • rlogin (port 513) • X11 (port 6000+) • NFS files Handles • Windows NT authentication • SMTP (Port 25) • HTTP (Port 80) • También se pueden “mirar” mensajes TCP, IP, UDP, ICMP, ARP, RARP.

  23. ¿QuépuedehacerunSniffer? (1) • Determinar el gateway local de una red desconocida. • Simple password sniffer. • Haciendo parsing de cada paquete y guardando información relevante. • Guardar todas las URLs pedidas (a partir del tráfico HTTP) y analizarlas offline.

  24. ¿QuépuedehacerunSniffer? (2) • Interceptar paquetes de un host destino falseando respuestas ARP. • Inundar la red local con direcciones MAC random.

  25. DeteccióndeQuietSniffers • Propiedades • Recolectar datos únicamente • No responder ni generar nuevo tráfico • Requiere chequeo físico • Conexiones Ethernet • Chequear la configuración de la NIC ej. ifconfig -a

  26. DeteccióndeSniffersMaliciosos (1) • DNS Test • Crear numerosas conexiones falsas de TCP • Esperando que un sniffer mal escrito • Espie esas conexiones. • Resuelva los IPs de esos hosts inexistentes. • Cuando hace la búsqueda DNS (reverse), una herramienta de detección de este tipo de ataque puede ver si el target (haciendo sniffing ) es el host inexistente.

  27. DeteccióndeSniffersMaliciosos (2) • Ping Test • Construir un ICMP echo request • Inicializar la dirección IP con el IP del host sospechado. • Deliberadamente elegir una MAC que no corresponda. • La mayoria de los sistemas ignorarán este paquete debido a que su dirección (HW) está mal. • En algunos sistemas, si la NIC está en modo promiscuo, el sniffer tomará este paquete como legítimo y responderá acordemente. • Si el host sospechado responde a nuestro pedido sabremos que está en modo promiscuo. • Los hackers “capacitados” saben esto y filtran estos paquetes…

  28. DeteccióndeSniffersMaliciosos (3) • ICMP Ping Latency Test • Hacerle un ping al host sospechado y obtener el round trip time. • Crear muchas conexiones TCP falsas. • Esperar que el sniffer procese estos paquetes… la latencia se incrementará. • Enviar un nuevo ping a la máquina sospechada para ver si el round trip time aumentó.

  29. DeteccióndeSniffersMaliciosos (4) • ARP Test • Enviar un pedido ARP al host sospechado con información válida salvo por la dirección de MAC destino. • Una máquina que no está en modo promiscuo nunca vería este paquete. • Si está en modo promiscuo, el pedido ARP sería visto y el kernel respondería…

  30. EvitandoelSniffing (1) • La mejor forma de evitar este problema es no permitirle al hacker acceso a nuestros sistemas. • Utilizar switches en lugar de hubs. • Con un hub todo el tráfico es visible para cada máquina de la LAN en el mismo dominio de colisión. • En un ambiente con switches, los frames son vistos únicamente por las interfaces “colgadas” en cada port.

  31. EvitandoelSniffing (2) • Sin embargo algunos sniffers pueden “espiar” en redes switcheadas. • La mejor forma de evitar los daños causados por un sniffer es no enviar usernames/passwords planos por la red. • La encripción es crucial. • Usar SSH en vez de telnet. • Usar HTTPS en vez de HTTP. • Usar SCP y SFTP para transferencia de archivos.

  32. TécnicasAvanzadasdeSniffing (1) • ¿Qué tan seguro es un switch? • Los switches mantienen una lista interna de las direcciones MACs de los hosts que se encuentran en cada port. • Se envía el tráfico unicamente a un port solamente si la dirección destino está presente en ese port. • Los atacantes tienen nuevas formas para evitar estos avances tecnológicos.

  33. TécnicasAvanzadasdeSniffing (2) • ARP Spoofing • Es posible sobreescribir la cache ARP en muchos sistemas operativos. • Es posible asociar la dirección MAC con la dirección IP del gateway default. • Provocar que todo el tráfico saliente desde el host target sea transmitido al host del atacante. • El hacker puede tambien falsificar respuestas ARP. • El sniffer Dsniff (Dug Song) incluye un programa llamado “arpredirect” que hace exactamente esto.

  34. TécnicasAvanzadasdeSniffing (3) • ARP Flooding • Un switch debe mantener una tabla de todas las MACs “colgadas” de cada port. • Si existen muchas direcciones MACs en un solo port algunos switches mandan todo el tráfico a ese port. Ej: switches que replican todo el tráfico en un port dado (fines estadísticos). • Dsniff incluye un programa “macof” que facilita el flooding de un switch con direcciones MAC random.

  35. TécnicasAvanzadasdeSniffing (4) • Routing Games • Cambiamos la tabla de ruteo del host que queremos monitorear • Todo el tráfico de la red pasará a través de nuestro host. • Enviamos un route advertisement message falso a través del Routing Information Protocol (RIP). • Nos declaramos a nosotros mismos como gw default. • Habilitamos el IP forwarding y seteamos el default gw a la red real. • Todo el tráfico saliente del host pasará por nuestro host. • No podemos recibir tráfico de retorno.

  36. AlgunosSniffers (1) • Tcpdump • http://www.tcpdump.org • Hunt • http://www.cri.cz/kra/index.html • Linux-Sniff • http://packetstorm.securify.com • Sniffit • http://rpmfind.net/linux/RPM/freshmeat/sniffit/index.html • Ethereal • http://ethereal.zing.org

  37. AlgunosSniffers (2) • Snort • http://www.snort.org • Karpski • http://mojo.calyx.net/~btx/karpski.html • Gnusniff • http://www.ozemail.com.au/~peterhawkins/gnusniff.html • Dsniff • http://www.monkey.org/~dugsong

More Related