Ethical Hacking: Sniffers

* Este post corresponde a la serie de apuntes del Learning Path «Become an Ethical Hacker» de LinkedIn Learning.
* Todos los comandos mencionados son para ser ejecutados desde Linux a no ser que se diga lo contrario.
* Todas las imágenes están sacadas del curso de Lisa Block

Las fases del análisis de paquetes son: recolección, decode, visualización y análisis

El modelo OSI

El modelo OSI estandariza las funciones de transformación de datos, a través de sus diferentes capas, especificando cómo se encapsulan los datos.

Es importante entender cómo funciona el encapsulado en las diferentes capas del modelo pues el encapsulado se ve de forma clara al analizar el tráfico con Wireshark

Ataques y datos

Los ataques (activos o pasivos) pueden ser contra cualquiera de los servicios de seguridad:

  • Confidencialidad: acceso a los datos sólo por quién tiene autorización
  • Integridad: los datos sólo se modifican por quien está autorizado
  • Disponibilidad: los datos y los servicios están disponibles para los usuarios autorizados
  • Autenticación: verificación de la identidad del usuario o dispositivo (es quién dice ser)

Hay dos tipos básicos de entornos Ethernet:

  • Las redes Wireless 802.11b/g/n actúan como un hub, con lo que podrás ver todo el tráfico que pasa por ellas.
  • En las redes cableadas, habitualmente conectarás contra un switch, con lo que sólo verás tu propio tráfico.
    • Para ver todo el tráfico, los administradores de la red usan Port Mirroring o SPAN (Switched Port Analyzer), o un adaptador especial para modo full-duplex.

Hoy en día, la mayoría del tráfico continúa siendo IPv4 pero cada vez más iremos viendo IPv6

Ataques MAC

macof attack

La CAM (content-addressable memory) de un switch es la tabla que mapea direcciones MAC a un puerto del switch. El ataque inunda la CAM con registros falsos y al final el switch no sabe dónde tiene que enviar los datos, con lo que entra en modo «fail-open» y pasa a actuar como un hub.

En Kali el comando macof, sin parámetros, realizará el ataque. El comando debe estar todo el rato ejecutándose, de lo contrario el switch podría recuperarse.

Yersinia para ataques STP y CDP

Yersinia puede aprovechar la vulnerabilidades en algunos protocolos de la capa de enlace del modelo OSI, como STP, CDP, DTP, DHCP, HRSP, ISL, VTP, 802.1Q o 802.1x, con lo que es una herramienta para ataques sobre la misma LAN.

El Spanning-Tree Protocol (STP) se usa porque en una LAN suele haber varios switches conectados, y es la forma de mantener la red sin bucles, eliminando los enlaces redundantes. Yersinia permitiría hacer un DoS usando BPDU (Bridge Protocol Data Units) flood.

Yersinia también puede explotar vulnerabilidades del Cisco Discovery Protocol (CDP) para inundar las tablas CDP de sus vecinos causándoles un DoS o para descubrir la topología de la red.

Spoofing a MAC address

Otra opción es cambiar nuestra MAC por la MAC de una víctima para poder sniffar todo el tráfico que iba a ir a la víctima, hacindo un MITM.

Defendiéndose contra ataques MAC

Se debería usar «switchport port security» en los switches para limitar el número de direcciones MAC a usar en cada puerto del switch y evitar el ataque macof.

En dispositivos CISCO, se puede usar SourceGuard para filtrar mapeados IP-MAC en los que se confía, evitando MAC spoofing (pero el hacker podría falsear entonces tanto IP como MAC).

Se debe considerar deshabilitar CDP. Respecto a STP, deberíamos habilitar Portfast y configurar BPDU-guard el qual deshabilita la opción de recibir BPDUs en ese puerto

DHCP

DHCP usa los puertos 67/68 UDP (Server/Client). El proceso DORA para asignar una IP consta de cuatro fases, todas manteniendo la misma TransactionID:

  • Discover: broadcast a la red pidiendo una nueva IP (mi IP es 0.0.0.0 porqué no tengo una asignada)
  • Offer: el server ofrece una dirección IP
  • Request: le digo al server que me parece bien la IP que me ha ofrecido
  • Acknowledgment: el server nos confirma que ahora tenemos esa dirección IP

Con Yersinia se puede lanzar un DHCP Starvation Attack – DoS, para básicamente enviar múltiple paquetes DHCPDiscover con MAC inexistentes para agotar las direcciones IP disponibles.

Un host malicioso en la LAN puede hacer de «Rogue DHCP Server» para proporcionar a los clientes información falsa, por ejemplo para que usen un default gw o un DNS server malicioso, dando pie a un MITM. Yersinia también ofrece esta funcionalidad.

DHCP no tiene autenticación. Un cliente no tiene forma de saber que el servidor DHCP no sea malicioso, ni viceversa. Hay varias formas de protegerse ante ataques:

  • Implementar VLAN Access Control List (VACL) en los switches.
  • En entornos Windows, se puede autorizar a un server DHCP en Active Directory para que pueda empezar a dar direcciones a los clientes.
  • Dynamic ARP inspection para rechazar paquetes ARP no válidos o maliciosos.
  • DHCP Snooping, manteniendo una base de datos de información aprendida por puerto.

ARP

El Address Resolution Protocol (ARP) se usa para resolver una IP a una MAC, sólo en LANs.

En Kali, tenemos ettercap que se usa para MITM. Para usarlo, deberemos primero habilitar el ip forwarding para que el tráfico de la víctima pase a través nuestro sin que se entere. Para ello iniciaremos ettercap en modo gráfico y añadiremos la IP del gateway y de la víctima para iniciar el MITM. Posteriormente, podríamos lanzar un SSL strip para obtener información como credenciales.

ARP Spoofing (aka «ARP cache poison») al ser stateless, se pueden enviar replies ARP y serán aceptadas. Con ésto se quiere conseguir un MITM entre una víctima y el gateway. Se puede usar arpspoof que viene como parte de dsniff en Kali:

# Habilitar IP Forwarding para que el tráfico pueda ir a través de tu máquina
echo 1 > /proc&sys/net/ipv4/ip_forward

# Spoof the victim that the hacker's MAC is the gateway
arpspoof -t victim gateway

# Spoof the gateway to believe we are the victim
arpspoof -t gateway victim

Podemos protegernos ante ataques ARP con snort, ARP Spoof Preprocessor, arpalert, arpwatch o arpon. Para Windows tenemos XArp.

DNS

DNS usa el puerto 53/UDP para resoluciones y 53/TCP para transferencias de zona. Hay dos tipos de queries DNS, recursivas e iterativas. Con las recursivas, si el servidor no encuentra el resultado, irá a buscarlo a otros servidores. Hay dos tipos de servidores DNS:

  • Authoritative: contiene un conjunto maestro de datos que publica datos DNS. Sólo se actualiza cuando hay un cambio en estos datos.
  • Non-authoritative: servidor cache.

Cada cliente mantiene una cache con los registros DNS consultados no expirados. Se puede comprometer la DNS envenenando la cache (DNS Spoofing), o mejor aun, cambiando los registros en un Authoritative Server.

Podemos protegernos:

  • Manteniendo los servers DNS actualizados.
  • Habilitando cache locking si los servidores DNS son Windows.
  • Separando los servidores de cache de los authoritative.
  • Protegiendo los DNS resolvers que pueda tener tu red.

Herramientas y técnicas

Al sniffar tráfico, también se pueden capturar imágenes con tools como urlsnarf, webspy, drifnet o directamente con WireShark.

Las cabeceras HTTP incluyen mucha información, tanto sobre el cliente como sobre el servidor. Hay webs tipo web-sniffer.net que hacen la request por nosotros.

tshark es la herramienta ligera de línea de comandos para sniffar tráfico y guardarlo en un fichero que posteriormente podemos importar a WireShark.

También hay sniffers para usar desde dispositivos móviles como tPacketCapture, debugProxy o WiFinspect APK.

Omnipeek es una herramienta propietaria para Windows con múltiples funcionalidades además del sniffing.

En Linux además, tenemos tcpdump, ettercap o dsniff. Para Windows está Networks Monitor, y online CloudShark.

Defensa contra el sniffing

  • Deshabilitar puntos de red de áreas comunes.
  • Usar cifrado para email, transacciones web o incluso para configurar dispositivos.
  • AntiSniff detecta si un nodo de la red está en modo promíscuo.
  • ARPwatch monitoriza la cache ARP.
  • Snort es un IDS que cuenta con un preproceso arpspoof que puede usarse para detectar instancias de ARP Spoofing.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *