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.