Herramienta para iniciarse en test de penetración de dispositivos IoT
Internet de las cosas (inglés, IoT Internet of Things) es un concepto reciente en tecnologías de la computación, que combina tecnologías consolidadas como: internet, capacidad de procesamiento de información de dispositivos autónomos y procesamiento analítico de datos masivos. La amplitud de que define el paradigma de IoT depende del objetivo que desee lograr con su implementación, que puede abarcar un serie de dispositivos que tienen capacidad de conexión y poder computacional para realizar tareas automatizadas, o también como dispositivos que solo interactúan a través de estímulos externos y que no tiene ninguna función de procesamiento. La arquitectura de IoT se puede ver en 3 capas: una capa de percepción o hardware, una capa de comunicación o red y una capa de interfaces o servicios. De esa forma, los elementos que componen un sistema IoT son hardware, protocolos y servicios de comunicación.
Durante las últimas dos décadas, la comunidad de seguridad ha estado luchando contra programas maliciosos basados en sistemas Windows. Sin embargo, el reciente aumento en la adopción de Linux embebidos en dispositivos y la revolución de IoT están cambiando rápidamente el paisaje de los ciberataques. Los dispositivos integrados son profundamente diferentes a las tradicionales computadoras personales. De hecho, mientras las computadoras personales funcionan predominantemente en arquitecturas x86, sistemas embebidos funcionan en una variedad de arquitecturas diferentes.
Los débiles estándares de seguridad de los dispositivos IoT liberaron malware de Linux en los últimos años. Telnet expuesto y servicios ssh con contraseñas predeterminadas, firmware obsoleto o vulnerabilidades del sistema, todo eso son formas de permitir que los atacantes construyan botnets de miles de dispositivos integrados comprometidos.
Ragnar es una herramienta para iniciarse en test de penetración de dispositivos IoT. Tiene una interfaz de línea de comando. Se puede utilizar como una aplicación independiente, pero también permite la integración en otras herramientas a través de llamadas de sus métodos. Es de código abierto para soportar cambios en sus rutinas y adaptaciones de sus pruebas a problemas más específicos y para ayudar a las personas que están aprendiendo a hacer test de penetración de dispositivos IoT, por lo que tiene descripciones documentadas de sus métodos.
Módulos
Interfaz web (WebI)
Solo requiere una dirección de interfaz para comenzar a recopilar información.
Realiza pruebas de penetración mediante:
- Establecer conexiones con las interfaces proporcionadas
- Prueba la interfaz y recopila los datos necesarios.
- Analizando el campo x-frame-options para Clickjacking
- Busca páginas de inicio de sesión estándar y analiza su código
- Intenta insertar consultas SQL codificadas en las URL y en cada campo detectado
- Permite la adición manual de caminos
- Intenta generar cualquier respuesta del Sistema de gestión de bases de datos (DBMS) \ cite {su2006essence}.
- Realiza una búsqueda recursiva de rutas y campos de formulario.
- Cubre los intentos XSS persistentes y reflejados.
- Para cada ruta y campo, intenta insertar cadenas de JavaScript
- Utiliza varias codificaciones para evitar el filtrado de detección dinámica
- Utiliza una técnica conocida como exploración ACK para evitar y detectar cualquier firewall de aplicación web (WAF) existente
Servicio de red (netServ)
Rutina de prueba de penetración:
- Comprueba puertos abiertos y detección de servicios disponibles
- Aplica un enfoque de escaneo SYN
- También puede reconocer la presencia de WAF
- Realiza ataques fuzzing generados aleatoriamente en todos los servicios identificados
- Realiza ataques fuzzing dirigidos en los puertos conocidos
Criptografía (transCrypt)
Ejecuta análisis centrados en los protocolos de seguridad utilizados para establecer enlaces cifrados entre el servidor y un cliente.
Prueba de rutina:
- Describe los protocolos de seguridad permitidos
- Verifica el protocolo predeterminado utilizado por el servidor
- Clasificando su conjunto de cifrado y proporcionó bits de seguridad.
- Comprueba el uso de Perfect Forward Secrecy y los cifrados usados.
Para admitir el uso en diferentes sistemas operativos y también para simplificar el código, se utiliza Python 2.7 como lenguaje de desarrollo para realizar las pruebas de penetración seleccionadas. Esta opción también se hizo para permitir que cualquier persona con habilidades de programación adapte el código y lo reutilice para otros casos más recientes con facilidad.
Más información y descarga de Ragnar:
1 pensamiento sobre “Herramienta para iniciarse en test de penetración de dispositivos IoT”