Наши продукты

Все продукты →
  • Подписка на «Хакер»

    Все статьи, архив, PDF выпуски и бонусы при покупке товаров

    6000₽ в год

    Подписаться
  • Предзаказ четвертого печатного выпуска «Хакера»

    лучшее август..ноябрь 2026

    2000₽

    Заказать
  • Третий печатный выпуск «Хакера»

    лучшие материалы мая..июля 2026

    2000₽

    Заказать
  • Печатный спецвыпуск №4.

    Лучшие материалы 2021-2022 годов

    2000₽

    Заказать
Я пос­тоян­но вижу компь­юте­ры без прис­мотра, к которым так и хочет­ся подой­ти и ввес­ти какую‑нибудь полез­ную — от сло­ва «пей­лоад» — коман­ду. Но делать это вруч­ную дол­го и нек­расиво. А что, если соб­рать прос­тое устрой­ство USB, которое будет уве­рен­но косить под безобид­ную кла­виату­ру? Имен­но так я и пос­тупил.

Как извес­тно, компь­ютер свя­то верит все­му, что сооб­щает под­клю­чен­ное устрой­ство. Поэто­му он может при­нять мое устрой­ство за кла­виату­ру и счи­тывать с него дан­ные, хотя на самом деле это не она. Я мас­кирую устрой­ство под HID (Human Interface Device) — точ­нее, под кла­виату­ру.

К клас­су HID отно­сят­ся USB-устрой­ства для вза­имо­дей­ствия с челове­ком: кла­виату­ры, мыши и игро­вые кон­трол­леры. Сегод­ня соберем такое устрой­ство и наделим его обратной сов­мести­мостью со скрип­тами для Flipper Zero и USB Rubber Ducky. Но сна­чала взгля­нем на аль­тер­нативы.

 

Утки из чужого сарая

Что, если ничего не мас­терить, а вмес­то это­го купить готовое устрой­ство? Это воз­можно. Нач­нем с про­фес­сиональ­ных решений, а закон­чим DIY-плат­форма­ми.

 

Flipper Zero

Пер­вый в спис­ке, конеч­но же, зна­мени­тый Flipper Zero.

Вещь, безус­ловно, инте­рес­ная, но лич­но мне не хва­тает некото­рых фун­кций. Глав­ная проб­лема — даже прос­тей­шая защита анти­виру­са рушит все пла­ны, а стан­дар­тный API не поз­воля­ет лег­ко ее обой­ти. Для бай­паса приш­лось бы писать собс­твен­ный интер­пре­татор скрип­тов, чего совер­шенно не хочет­ся. Но есть и огромный плюс: Flipper Zero вво­дит пей­лоад в разы быс­трее дру­гих решений. Для моих целей это очень хорошо, одна­ко Flipper Zero сто­ит недеше­во, поэто­му такой вари­ант я отбро­сил.

 

USB Rubber Ducky

Не менее инте­рес­ная шту­ка коман­ды Hak5. Пос­ле покуп­ки сра­зу чувс­тву­ешь себя чле­ном пра­витель­ствен­ной APT-груп­пиров­ки.

За отдель­ные день­ги в ком­плект мож­но добавить IDE для написа­ния пей­лоадов, кар­манное руководс­тво или даже целый онлайн‑курс. Есть и инте­рес­ные фун­кции. Нап­ример, такая флеш­ка может опре­делить вер­сию опе­раци­онной сис­темы, выпол­нить нуж­ный код для Windows или macOS или вооб­ще отклю­чить­ся, если цель не соот­ветс­тву­ет усло­виям.

Есть и неболь­шой минус: сме­нить пей­лоад на лету нель­зя. При­дет­ся под­клю­чить флеш­ку к сво­ему ком­пу и переки­нуть на нее файл с новым пей­лоадом. Да и сто­ит такая игрушка недеше­во. На офи­циаль­ном сай­те «утка» сто­ит от 100 до 230 бак­сов плюс дос­тавка. В Рос­сию ее, судя по все­му, не дос­тавля­ют. Даже китай­ский мар­кет­плейс не спа­сает: цены там не куса­ются, а сра­зу отгры­зают конеч­ности.

Товары Hak5
То­вары Hak5
 

Arduino, ESP, Digispark и прочие

