
IEEE 802.15.4/ZigBee 보안 연구 툴킷
KillerBee는 ZigBee 및 IEEE 802.15.4 네트워크 테스트 및 감사를 위한 프레임워크이자 도구입니다.
공지
- usb0.x 지원은 더 이상 사용되지 않거나 제거되고 있습니다.
- Apimote v1 지원은 더 이상 사용되지 않거나 제거되고 있습니다.
이 기능이 필요하시면, 사용 사례와 요구 사항을 설명하는 이슈를 생성해 주세요.
KillerBee 3.0.0-beta 업데이트
안녕하세요 여러분, KillerBee에 대한 지속적인 지원과 관심에 감사드립니다.
코드 정리, Python 3 마이그레이션, 기능 추가 및 일관성 향상에 새로운 노력을 기울이면서, 이번 대대적인 개편을 통해 프로젝트의 목표와 용도를 재검토하고 이를 달성하는 최적의 방법을 모색하고 있습니다.
이 노력은 이전 함수와 종속성을 더 이상 사용하지 않고, 기능을 구성하고 확장 가능하게 하기 위해 코드를 재구성하면서 주요 버전 업데이트로 이어질 것입니다.
또한 KillerBee를 구성하는 요소들을 정의하고, KillerBee의 기능을 더 명확히 구분하여 라이브러리로 취급하려는 시도입니다. 이와 관련된 자세한 내용과 향후 목표는 ARCHITECTURE.md를 참조하세요.
BSD 라이선스로 배포됩니다. 자세한 내용은 LICENSE.txt를 참조하세요. 모든 권리 보유.
주요 툴킷은 다음 사람들이 저술했습니다:
프레임워크에 기여해 주신 많은 분들께 감사드립니다. 특히 다음 분들은 기능을 추가해 주셨습니다:
KillerBee는 Linux 시스템에서 개발 및 테스트되었습니다. MacOS 사용은 가능하지만 지원되지 않습니다.
최소한의 소프트웨어 종속성을 사용하기 위해 노력했지만, 설치 전에 다음 Python 모듈을 설치해야 합니다. 설치 과정에서 필요한 항목을 감지하고 안내합니다.
Ubuntu 시스템에서는 다음 명령어로 필요한 종속성을 설치할 수 있습니다:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
Mac OS에서는 다음 명령어로 종속성을 설치할 수 있습니다:
# brew install libusb libgcrypt
# pip3 install pyusb scapy
python-dev와 libgcrypt는 Scapy Extension Patch에 필요합니다.
또한 이는 상당히 고급스럽고 사용자 친화적이지 않은 공격 플랫폼입니다. Cain & Abel이 아닙니다. ZigBee 및 IEEE 802.15.4 네트워크를 공격하는 개발자와 고급 분석가를 대상으로 합니다. 이 프레임워크를 사용하기 전에 ZigBee 프로토콜에 대한 이해(Shahin Farahani의 책 ZigBee Wireless Networks and Transceivers는 합리적이지만 여전히 훌륭하지는 않습니다)와 Python 언어에 대한 친숙함을 먼저 갖추시길 권장합니다.
KillerBee는 표준 Python 'setup.py' 설치 파일을 사용합니다. 종속성이 설치된 후에.
다음 명령어로 KillerBee를 설치하세요:
# python3 setup.py install
KillerBee 코드의 디렉토리 구조는 다음과 같습니다:
KillerBee 프레임워크는 여러 장치를 지원하도록 확장되고 있습니다. 현재 River Loop ApiMote, Atmel RZ RAVEN USB Stick, MoteIV Tmote Sky, TelosB mote, Sewino Sniffer, Silicon Labs Node Test 펌웨어를 실행하는 다양한 하드웨어를 지원합니다.
하드웨어 지원 및 펌웨어 프로그래밍에 대한 자세한 내용은 firmware/README.md를 참조하세요.
Freaklab의 Freakduino(추가 하드웨어 포함)와 Dartmouth arduino sketch, Zigduino 보드에 대한 지원도 가능하지만 유지 관리되지 않으므로 목록에 포함되지 않았습니다.
이를 사용하려면 killerbee/config.py에서 검색을 활성화한 후 KillerBee를 다시 설치해야 합니다.
KillerBee에는 KillerBee 프레임워크를 사용하여 구축된 ZigBee 및 IEEE 802.15.4 네트워크를 공격하기 위한 여러 도구가 포함되어 있습니다. 각 도구는 "-h" 인수로 실행하면 사용법이 문서화되어 있으며, 아래에 요약되어 있습니다.
sample/zigbee-network-key-ota.dcf를 사용하여 이 기능을 시연할 수 있습니다.DISPLAY 변수가 올바르게 설정되었는지 확인하세요.특수한 경우나 안정적이지 않은 추가 도구는 다음 저장소에 저장되어 있습니다: Api-Do 프로젝트 저장소: http://code.google.com/p/zigbee-security/ 및 https://github.com/riverloopsec/beekeeperwids.
KillerBee는 무선 인터페이스 또는 지원되는 패킷 캡처 파일(libpcap)에서 패킷을 스니핑하고, 임의의 패킷을 주입하는 과정을 간소화하도록 설계되었습니다. 또한 IEEE 802.15.4, ZigBee NWK 및 ZigBee APS 패킷 디코더를 포함한 헬퍼 함수도 제공됩니다.
KillerBee API는 epydoc 형식으로 문서화되어 있으며, 이 배포판의 doc/ 디렉토리에 HTML 문서가 포함되어 있습니다. epydoc이 설치되어 있으면 필요에 따라 인쇄용 편리한 PDF도 생성할 수 있습니다:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
pdf/ 디렉토리에는 프레임워크 문서가 포함된 "api.pdf" 파일이 생성됩니다.
KillerBee 프레임워크 사용을 시작하려면 포함된 도구를 살펴보세요(zbdump 및 zbreplay가 시작하기 좋은 예제입니다).
KillerBee는 Python 라이브러리이므로 다른 Python 소프트웨어와도 잘 통합됩니다. 예를 들어, Sulley 라이브러리는 Pedram Amini가 작성한 Python 기반 퍼징 프레임워크입니다. Sulley의 변이 기능과 KillerBee의 패킷 주입 기능을 사용하면 대상에 비정상적인 ZigBee 데이터를 생성 및 전송하는 메커니즘을 간단히 구축할 수 있습니다.
https://github.com/riverloopsec/killerbee/issues 에서 티켓 시스템을 사용해 주세요.
원본 버전은 [email protected]이 작성했습니다. 현재 버전, 수정 사항 등은 [email protected]에서 처리합니다. (모든 기여자/크레딧은 위 목록을 참조하세요.)
기여자/개발자를 위한 자세한 내용 및 지침은 DEVELOPMENT.md를 참조하세요.