
사물인터넷(IoT) 기기의 보안 테스트를 위한 도구 세트로, 특정 네트워크 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, version 2를 사용합니다: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Cotopaxi 툴킷은 승인된 보안 테스트에만 사용하도록 고안되었습니다!
일부 도구(특히 취약점 테스터 및 프로토콜 퍼저)는 의도된 방식으로 작동하지 않도록 일부 장치나 서버를 중단시킬 수 있습니다.
이러한 도구를 실행하기 전에 테스트 대상 장치 또는 서버 소유자의 허가를 받았는지 확인하십시오!
이러한 도구를 실행하기 전에 현지 법률을 확인하십시오!
최소 Cotopaxi 버전(머신 러닝 및 개발 도구 제외)을 설치하려면:
pip install cotopaxi
거의 완전한 설치(DTLS 지원에 필요한 scapy-ssl_tls 제외):
pip install cotopaxi[all]
설치에 대한 더 자세한 문서는: 설치 가이드
Metasploit에서 Cotopaxi 도구를 사용하려면: 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 개발에 대한 자세한 내용은: 개발 가이드를 참조하십시오.
| 도구 | 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 | ☐☐ | ☐☐ | ☑☑ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ | ☐☐ |