Есть еще инте­рес­ные плат­формы и мик­рокон­трол­леры вро­де Arduino, ESP и Digispark. Я работал со все­ми ними и могу объ­яснить, почему в этот раз выб­рал не их.

 

Arduino

Ве­щица хорошая, но не каж­дая пла­та подой­дет для наших задач. К тому же при сме­не наг­рузки Arduino при­дет­ся каж­дый раз переп­рошивать — при­вет, паяль­ник и прог­рамма­тор USB. А для удоб­ного добав­ления новых скрип­тов понадо­бит­ся модуль SD, который сто­ит денег и уве­личи­вает раз­меры устрой­ства.

Из плю­сов — активное сооб­щес­тво и мно­жес­тво поль­зователь­ских биб­лиотек. Конеч­но, кому‑то удоб­нее и при­выч­нее писать для Arduino на C++, но лич­но мне пос­ле зна­комс­тва с Raspberry Pi воз­вра­щать­ся не хочет­ся.

Ес­ли тебе бли­же Arduino, глянь статью «Очень пло­хая флеш­ка. Раз­бира­ем ата­ку BadUSB в деталях». Но выбор за тобой, мой друг.

 

ESP

По боль­шому сче­ту это та же Arduino, толь­ко на боль­шинс­тве плат есть встро­енный Wi-Fi. На такой пла­те мож­но сде­лать веб‑сер­вер и управле­ние с телефо­на. Прог­рамми­рует­ся она так же, на C-подоб­ном язы­ке. Одна­ко стан­дар­тные пла­ты ESP8266 и ESP32 нам­ного боль­ше, чем Arduino Pro Micro или наша «малин­ка».

 

Digispark

Са­мый малень­кий, но и самый спор­ный вари­ант. Почему? Во‑пер­вых, пла­та очень ком­пак­тная, а зна­чит, мес­та для нор­маль­ной обвязки и допол­нитель­ных модулей быс­тро перес­тает хва­тать. Язык прог­рамми­рова­ния такой же — похожий на C, с набором фун­кций для управле­ния пла­той.

Из плю­сов отме­чу ште­кер USB Type-A. В этом отли­чие пла­ты: у осталь­ных вари­антов — USB Type-C или MicroUSB. На мой взгляд, на этом плю­сы закан­чива­ются.

Ког­да я поль­зовал­ся Digispark, про­шив­ка уста­нав­ливалась не с пер­вого раза, да и скрипт работал мед­ленно. Впро­чем, воз­можно, мне прос­то попал­ся бра­кован­ный экзем­пляр, но не будем об этом.

Прог­рамма для этих плат устро­ена инте­рес­но: в ней дол­жны быть две фун­кции — void setup() и void loop(). Пер­вая выпол­няет­ся один раз при запус­ке, а вто­рая пов­торя­ется в бес­конеч­ном цик­ле. В осталь­ном язык похож на C.

 

А если не микроконтроллеры?

Де­сять лет назад Антон Жуков, быв­ший редак­тор руб­рики «Взлом», написал статью «Гад­кий уте­нок. Прев­раща­ем обыч­ную флеш­ку в USB Rubber Ducky».

Спо­соб, конеч­но, инте­рес­ный, но, на мой взгляд, силь­но уста­рел: при таком под­ходе каж­дый раз при­дет­ся менять пей­лоад через про­шив­ку. Кто‑то ска­жет, что ему хва­тит и одно­го пей­лоада, но лич­но меня такой вари­ант сов­сем не устра­ивает.

 

Выбираем базу

Что ж, ана­логи обсу­дили, перей­дем к инку­бации нашей утки.

За осно­ву возь­мем YD-RP2040. Ты спро­сишь: «А на фига не ори­гинал?» Отве­чу: ори­гинал дороже, а памяти в нем мень­ше — 2 Мбайт про­тив 16 Мбайт. В качес­тве экра­на возь­мем OLED-дис­плей 128 × 64 на кон­трол­лере SSD1306. Он дешевый и чуть шире нашей пла­ты, а глав­ное — отлично под­ходит для про­екта. Добавим дешевых двух­контак­тных кно­пок. Мож­но еще взять макет­ную пла­ту, пол­зунко­вый перек­лючатель и акку­муля­тор LiPo, но об этом чуть поз­же.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии