
Набор инструментов для тестирования безопасности устройств Интернета вещей с использованием определенных сетевых протоколов IoT
.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
Набор инструментов для тестирования безопасности устройств Интернета вещей с использованием протоколов: AMQP, CoAP, DTLS, HTCPCP, HTTP, HTTP/2, gRPC, KNX, mDNS, MQTT, MQTT-SN, QUIC, RTSP, SSDP.
Cotopaxi использует GNU General Public License, версия 2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Инструментарий Cotopaxi предназначен только для авторизованного тестирования безопасности!
Некоторые инструменты (особенно тестер уязвимостей и фаззер протоколов) могут привести к тому, что некоторые устройства или серверы перестанут работать должным образом — например, к сбою или зависанию тестируемых объектов или затоплению других объектов сетевым трафиком.
Убедитесь, что у вас есть разрешение от владельцев тестируемых устройств или серверов перед запуском этих инструментов!
Убедитесь, что вы ознакомились с местными законами перед запуском этих инструментов!
Для установки минимальной версии Cotopaxi (без машинного обучения и инструментов разработки):
pip install cotopaxi
Почти полная установка (без scapy-ssl_tls, необходимого для поддержки DTLS):
pip install cotopaxi[all]
Более подробную документацию по установке см.: Руководство по установке
Если вы хотите использовать инструменты Cotopaxi из Metasploit, см.: Интеграция с Metasploit
Классификатор машинного обучения, используемый в инструменте device_identification, был обучен на корпусе «IMC 2019 payload dataset», предоставленном авторами следующей статьи:
Название: Information Exposure for Consumer IoT Devices: A Multidimensional, Network-Informed Measurement Approach Авторы: Jingjing Ren, Daniel J. Dubois, David Choffnes, Anna Maria Mandalari, Roman Kolcun, Hamed Haddadi Место проведения: Internet Measurement Conference (IMC) 2019 URL: https://moniotrlab.ccis.neu.edu/imc19dataset/
Мы хотели бы поблагодарить вышеупомянутых авторов за предоставление этого корпуса!
Протоколы, поддерживаемые различными инструментами (левый столбец описывает работающую реализацию на Python 2, а правый — на Python 3):
Более подробную документацию по каждому инструменту см.: Инструменты
Уязвимости, выявленные командой Cotopaxi, которые можно протестировать с помощью Cotopaxi:
Другие уязвимости, поддерживаемые Cotopaxi:
Новые уязвимости можно легко добавить в базу данных в vulnerabilities.yaml и полезные нагрузки в cotopaxi/vulnerabilities//<payload.raw>.
Существуют некоторые известные проблемы или ограничения, вызванные использованием scapy в качестве сетевой библиотеки:
Подробнее см.: https://scapy.readthedocs.io/en/latest/troubleshooting.html#
Более подробную информацию о разработке Cotopaxi см.: Руководство по разработке
| Tool | 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 | N/A | N/A | ☑☑ | N/A | ☑☑ | ☑☑ | N/A | ☑☑ |
| active_scanner | ☐☐ | ☐☐ | ☑☑ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ |