Introducción al pentesting IoT

Introducción al pentesting IoT

Tiempo de lectura estimado: 5 minutos


Esta conferencia magistral pertenece al Módulo 9 “Pentesting” de C1b3rWall Academy 2021/2022. El objetivo de la misma es conocer de qué está formado un test plan de un dispositivo IoT.

Conceptos clave

Dispositivos IoT: Aquellos dispositivos de la “vida cotidiana” con capacidad de conectarse a otros dispositivos, servidores, nube, etc. Lo integran la parte de hardware y software y a la hora de auditar un dispositivo IoT debemos hacerlo en ambas.

Hardware: Nos referimos a la manipulación directa y física del aparato, carcasa, vías conexiones, componentes, voltajes, encapsulados… el objetivo es la extracción del firmware accediendo mediante las interfaces de depuración y modificar el hardware para realizar posibles ataques

Software: Explotación tradicional de un sistema operativo, firmware, binarios, permisos e interfaces. Se busca la explotación de servicios, del kernel y filtraciones de información sensible.

El objetivo final es encontrar donde reside la información y determinar las conexiones entre componentes, cómo se conectan entre ellos y descubrir por dónde atacarlos. En el laboratorio tendremos un dispositivo IoT, nuestra máquina y entre medias una interfaz hardware. Atentaremos contra la confidencialidad del dispositivo, contra la disponibilidad de esa información o contra la integridad del dispositivo.

Metodología

Para realizar el ataque seguimos las siguientes fases:

  • Identificación los componentes
    • Identificar componentes clave, microprocesadores y memorias.
    • Identificar interfaces de depuración (Serie, JTAG).
    • Lidiar con la ofuscación y las técnicas anti-reversing.

  • Adquisición de los datasheets
    Una vez obtenida la información de los componentes la volcaremos en bases de datos públicas y páginas de fabricantes. Donde más se suele prestar atención es en el mapa de memoria para hacer reversing.
  • Mapeado de los pinouts
    En los manuales técnicos (datasheet) también conseguiremos el mapa de los pinouts si nos lo proporciona el fabricante. Otras maneras son con un polímetro, con un programador específico o con analizadores lógicos (Saleae).

  • Esquemas, amenazas y test plan

Una vez entendido el circuito y los componentes corroboramos las comunicaciones entre ellos, es decir, detectar qué puntos son atacables y se le realiza un pentesting tradicional. Además se intenta extraer el firmware completo para hacer reversing y crear versiones maliciosas o backdoors. Otro bloque de pruebas es el fuzzing.

El pentesting se hace sobre servicios que normalmente suelen estar expuestos, como servidores web (subida arbitraria de archivos, inyección de comandos, path  transversal) Android Debug Bridge (control del dispositivo), UPNP (Disclosure - Leaks, fuzzing, port mapping) y otros (TELNET, SSH).


¿Todavía no formas parte de C1b3rWall Academy? El contenido es gratuito, únete a otras 30.000 personas desde este enlace.

                   

Si te interesa este tema, puedes consultar la información y cursar el Máster en Ciberseguridad o ver la oferta de másteres desde aquí.


Ponente: Pablo López

Pentester y analista de ciberseguridad en DEKRA. Realiza evaluaciones de seguridad contra dispositivos IoT, firmwares e investiga y desarrolla técnicas de fuzzing para protocolos automative y otros.

¿Cuál es tu reacción?

like

dislike

love

funny

angry

sad

wow

Acción formativa gratuita en ciberseguridad. Web: https://c1b3rwallacademy.usal.es/