PENIOT Herramienta Pentesting para IoT
PENIOT Herramienta Pentesting para IoT

PENIOT: Herramienta de Pentesting para IoT

CRÉDITOS NO HEREDADOS

El siguiente contenido es una traducción no oficial del repositorio original (Github) citado al final del artículo. La única intención es la comprensión de la herramienta en idioma español.

¿Qué es PENIOT?

PENIOT es una herramienta de prueba de penetración para los dispositivos de Internet de las cosas (IoT). Te ayuda a probar/penetrar tus dispositivos apuntando a tu conectividad a Internet con diferentes tipos de ataques de seguridad. En otras palabras, puedes exponer tu dispositivo a ataques de seguridad tanto activos como pasivos. Después de decidir el dispositivo objetivo y la información (o los parámetros) necesarios de ese dispositivo, puedes realizar ataques de seguridad activos como la alteración/consumo de recursos del sistema, la reproducción de unidades de comunicación válidas, etc. También puedes realizar ataques de seguridad pasivos, como la violación de la confidencialidad de información importante o el análisis del tráfico. Gracias a PENIOT, todas esas operaciones pueden ser semi-automáticas o incluso totalmente automatizadas. En resumen, PENIOT es un paquete/framework para atacar los dispositivos de IoT con ataques de seguridad basados en protocolos.

Además, te da una estructura de base para tus posteriores inyecciones de nuevos ataques de seguridad o nuevos protocolos de IoT. Una de las características más importantes de PENIOT es ser extensible. Por defecto, tiene varios protocolos comunes de IoT y numerosos ataques de seguridad relacionados con esos protocolos. Pero, puede extenderse aún más a través de la exportación de la estructura básica de los componentes utilizados internamente para que puedas desarrollar tus ataques en armonía con la estructura interna de PENIOT.

¿Por qué se requiere PENIOT?

El paradigma de IoT ha experimentado un inmenso crecimiento en la última década, con miles de millones de dispositivos conectados a la Internet. La mayoría de esos dispositivos carecen incluso de las medidas de seguridad básicas debido a sus limitaciones de capacidad y a los diseños realizados sin tener en cuenta la seguridad debido a la brevedad del plazo de comercialización. Debido a la gran conectividad de IoT, los hackers pueden lanzar fácilmente ataques que tienen efectos devastadores en las redes extendidas a través de dispositivos vulnerables.

Hasta ahora, las pruebas de penetración se hacían manualmente si no se ignoraban en absoluto. Este procedimiento hacía que la fase de prueba de los dispositivos fuera muy lenta. Por otra parte, las empresas que producen dispositivos de IoT deben estar siempre al día en las pruebas de sus dispositivos en términos de fiabilidad, robustez, así como en las funcionalidades que se les proporcionan, ya que estar expuestos a ataques de seguridad por parte de personas malintencionadas podría causar impactos inesperados en los usuarios finales. El principal objetivo de PENIOT es acelerar el proceso de pruebas de seguridad. Te permite descubrir las fallas de seguridad en tus dispositivos de IoT, automatizando la fase de prueba de penetración que consume mucho tiempo.

¿Qué proporciona PENIOT?

En primer lugar, PENIOT proporciona una novedad. Es uno de los primeros ejemplos de herramientas de prueba de penetración en el campo de la IoT. Sólo hay una o dos herramientas similares especializadas en IoT, pero aún están en fase de desarrollo, por lo que no están terminadas todavía.

Dado que el número de dispositivos de IoT está aumentando drásticamente, los dispositivos de IoT se vuelven cada vez más comunes en nuestra vida diaria. Casas inteligentes, bicicletas inteligentes, sensores médicos, rastreadores de aptitud física, cerraduras inteligentes y fábricas conectadas son sólo algunos ejemplos de productos de IoT. Dado esto, sentimos la necesidad de elegir algunos de los protocolos de IoT más comúnmente utilizados para plantar en PENIOT por defecto. Elegimos los siguientes programas como los protocolos de IoT por defecto incluidos en PENIOT. Estos protocolos de IoT son probados con varios tipos de ataques de seguridad como ataques DoS, Fuzzing, Sniffing y Replay.

