Категория > Новости > GSM Ducky. Делаем BadUSB с управлением по сотовой связи - «Новости»
GSM Ducky. Делаем BadUSB с управлением по сотовой связи - «Новости»18-06-2021, 00:00. Автор: Тимур |
Злой HID» и «Злая утка с дистанционным управлением» дают исчерпывающее руководство, как собрать и запрограммировать BadUSB и модифицировать его, добавив ESP8266. Модуль Wi-Fi предоставляет нам огромное преимущество в виде удаленного управления устройством и создания скриптов на лету. Бесспорно, управление через веб‑интерфейс — это крутая модификация. Но за удобство нужно платить, в этом случае скрытностью. Созданная устройством точка доступа может выдать факт работы устройства, а бетонные стены и малый радиус зоны Wi-Fi не дадут пользователю удалиться на расстояние больше ста метров от девайса (это в лучшем случае). В сегодняшней статье мы раздвинем физические границы использования BadUSB.Выбор железаЧто, если оборудовать Arduino модулем не ESP8266, а SIM800L? Конечно, суть BadUSB останется неизменной: устройство подключается к порту USB компьютера для выполнения команд скрипта. Однако отличие от простого BadUSB заключается в том, что после присоединения скрипт не выполнится. Его необходимо будет послать в виде SMS. Это даст преимущество не только в дистанции, c которой можно управлять устройством удаленно, но и в используемом оборудовании: хватит кнопочного телефона с SIM-картой. Чтобы еще немного снизить себестоимость устройства, можно заказать все необходимые детали с AliExpress. Нам понадобятся следующие вещи:
SIM800LArduino Pro MircoUSB — microUSB Теперь давай приступим к сборке самого устройства. Работаем ручкамиСхема соединения контактов двух плат проводами выглядит следующим образом:
ARDUINO <---->SIM800L
RAW <----->VCC
GND <----->GND
15 <----->TXD
14 <----->RXD
Антенна из комплекта SIM800L подойдет любая. Если это антенна‑спираль, то ее необходимо припаять к контакту NET модема. Чтобы сэкономить место, я выберу плоскую антенну и прикреплю ее к контакту IPX. infoПитание модуля SIM800L очень капризно. Разрешенное напряжение составляет от 3,4 до 4,4 В. Поэтому, если ты используешь не Arduino Pro Micro или выходное напряжение не попадает в промежуток значений, указанный выше, советую ознакомиться со статьей Robotchip. В ней подробно описано, как корректно подвести питание к модулю SIM800L. Собранное устройство Останавливаться на сборке подробно я не буду. Уверенно орудуя паяльником, цепляем провода к обеим платам по схеме. Скажу лишь одно: если ты дальше собираешься продолжать свои эксперименты с BadUSB, то лучше воспользоваться макетной платой. Тогда сборка устройства превратится в игру с конструктором Lego. Достаточно будет припаять ножки к используемым контактам Arduino и SIM800L, установить девайсы на макетную плату и соединить их между собой проводами. Настраиваем окружениеLinux или Windows? Решать тебе! Arduino IDE есть под обе операционные системы. В моем случае при подключении Arduino определилось как SparkFun LilyPad USB. Определение Arduino в ОС Linux Далее скачиваем Arduino IDE с официального сайта под свою ОС (в моем случае это Kali Linux). После установки необходимо выбрать устройство, которое мы будем программировать, и порт, к которому оно подключено. Сразу скажу, что, если ты используешь Linux, загрузить код на плату с первого раза может и не получиться. Тогда необходимо прописать в командной строке Linux следующее (где Выбор платы для правильной компиляции кодаВыбор порта, к которому подключено устройствоПосле подключения устройства к USB-порту модем ищет ближайшую базовую станцию оператора SIM-карты, которую ты используешь в SIM800L (в верхнем углу модуля SIM800L находится светодиод, который показывает состояние сотовой сети). Есть три состояния индикатора: мигает раз в 1 с — модуль работает, но еще не подключился к сотовой сети; мигает раз в 2 с — запрошенное соединение для передачи данных GPRS активно; мигает раз в 3 с — модуль установил связь с сотовой сетью и может отправлять или получать голосовые сообщения и SMS. Прогаем мозгиВ отличие от девайса с модулем Wi-Fi, в нашей версии BadUSB будет программироваться только модуль Arduino. SIM800L выступит как часть канала передачи, которая обрабатывает получаемые от базовой станции сигналы GSM. Результатом работы (в зависимости от отправленной модулю SIM800L команды) будет текстовая информация, выведенная в COM-порт. Рассмотрим основные команды библиотеки этого модуля, с которыми будем работать. Общаться с модулем SIM800L можно через COM-порт с помощью текстовых команд. Их перечень огромен, поэтому приведу в качестве примера только те, которые будут задействованы.
infoDatasheet по SIM800L Итак, приступим к созданию кода. Логически его можно разделить на две части. Первая — обработка данных, получаемых от модуля SIM800L, и «выуживание» полезной нагрузки из SMS. Вторая — эмуляция модулем Arduino нажатий клавиш, отправляемых через USB-порт компьютеру. Основу второй части составил код, написанный Spacehuhn и переработанный мной. Перейти обратно к новости |