58
#CyberCamp19 PLUG IN THE MIDDLE

Plug in the Middle - CyberCamp · 2020. 4. 28. · • Cambiar contraseas por defecto. • Comprobar si los PLC son vulnerables a K.O.DAK. • Bobinas de choque con buenos filtros

  • 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