
Conjunto de ferramentas para testes de segurança de dispositivos da Internet das Coisas usando protocolos IoT de rede 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 ferramentas para teste de segurança de dispositivos da Internet das Coisas usando protocolos: AMQP, CoAP, DTLS, HTCPCP, HTTP, HTTP/2, gRPC, KNX, mDNS, MQTT, MQTT-SN, QUIC, RTSP, SSDP.
O Cotopaxi usa a Licença Pública Geral GNU, versão 2: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
O kit de ferramentas Cotopaxi deve ser usado apenas para testes de segurança autorizados!
Algumas ferramentas (especialmente o testador de vulnerabilidades e o fuzzer de protocolo) podem fazer com que alguns dispositivos ou servidores parem de funcionar conforme o esperado – por exemplo, levando à falha ou congelamento das entidades testadas ou inundando outras entidades com tráfego de rede.
Certifique-se de ter permissão dos proprietários dos dispositivos ou servidores testados antes de executar essas ferramentas!
Certifique-se de verificar as leis locais antes de executar essas ferramentas!
Para instalar a versão mínima do Cotopaxi (sem Machine Learning e ferramentas de desenvolvimento):
pip install cotopaxi
Instalação quase completa (sem scapy-ssl_tls necessário para suporte a DTLS):
pip install cotopaxi[all]
Para documentação mais detalhada sobre instalação, consulte: Guia de Instalação
Se você deseja usar as ferramentas do Cotopaxi a partir do Metasploit, consulte: Integração com Metasploit
O classificador de aprendizado de máquina usado na ferramenta device_identification foi treinado usando o corpus "IMC 2019 payload dataset" fornecido pelos autores do seguinte artigo:
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 Local: Internet Measurement Conference (IMC) 2019 URL: https://moniotrlab.ccis.neu.edu/imc19dataset/
Agradecemos aos autores acima listados por compartilhar este corpus!
Protocolos suportados por diferentes ferramentas (a caixa da esquerda descreve implementação funcional em Python 2 e a da direita para Python 3):
Para documentação mais detalhada de cada ferramenta, consulte: Ferramentas
Vulnerabilidades identificadas pela equipe Cotopaxi, que podem ser testadas usando o Cotopaxi:
Outras vulnerabilidades suportadas pelo Cotopaxi:
Novas vulnerabilidades podem ser facilmente adicionadas ao banco de dados em vulnerabilities.yaml e payloads em cotopaxi/vulnerabilities//<payload.raw>.
Existem alguns problemas ou limitações conhecidos causados pelo uso do scapy como biblioteca de rede:
Veja mais em: https://scapy.readthedocs.io/en/latest/troubleshooting.html#
Para informações mais detalhadas sobre o desenvolvimento do Cotopaxi, consulte: Guia de desenvolvimento
| Ferramenta | 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 | ☐☐ | ☐☐ | ☑☑ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ |