
Программные инструменты для устройств на базе Nordic Semiconductor nRF24, таких как беспроводные клавиатуры, мыши и презентеры
nRF24 Плейсет — это набор программных инструментов для беспроводных устройств ввода, таких как клавиатуры, мыши и презентеры, основанных на трансиверах Nordic Semiconductor nRF24, например nRF24LE1 и nRF24LU1+.
Все программные инструменты поддерживают USB-донглы с nrf-research-firmware от Bastille Threat Research Team (большое спасибо @marcnewlin)
Программный инструмент для проверки концепции, демонстрирующий уязвимости повторной передачи и внедрения нажатий клавиш беспроводной клавиатуры Cherry B.Unlimited AES

Программный инструмент для проверки концепции, демонстрирующий уязвимость внедрения нажатий клавиш некоторых беспроводных клавиатур с AES-шифрованием
Usage:
# python2 keystroke_injector.py --help
_____ ______ ___ _ _ _____ _ _
| __ \| ____|__ \| || | | __ \| | | |
_ __ | |__) | |__ ) | || |_ | |__) | | __ _ _ _ ___ ___| |_
| '_ \| _ /| __| / /|__ _| | ___/| |/ _` | | | / __|/ _ \ __|
| | | | | \ \| | / /_ | | | | | | (_| | |_| \__ \ __/ |_
|_| |_|_| \_\_| |____| |_| |_| |_|\__,_|\__, |___/\___|\__|
__/ |
|___/
Keystroke Injector v0.7 by Matthias Deeg - SySS GmbH (c) 2016
usage: keystroke_injector.py [-h] [-a ADDRESS] [-c N [N ...]] -d DEVICE
optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
Address of nRF24 device
-c N [N ...], --channels N [N ...]
ShockBurst RF channel
-d DEVICE, --device DEVICE
Target device (supported: cherry, perixx)
Программный инструмент для проверки концепции, аналогичный cherry_attack.py, демонстрирующий уязвимости повторной передачи и внедрения нажатий клавиш беспроводного набора Logitech MK520 с AES-шифрованием
Программный инструмент для проверки концепции, демонстрирующий уязвимость внедрения нажатий клавиш беспроводных презентеров Logitech на базе nRF24
Usage:
# python2 logitech_presenter.py --help
_____ ______ ___ _ _ _____ _ _
| __ \| ____|__ \| || | | __ \| | | |
_ __ | |__) | |__ ) | || |_ | |__) | | __ _ _ _ ___ ___| |_
| '_ \| _ /| __| / /|__ _| | ___/| |/ _` | | | / __|/ _ \ __|
| | | | | \ \| | / /_ | | | | | | (_| | |_| \__ \ __/ |_
|_| |_|_| \_\_| |____| |_| |_| |_|\__,_|\__, |___/\___|\__|
__/ |
|___/
Logitech Wireless Presenter Attack Tool v1.0 by Matthias Deeg - SySS GmbH (c) 2016
usage: logitech_presenter.py [-h] [-a ADDRESS] [-c N [N ...]]
optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
Address of nRF24 device
-c N [N ...], --channels N [N ...]
ShockBurst RF channel
Версия с графическим интерфейсом программного инструмента для проверки концепции logitech_presenter.py
Программный инструмент для проверки концепции, демонстрирующий атаки подмены мыши, использующие незашифрованную и неаутентифицированную беспроводную связь мыши
Usage:
# python2 radioactivemouse.py --help
_____ ______ ___ _ _ _____ _ _
| __ \| ____|__ \| || | | __ \| | | |
_ __ | |__) | |__ ) | || |_ | |__) | | __ _ _ _ ___ ___| |_
| '_ \| _ /| __| / /|__ _| | ___/| |/ _` | | | / __|/ _ \ __|
| | | | | \ \| | / /_ | | | | | | (_| | |_| \__ \ __/ |_
|_| |_|_| \_\_| |____| |_| |_| |_|\__,_|\__, |___/\___|\__|
__/ |
|___/
Radioactive Mouse v0.8 by Matthias Deeg - SySS GmbH (c) 2016
usage: radioactivemouse.py [-h] -a ADDRESS -c CHANNEL -d DEVICE -x ATTACK
optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
Address of nRF24 device
-c CHANNEL, --channel CHANNEL
ShockBurst RF channel
-d DEVICE, --device DEVICE
Target device (supported: microsoft, cherry)
-x ATTACK, --attack ATTACK
Attack vector (available: win7_german)
Демонстрационное видео, иллюстрирующее атаку подмены мыши, доступно на YouTube: Radioactive Mouse States the Obvious


Программный инструмент для проверки концепции, демонстрирующий уязвимости повторной передачи различных беспроводных наборов с использованием радиосвязи nRF24 ShockBurst
Usage:
# python2 simple_replay.py --help
_____ ______ ___ _ _ _____ _ _
| __ \| ____|__ \| || | | __ \| | | |
_ __ | |__) | |__ ) | || |_ | |__) | | __ _ _ _ ___ ___| |_
| '_ \| _ /| __| / /|__ _| | ___/| |/ _` | | | / __|/ _ \ __|
| | | | | \ \| | / /_ | | | | | | (_| | |_| \__ \ __/ |_
|_| |_|_| \_\_| |____| |_| |_| |_|\__,_|\__, |___/\___|\__|
__/ |
|___/
Simple Replay Tool v0.2 by Matthias Deeg - SySS GmbH (c) 2016
usage: simple_replay.py [-h] [-a ADDRESS] [-c N [N ...]]
optional arguments:
-h, --help show this help message and exit
-a ADDRESS, --address ADDRESS
Address of nRF24 device
-c N [N ...], --channels N [N ...]
ShockBurst RF channel
Используйте на свой страх и риск. Не используйте без полного согласия всех участников. Только в образовательных целях.