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?