miércoles, 1 de octubre de 2014

OSSIM 20. Wireless IDS Kismet y prueba de concepto de ataque.Parte 1.


En el capítulo de hoy de Inseguros sobre la serie OSSIM vamos a hablar de Kismet.
(1234567 , 89 101112 1314.,15, 16 ,17 18, 19)



Kismet es un sistema de detección de intrusos wireless. No me refiero a monitorizar la red wifi con snort, y detectar los ataques de la red cableada ( brute force, exploit,etc), sino detectar específicamente los ataques que se producen sobre la infraestructura wifi.


Para ponernos en situación, mejor leer el manual oficial de Kismet para saber que tipos de ataques detecta, lo que serían las "reglas" de snort/modsec/etc.




    Alert name:       NETSTUMBLER
    Alert type:       Fingerprint  
    Alert on:         Netstumbler probe requests
    WVE:              WVE-2005-0025
    Alert name:       DEAUTHFLOOD
    Alert type:       Trend
    Alert on:         Deauthenticate/Disassociate Flood
    WVE:              WVE-2005-0019
                      WVE-2005-0045
                      WVE-2005-0046
                      WVE-2005-0061
    Alert name:       LUCENTTEST
    Alert type:       Fingerprint  
    Alert on:         Lucent link test  
    Alert name:       WELLENREITER
    Alert type:       Fingerprint
    Alert on:         Wellenreiter SSID brute force attempt
    WVE:              WVE-2006-0058
    Alert name:       CHANCHANGE
    Alert type:       Trend  
    Alert on:         Previously detected AP changing to a new channel
    WVE:              WVE-2005-0019
    Alert name:       BCASTDISCON
    Alert type:       Fingerprint
    Alert on:         Broadcast disconnect/deauthenticate
    WVE:              WVE-2005-0019
                      WVE-2005-0045
                      WVE-2005-0046
                      WVE-2005-0061
    Alert name:       AIRJACKSSID
    Alert type:       Fingerprint
    Alert on:         SSID of 'airjack'
    WVE:              WVE-2005-0018
    Alert name:       PROBENOJOIN
    Alert type:       Trend
    Alert on:         Clients probing for networks, being accepted by that
                      network, and continuing to probe for networks.
    Alert name:       DISASSOCTRAFFIC
    Alert type:       Trend
    Alert on:         Traffic from a source within 10 seconds of a
                      disassociation
    WVE:              WVE-2005-0019
                      WVE-2005-0045
                      WVE-2005-0046
                      WVE-2005-0061
    Alert name:       NOPROBERESP
    Alert type:       Fingerprint
    Alert on:         Probe response packet with 0-length SSID tagged 
                      parameter
    WVE:              WVE-2006-0064
    Alert name:       BSSTIMESTAMP
    Alert type:       Trend
    Alert on:         Invalid BSS timestamps indicative of an access point 
                      being spoofed.
    WVE:              WVE-2005-0019
    Alert name:       MSFBCOMSSID
    Alert type:       Signature
    Alert on:         MAC src address used as CPU instructions by MSF when 
                      exploiting the Broadcom SSID overflow
    WVE:              WVE-2006-0071
    Alert name:       LONGSSID
    Alert type:       Signature
    Alert on:         SSID advertised as greater than IEEE spec of 32 bytes
    Alert name:       MSFDLINKRATE
    Alert type:       Signature
    Alert on:         Beacon frame with over-long 802.11 rates tag containing
                      exploit opcodes
    WVE:              WVE-2006-0072
    Alert name:       MSFNETGEARBEACON
    Alert type:       Signature
    Alert on:         Large beacon frame containing exploit opcodes
    Alert name:       DISCONCODEINVALID | DEAUTHCODEINVALID
    Alert type:       Signature
    Alert on:         Unknown / reserved / invalid reason codes in deauth and
                      disassoc packets
    
Como puedes observar, son los clásicos ataques Wifi.

Para realizar este despliegue he optado por instalar el sniffer wifi, Kismet, en una máquina independiente. El motivo es que OSSIM está instalado sobre Vmware y como todos sabemos, Vmware no es buen amigo de los interfaces Wifi.


Es un Kali con una tarjeta de red wifi. La típica máquina P4 2,4ghz 512 Mb. Pero que funciona de lujo.


Lo que vamos a hacer es integrar dos "opciones" de Kismet con OSSIM. Una serán las alertas cuando se produzcan los ataques. Otra opción será documentar nuestra infraestructura Wifi obtenida con Kismet, para el inventario de áctivos. Un requisito de la famosa PCI- DSS es monitorizar la red wifi, algo que me parece perfecto.


Lo primero que hacemos en el servidor OSSIM es habilitar el tráfico de logs desde el sensor e indicarle la ubicación de los mismos en local:


if $fromhost == 'ip_wids' then /var/log/kismet.log
&~

Ahora habilitamos el envio desde el WIDS hacia Ossim:

echo "*.* @ip_ossim > /etc/rsyslog.d/wids_alienvault.conf
Service rsyslog restart en ambos extremos.

Con esto ya podemos ver los logs del sistema WIDS en ossim mediante un tail a la ruta indicada.

El siguiente paso es ejecutar Kismet en el Wids y comprobar que tenemos actividad.

/usr/bin/kismet_server -t kismet -f /etc/kismet/kismet.conf 2>&1 | logger -t kismet -p local7.1

Si nos devuelve a bash, no ha funcionado. 
Vamos a configurar alguna cosa más en el kismet.conf, como:

Descomentamos ncsource=wlan0 o cualquiera que sea el nombre de tu adaptador wifi.
gps=false.
Cambiamos el prefíjo de los logs:
logtemplate=/var/log/kismet/%n_%D-%i.%l

Aprovechamos este momento para editar la regla apspoof=Foo... en donde cambiamos el nombre y cambiamos el ssid "Foobar" por el nombre de un ap que esté en nuestro alcance. De esta manera vamos a comprobar que como no hemos cambiado la mac que aparece, al detectar el AP y no coincidir con la mac proporcionada, nos generará una alarma.
En el proceso normal de uso debemos añadir una regla por cada AP que tenga un nombre SSID distinto. Si es el mismo, basta con añadir mas direcciones mac mediante una coma.

La alerta generada sería así:

Oct  1 08:34:06 localhost kismet: ALERT: APSPOOF Unauthorized device (C8:D7:19:FB:67:01) advertising for SSID 'MySSID', matching APSPOOF rule Foo2 with SSID which may indicate spoofing or impersonation.

Lanzamos un ataque DOS Deauth. Comprobamos que Kismet detecta el ataque.

airodump-ng wlan0 -> anotamos un bssid y su channel.
iwconfig wlan0 channel x > ponemos nuestra tarjeta en el mismo canal.
aireplay-ng --deauth 0 -a bssid wlan0



Espero que os guste el artículo. En el siguiente episodio terminaremos con la 
integración en OSSIM. Gracias por leerme.