Ampliando el arsenal de ataque Wi-Fi
David Pérez [email protected]
José Picó [email protected]
www.layakk.com
@layakk
2
Agenda
Introducción
Herramientas
lk_wiclitatoo.py
lk_wifi_device_finder.py
lk_hostapd
lk_k2db.py
HW: Sonda Wi-Fi controlable remotamente
HW: Antentas robotizadas
lk_servo_system.py
lk_pantilt.py
lk_wifi_antenna_automatic_pointer
Conclusiones
4
Contexto
Pruebas de intrusión WiFi
Tipo de prueba: “caja negra”
Prioridad: no ser detectados
Para el investigador surgen necesidades específicas a este
tipo de pruebas
Se hace necesario desarrollar herramientas ad-hoc que
cubran esas necesidades
5
Objetivo
Presentar y explicar las herramientas que hemos
desarrollado para cubrir algunas necesidades que nos han
surgido
Poner las herramientas a disposición de la comunidad, con
el fin de que sean útiles a otros investigadores:
http://www.layakk.com/es/lab.html
7
Probe Request
Petición enviada por el cliente preguntando por un ESSID concreto
o por cualquier ESSID.
Enviada en todos los canales, secuencialmente.
Los APs de las redes interrogadas responderán informando de sus
características.
No suelen suceder cuando el cliente ya está conectado a una red.
Detección de clientes
Visualización de clientes Wi-Fi
Probe Requests
Probe Response
8
Actividad
Tramas de datos, control, y gestión (aparte de probes).
Las direcciones MAC nunca van cifradas.
Detección de clientes
Visualización de clientes Wi-Fi
Tramas de datos/control/gestión
BSSIDMAC
9
Herramienta escrita en Python
Muestra clientes de interés
Permite definir clientes de interés atendiendo a:
MAC, BSSID, ESSID
Interfaz de usuario: consola de texto
Disponible en:
http://www.layakk.com/es/lab.html
lk_wiclitatoo.py
Visualización de clientes Wi-Fi
12
Localización de puntos de acceso
En ocasiones es necesario conocer la ubicación de un AP:
Para montar ataques contra el AP
Para escuchar tráfico de red desde la mejor ubicación posible
Para identificar dispositivos cliente conectados al AP
Tipo de herramienta más útil:
Interfaz de terminal Controlable remotamente mediante
conexión 3G
Realimentación con sonido al usuario Para no tener que mirar el
terminal y poder acercarnos al mismo sin llamar la atención
16
A veces, diferentes clientes responden de diferentes formas
AP falso con filtro por fabricante
http://www.willhackforsushi.com/presentations/PEAP_Shmoocon2008_Wright_Antoniewicz.pdf
AP
falso
RADIUS
falso
(ej: freeradius-wpe)
Certificado
digital
falso
17
Característica deseada: filtrar por fabricante del cliente
AP falso con filtro por fabricante
AP
falso
freeradius-wpe
Certificado
digital
falso
Buenos días. Así que es
usted del fabricante X…
…pues me temo que voy
a tener que ignorarle
18
Parche para hostapd (*)
Añade funcionalidad de filtro por fabricante:
vendor_acl=0
# 0 = accept unless in deny list
# 1 = deny unless in accept list
vendor_to_mac_file=/usr/share/wireshark/manuf
accept_vendor_file=/etc/hostapd.vendor.accept
deny_vendor_file=/etc/hostapd.vendor.deny
Disponible en:
http://www.layakk.com/es/lab.html
lk_hostapd
AP falso con filtro por fabricante
(*) http://w1.fi/hostapd/
Creación de información de
inteligencia
lk_k2db.py
Identificación y correlación de dispositivos
cliente y APs.
21
Inventario detallado de APs:
ESSID, BSSID, Autenticación, cifrado, etc.
Inventario detallado de clientes visibles:
MAC, Redes a las que hace probe, fabricante, etc.
Relaciones interesantes:
Clientes que se conectan a las redes consideradas de interés ataques basados en suplantación de AP
Clientes que se conectan a las redes de interés pero que además se conectan a otras redes ( públicas o personales ) ataques basados en MiTM
Otros datos de interés: momento en el tiempo en el que se ve el terminal (first_seen, last_seen), etc.
En el entorno de las instalaciones del objetivo…
Información de inteligencia WiFi
22
kismet puede obtener esta información, pero…
Cuando tienes decenas de miles de APs y cientos de miles de clientes no es manejable consultar la información anterior: se necesita una herramienta que conteste a cosas como:
¿Qué clientes se han conectado a alguna red de “el Objetivo”?
¿Qué clientes WiFi relacionados con “el Objetivo” se conectan a otras redes?
¿Qué clientes se conectan a una red de “el Objetivo” protegida y también a una desprotegida ?
¿Qué APs adicionales son candidatos a pertenecer a “el Objetivo”?
…
¿De dónde obtener esta información?
Información de inteligencia WiFi
23
Extracción de la información a partir de capturas Kismet
Herramienta de extracción y análisis de información de
inteligencia WiFi
Información de inteligencia WiFi
BBDD
Herramientas de consulta
a la BBDD para obtener la
información deseada
27
Mirar una pantalla
NO mirar una pantalla
Teclear
NO teclear
Llevar auriculares puestos
NO llevar con auriculares puestos
Estar quieto mucho tiempo
NO estar quieto mucho tiempo
Según el entorno, puede resultar sospechoso:
Sonda Wi-Fi controlable remotamente
28
Solución (parcial): equipo Wi-Fi con control remoto
Sonda Wi-Fi controlable remotamente
INTERNET
3G
3G
VPN
SERVER
VPN
29
Para aumentar el alcance se puede:
Aumentar ganancia de la antena por directividad
Aumentar potencia de emisión
Aumentar sensibilidad de recepción
Otro problema: maximizar el alcance
Sonda Wi-Fi controlable remotamente
Tarjeta Wi-Fi
externa
Amplificador
bidireccional
Antena
directiva
37
Robotización de antena En entornos donde es necesario orientar una antena
direccional para obtener el mejor nivel de señal posible,
pero en los que se pretende no ser detectados, no es
viable realizar manipulación manual (es muy sospechoso)
38
Robotización de antena En entornos donde es necesario orientar una antena
direccional para obtener el mejor nivel de señal posible,
pero en los que se pretende no ser detectados, no es
viable realizar manipulación manual (es muy sospechoso)
Se hace necesario un sistema:
con capacidad para orientar la antena de forma remota
con un interfaz de terminal (conexión por 3G)
silencioso
fácilmente reconfigurable
40
Librería python
Configurable mediante fichero JSON
configuración, parametrización y calibración
Preparada para añadir código para otros servocontroladores
Utilidad de control de una estación pan/tilt
Robotización de antena
41
>Demo_
Librería python
Configurable mediante fichero JSON
configuración, parametrización y calibración
Preparada para añadir código para otros servocontroladores
Utilidad de control de una estación pan/tilt
Robotización de antena
46
Conclusiones
El hecho de que una herramienta no esté publicada no
significa que no exista o que no pueda fabricarse.
Cualquier herramienta que técnicamente es posible, debe
considerarse como existente en el arsenal de los atacantes
En muchas ocasiones, los ataques vía Wi-Fi siguen
suponiendo un punto de entrada “externo” viable a las
organizaciones
La seguridad de las redes Wi-Fi debe basarse en su
configuración, y no depender únicamente del área de
cobertura
47
Referencias
Referencias externas
https://www.kismetwireless.net/
http://www.secdev.org/projects/scapy/
http://www.willhackforsushi.com/presentations/PEAP_Shmoocon2
008_Wright_Antoniewicz.pdf
http://w1.fi/hostapd/
Herramientas y documentación
http://www.layakk.com/es/lab.html
http://blog.layakk.com
Ampliando el arsenal de ataque Wi-Fi
David Pérez [email protected]
José Picó [email protected]
www.layakk.com
@layakk