Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
#CyberCamp19
PLUG IN THE MIDDLE
PRESENTACIÓN
Alejandro Espinosa
Graduado en Ing. Informática por la UCLM – ESIIAB
Máster en Ciberseguridad por la UOC
Red Team en Ackcent
• Ethical Hacking
• Arquitectura y consultoría
• DFIR
PRESENTACIÓN
Julio Martínez
Graduado en Ing. Informática por la UGR
Máster en Ciberseguridad por la UC3M
Certificado en OSCP y LFCS
Experiencia en hacking ético y despliegue deinfraestructuras de seguridad
Responsable de Gestión de Vulnerabilidadesen Orange España
Índice 1. Introducción 2. Caso real 3. Protocolo HomePlugAV 4. Ataques en Homeplug AV 5. Pruebas de laboratorio 6. Conclusiones
#CyberCamp19
1. Introducción
Alejandro Espionsa Álvarez
¿QUÉ ES UN PLC?
• PLC: Power Line Communications
• Utilizan líneas de transmisión eléctrica para trasmitir señales de comunicación
• Estándar Homeplug AV
ARQUITECTURA DE RED PLC
#CyberCamp19
2. Caso Real
Julio Martínez Martínez-Checa
PROBLEMA LOGÍSTICO
DISPOSITIVO SELECCIONADO • TP Link AV500 Mini Powerline Adapter
ANOMALÍAS
• Después de conectar el PLC la conexión iba más lenta.
• El panel de configuración del router cambiaba de un ISP a otro arbitrariamente.
• ¿Llamamos a Iker Jiménez?
DUAL ISP
SOLAPAMIENTO DEL DEFAULT GATEWAY • Barrido ARP de dispositivos conectados a la red
con Kali Linux netdiscover
• Existen dos Default GW con la misma IP.
CAMBIO DE DIRECCIONAMIENTO • Para no solapar las redes cambiamos el
direccionamiento IP local.
CONTROL DE DOS REDES DOMÉSTICAS • Si asignamos una IP estática dentro del rango
192.168.1.0/24, estaremos dentro de la red del vecino.
• Si, por otro lado, asignamos una IP estática dentro del rango 192.168.2.0/24, estaremos dentro de nuestra red doméstica.
DEFAULT GATEWAY CONTROLADO
PROBLEMA: NETWORK NAME • Utilizamos la herramienta PowerLine Utility de
TP Link.
• El nombre de la red por defecto es “HomePlugAV”
SOLUCIÓN: CAMBIO DE NETWORK NAME
CONCLUSIONES DEL EXPERIMENTO • Interconexión de redes vía PLCs
• El fabricante establece la misma clave en todos los dispositivos Más facilidad de uso (Plug & Play).
• Todos los dispositivos por defecto van a formar parte de la misma red.
• La seguridad recae en el usuario final.
• PLC hacking VS WiFi cracking.
#CyberCamp19
3. Protocolo HomePlug AV
Alejandro Espinosa Álvarez
CAPAS DEL PLC
• Los PLC utilizan las capas 1 y 2 del modelo OSI Estándar IEEE 802.3
CAPA FÍSICA
Voltaje 220V 50 Hz Datos en superposición
REDES (NO TAN) PRIVADAS • Mito Los contadores restringen la
propagación de datos por red eléctrica.
• Realidad No hay bobinas de choque: Se puede saltar de un apartamento a otro dentro del mismo edificio.
COMUNICACIONES
• PC - PLC Comunicación Ethernet Capa 2. No cifrada.
• PLC - PLC Comunicación por red eléctrica. Cifrado AES CBC 128 bits.
AVLN
• AVLN AV Logical Network. Red LAN aislada criptográficamente.
• STA Estación dentro de una AVLN.
• CCo Central Coordinator.
HomePlug AV Keys
Network Membership Key. Permite a una STA autenticarse contra la AVLN.
Device Access Key. Clave única para cada dispositivo, que permite intercambiar la NMK de forma segura
Network Encryption Key. Permite comunicarse de forma cifrada a las STA dentro de una misma AVLN.
Temporary Encryption Key. Clave temporal utilizada durante el mecanismo de intercambio de claves.
GENERACIÓN DE DAK Y NMK La NMK y la DAK se generan de la misma forma. Utilizan Password-Based Derivation Function 1 (PBKDF1):
DAK ó NMK= PBKDF1(P, S, HF, c, dkLen). P la contraseña. S el salt. HF la función hash. c el número de iteraciones. dkLen la longitud del hash (digest).
Se conocen de antemano los parámetros principales:
S = 0x08856DAF7CF58185 para DAK S = 0x08856DAF7CF58186 para NMK HF = SHA-256 c = 1000 dkLen = 16 bytes
GENERACIÓN DE DAK Y NMK • Anotamos la MAC y la Password que aparecen
en la etiqueta.
GENERACIÓN DE DAK Y NMK • En la utilidad del fabricante también se ve esta
información.
GENERACIÓN DE DAK Y NMK • Conociendo la password del dispositivo
podemos generar la DAK con la función PBKDF1.
GENERACIÓN DE DAK Y NMK • Utilizando otra STA introducimos la password
remotamente
GENERACIÓN DE DAK Y NMK • La DAK generada con PBKDF1 es la que el
programa envía.
MÉTODOS DE PROVISIÓN DE NMK 1. El host la proporciona directamente a la STA.
2. Se pasa a la STA utilizando la DAK de la STA.
3. Se pasa utilizando el protocolo Unicast Exchange Key (UKE) menos seguro.
DAK-BASED NMK DISTRIBUTION PROTOCOL
UKE NMK DISTRIBUTION PROTOCOL
PROTOCOLO DE AUTENTICACIÓN
USO DE LAS CLAVES
PBKDF1
Local Device
PBKDF1 (NMK)
Remote Device
PBKDF1 (DAK)
#CyberCamp19
4. Ataques HomePlug AV
Alejandro Espionsa Álvarez
ATAQUES CONOCIDOS
1. Interceptación
2. Ataque LAN
3. Fuerza Bruta a la NMK
4. Ataque K.O.DAK
INTERCEPTACIÓN
1. Escuchar los paquetes enviados por broadcast, realizar un MitM simulando ser el administrador, o spoofear la dirección MAC.
2. Esnifar el paquete “SetEncryptionKey”.
ATAQUE LAN
1. Se configura un dispositivo local sin ninguna DAK.
2. OJO: cualquier dispositivo conectado al switch/router se considera un dispositivo local en la red (no se necesita DAK).
FUERZA BRUTA A LA NMK
1. Realizar fuerza bruta a la NMK utilizando un diccionario.
2. Cambiar la NMK del dispositivo local por la que se ha obtenido del ataque.
3. Enviar el paquete de descubrimiento para comprobar si se ha podido unir a la red.
FUERZA BRUTA A LA NMK
• Un intento 7 segundos
ATAQUE K.O.DAK: PATRÓN DAK • Patrón contraseñas:
[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[A-Z]{4}
• 2616 = 43.608.742.899.428.874.059.776 combinaciones
ATAQUE K.O.DAK: GENERADOR DAK • El programa del fabricante (TP-Link) es capaz
de recuperar la DAK inmediatamente del dispositivo y mostrarla al usuario.
• ¿Cómo es posible recuperar esta clave en menos de un segundo?
ATAQUE K.O.DAK: GENERADOR DAK • Se analizaron las DLL del programa del
fabricante y se vio que las claves se generaban a partir de la dirección MAC.
• Haciendo ingeniería inversa se reconstruyó el algoritmo (válido solo para chips Qualcomm).
EFICIENCIA DE LOS ATAQUES
#CyberCamp19
5. Pruebas de laboratorio
Julio Martínez Martínez-Checa
NUESTRO FORK DE HOMEPLUGPWN HomeplugPWN – Sebastien Dudek Toolkit para ataques en HomePlug AV:
• Implementa ataque K.O.DAK
• Incluye generador de claves DAK y función PBKDF1
• Herramienta de Discovery de STA en la red y CCos ajenos.
• https://github.com/FlUxIuS/HomePlugPWN
HomeplugPWN – Julio Martínez y Alex Espinosa Fork de HomeplugPWN con implementaciones propias añadidas:
• NMKdictionaryAttack.py Implementación de ataque por diccionario a la NMK
• setLocalNMK.py Cambia la NMK a un dispositivo local directamente. Necesario para simular ataque LAN
• Corrección de bugs
• Información de output de scripts existentes mejorada
• https://github.com/julioxus/HomePlugPWN
https://github.com/FlUxIuS/HomePlugPWNhttps://github.com/julioxus/HomePlugPWNhttps://setLocalNMK.pyhttps://NMKdictionaryAttack.py
RESULTADOS
Fabricante Protocolo Velocidad Max. Botón de
emparejamiento
Vulnerable a ataque
LAN NMK/DAK Bruteforce
K.O.DAK
TP-Link TL-PA411 (v.1)
Homeplug AV 500 Mb/s NO SI SI SI
D-Link DHP-P601AV
Homeplug AV2 1000 Mb/s SI SI SI NO
TP-Link TL-PA2010P
Homeplug AV 200 Mb/s SI SI SI SI
TP-Link TL-PA4010P
Homeplug AV 500 Mb/s NO SI SI SI
ATAQUE K.O.DAK: ESCENARIO
ATAQUE K.O.DAK:IMPLEMENTACIÓN
#CyberCamp19
6. Conclusiones
Julio Martínez Martínez-Checa
CONCLUSIONES
• Los dispositivos PLC son vulnerables a diferentes ataques
• Hay poca investigación en este campo
Trabajo futuro
• Investigación vulnerabilidades HomePlug AV2
• Reversing de otros fabricantes
MITIGACIONES • Cambiar contraseñas por defecto.
• Comprobar si los PLC son vulnerables a K.O.DAK.
• Bobinas de choque con buenos filtros.
• Utilizar contraseñas robustas.
• Deshabilitar puertos en el switch.
REFERENCIAS • Dudek, S. (2015). HomePlugAV PLC: Practical
attacks and backdooring.
• Newman, R., Yonge, L., Gavette, S., & Anderson, R. (2007, March). HomePlug AV security mechanisms. In 2007 IEEE International Symposium on Power Line Communications and Its Applications (pp. 366-371). IEEE.
• Puppe, A., Vanderauwera, J., & Bartels, D. J. (2010). Research Project: HomePlug Security.
PREGUNTAS
GRACIAS
@CybercampES @Julioxus @_alexespinosa_ #CyberCamp19
Número de diapositiva 1PRESENTACIÓNPRESENTACIÓNÍndice1.¿QUÉ ES UN PLC?ARQUITECTURA DE RED PLC2.PROBLEMA LOGÍSTICODISPOSITIVO SELECCIONADOANOMALÍASDUAL ISPSOLAPAMIENTO DEL DEFAULT GATEWAYCAMBIO DE DIRECCIONAMIENTOCONTROL DE DOS REDES DOMÉSTICASDEFAULT GATEWAY CONTROLADOPROBLEMA: NETWORK NAMESOLUCIÓN: CAMBIO DE NETWORK NAMECONCLUSIONES DEL EXPERIMENTO3.CAPAS DEL PLCCAPA FÍSICAREDES (NO TAN) PRIVADASCOMUNICACIONESAVLNHomePlug AV KeysGENERACIÓN DE DAK Y NMKGENERACIÓN DE DAK Y NMKGENERACIÓN DE DAK Y NMKGENERACIÓN DE DAK Y NMKGENERACIÓN DE DAK Y NMKGENERACIÓN DE DAK Y NMKMÉTODOS DE PROVISIÓN DE NMKDAK-BASED NMK DISTRIBUTION PROTOCOLUKE NMK DISTRIBUTION PROTOCOLPROTOCOLO DE AUTENTICACIÓNUSO DE LAS CLAVES4.ATAQUES CONOCIDOSINTERCEPTACIÓNATAQUE LANFUERZA BRUTA A LA NMKFUERZA BRUTA A LA NMKATAQUE K.O.DAK: PATRÓN DAKATAQUE K.O.DAK: GENERADOR DAKATAQUE K.O.DAK: GENERADOR DAKEFICIENCIA DE LOS ATAQUES5.NUESTRO FORK DE HOMEPLUGPWNRESULTADOSATAQUE K.O.DAK: ESCENARIOATAQUE K.O.DAK: IMPLEMENTACIÓN6.CONCLUSIONESMITIGACIONESREFERENCIASPREGUNTASGRACIAS