Actualmente se apoyan los siguientes protocolos:

  • Advanced Message Queuing Protocol (AMQP)
  • Bluetooth Low Energy (BLE)
  • Constraint Application Protocol (CoAP)
  • Message Queuing Telemetry Transport (MQTT)

Por otra parte, permite exportar el mainframe interno de su propio protocolo implementado y los ataques para implementar tus propios protocolos o ataques. Además, puedes ampliar los protocolos ya existentes con tus ataques recién implementados. Y por último, proporciona una interfaz gráfica de usuario fácil de usar.

Instrucciones de Construcción

En primer lugar, necesitas tener el módulo setuptools de Python instalado en tu máquina. También, necesitas instalar python-tk y bluepy antes de instalar y construir.

En resumen, necesitas lo siguiente antes de ejecutar el script de instalación.

  • setuptools
  • python-tk
  • bluepy

Puedes construir el proyecto en tu ordenador local ejecutando los siguientes códigos.

$ git clone git@github.com:yakuza8/peniot.git
$ cd peniot
$ python setup.py install

Incluso si intentamos proporcionarte un script de instalación actualizado, pueden faltar algunas partes en él, ya que el proyecto no puede mantenerse tanto tiempo. Por favor, infórmanos si hay algún problema con la instalación.

Nota importante: Necesitas tener Radamsa instalado en tu máquina para poder generar payloads fuzzing en los ataques fuzzing.

Documentación

Puedes encontrar el Design Overview Document and Final Design Document under en la carpeta resources/documents. Varios diagramas se adjuntan bajo la carpeta resources/diagrams. Aquí está la representación más simple de cómo se separan los módulos de PENIOT y cómo se diseña.

Prueba

La mayoría de los ataques tienen sus propias pruebas de integración de muestra bajo sus scripts de ataque. Para poder ejecutar esas pruebas, es necesario tener un programa de ejecución para el protocolo de destino. Tratamos de proporcionarte programas de ejemplo para cada protocolo donde se pueden encontrar scripts de servidor/cliente bajo el directorio examples de cada protocolo.

Colaboradores

Los siguientes miembros del proyecto contribuyen a este proyecto:

  • Berat Cankar
  • Bilgehan Bingöl
  • Doğukan Çavdaroğlu
  • Ebru Çelebi

y está supervisado por Pelin Angın.

Nota del Desarrollador

En primer lugar, permíteme agradecerte tu visita al sitio del proyecto. Tratamos de proporcionarte cómo se puede penetrar y hackear los dispositivos de IoT a través de los protocolos que utilizan gracias a los ataques de seguridad de extremo a extremo. Nuestro principal propósito es hackear esos dispositivos con ataques de seguridad genéricos. Uno puede simplemente encontrar ataques específicos para cualquier protocolo, pero como dije el nuestro era proveer un framework de penetración genérico y extensible.

En segundo lugar, PENIOT está desarrollado con Python 2.7. Y nuestro código tal vez se ha convertido en un estado de legado. Pero sin embargo, queríamos compartirlo al público para que cualquiera pudiera tener una visión e inspiración para desarrollar sus propias herramientas de penetración, eso es lo que nos hace felices si pudiera suceder.

En tercer lugar, también intentaremos portar nuestra herramienta a Python3 si podemos dedicar el tiempo necesario para ello. Cuando suceda, también lo informaremos desde esta página. Gracias por tu atención.

Desarrollador: @yakuza8 (Berat Cankar)

Póster del Proyecto

Poster de PENIOT
Poster de PENIOT

Más artículos
CloudBrute Impresionante Enumerador de Nubes
CloudBrute: Impresionante Enumerador de Nubes