
Conjunto de herramientas para pruebas de seguridad de dispositivos del Internet de las Cosas (IoT) utilizando protocolos de red IoT específicos.
.d8888b. 888 d8b
d88P Y88b 888 Y8P
888 888 888
888 .d88b. 888888 .d88b. 88888b. 8888b. 888 888 888
888 d88""88b 888 d88""88b 888 "88b "88b 'Y8bd8P' 888
888 888 888 888 888 888 888 888 888 .d888888 X88K 888
Y88b d88P Y88..88P Y88b. Y88..88P 888 d88P 888 888 .d8""8b. 888
"Y8888P" "Y88P" "Y888 "Y88P" 88888P" "Y888888 888 888 888
888
888
888
Conjunto de herramientas para pruebas de seguridad de dispositivos del Internet de las Cosas que utilizan los protocolos: AMQP, CoAP, DTLS, HTCPCP, HTTP, HTTP/2, gRPC, KNX, mDNS, MQTT, MQTT-SN, QUIC, RTSP, SSDP.
Cotopaxi utiliza la Licencia Pública General de GNU, versión 2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
¡El conjunto de herramientas Cotopaxi está diseñado para ser utilizado únicamente en pruebas de seguridad autorizadas!
Algunas herramientas (especialmente el probador de vulnerabilidades y el fuzzer de protocolo) pueden hacer que algunos dispositivos o servidores dejen de funcionar como se espera – por ejemplo, provocando que las entidades probadas se bloqueen o se cuelguen, o inundando otras entidades con tráfico de red.
¡Asegúrese de tener permiso de los propietarios de los dispositivos o servidores probados antes de ejecutar estas herramientas!
¡Asegúrese de consultar las leyes locales antes de ejecutar estas herramientas!
Para instalar la versión mínima de Cotopaxi (sin Machine Learning ni herramientas de desarrollo):
pip install cotopaxi
Instalación casi completa (sin scapy-ssl_tls necesario para soporte DTLS):
pip install cotopaxi[all]
Para documentación más detallada sobre la instalación, consulte: Guía de instalación
Si desea utilizar las herramientas de Cotopaxi desde Metasploit, consulte: Integración con Metasploit
El clasificador de Machine Learning utilizado en la herramienta device_identification se entrenó con el corpus "IMC 2019 payload dataset" proporcionado por los autores del siguiente artículo:
Título: Information Exposure for Consumer IoT Devices: A Multidimensional, Network-Informed Measurement Approach Autores: Jingjing Ren, Daniel J. Dubois, David Choffnes, Anna Maria Mandalari, Roman Kolcun, Hamed Haddadi Lugar: Internet Measurement Conference (IMC) 2019 URL: https://moniotrlab.ccis.neu.edu/imc19dataset/
¡Agradecemos a los autores mencionados anteriormente por compartir este corpus!
Protocolos compatibles con las diferentes herramientas (el cuadro izquierdo describe la implementación funcional en Python 2 y el derecho en Python 3):
| Herramienta | AMQP | CoAP | DTLS | HTCPCP | HTTP/2 | gRPC | KNX | mDNS | MQTT | MQTT-SN | QUIC | RTSP | SSDP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| service_ping | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ |
| server_fingerprinter | ☐☐ | ☑☑ | ☑☑ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ |
| device_identification | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☐ | ☐☐ | ☐☐ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ |
| traffic_analyzer | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ | ☐☑ |
| resource_listing | ☐☐ | ☑☑ | N/A | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☑☑ | ☐☐ | ☐☐ | N/A | ☑☑ | ☑☑ |
| protocol_fuzzer | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ |
| client_proto_fuzzer | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ |
| vulnerability_tester | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ |
| client_vuln_tester | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ | ☑☑ |
| amplifier_detector | N/A | ☑☑ | ☑☑ | N/A | N/A |
Para documentación más detallada de cada herramienta, consulte: Herramientas
Vulnerabilidades identificadas por el equipo de Cotopaxi, que pueden probarse usando Cotopaxi:
Otras vulnerabilidades compatibles con Cotopaxi:
Se pueden agregar nuevas vulnerabilidades fácilmente a la base de datos en vulnerabilities.yaml y cargas útiles en cotopaxi/vulnerabilities//<payload.raw>.
Hay algunos problemas o limitaciones conocidos causados por el uso de scapy como biblioteca de red:
Consulte más en: https://scapy.readthedocs.io/en/latest/troubleshooting.html#
Para obtener información más detallada sobre el desarrollo de Cotopaxi, consulte: Guía de desarrollo
| N/A |
| N/A |
| ☑☑ |
| N/A |
| ☑☑ |
| ☑☑ |
| N/A |
| ☑☑ |
| active_scanner | ☐☐ | ☐☐ | ☑☑ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ |