Teensy 2.0 Bad USB
Software:
1. Arduino IDE (https://www.arduino.cc/en/software)
2. Teensyduino (https://www.pjrc.com/teensy/td_download.html)
3. Paensy (https://github.com/Ozuru/Paensy)
Installation:
1. Arduino 2.0
1. Переходим в "File - Preferences" и вставляем строку https://www.pjrc.com/teensy/package_teensy_index.json
в поле "Additional boards manager URLs" (Все прочие урлы записываются через запятую в формате `url1,url2,url3,..,urln`):
2. Заходим в Arduino IDE, переходим в "Tools - Board - Boards Manager" и устанавливаем пакет для плат Teensy:
2. Windows Graphic Installation
1. Устанавливаем и запускаем графический установщик (https://www.pjrc.com/teensy/td_158/TeensyduinoInstall.exe).
Поддерживаются версии Arduino IDE только те, что указаны в первом окне установщика!
Setting Up:
1. Paensy Library
1. Качаем с гитхаба архив, распаковываем его и копируем директорию PaensyLib в директорию Arduino/libraries (cтандартная: C:\Program Files (x86)\Arduino\libraries):
2. В гитхаб репозитории лежат примеры пэйлоадов, копируем один из них и вставляем в созданный в Arduino IDE скетч.
3. Вставляем плату (Должна мигать) и задаем следующие параметры нашей платы:
Board: "Teensy 2.0"
USB Type: "Keyboard + Mouse + Joystick"
CPU Speed: "16 MHz"
Keyboard Layout: "US English"
Port: {Ваш Порт}
4. Жмем Verify, если ошибок нет, загружаем скрипт в плату кнопкой Upload:
Script:
Зачастую в инструментах типа Bad USB используются так называемые ванлайнеры(OneLiner). Найти многие ванлайнеры вы можете в гитхаб репозитории Nishang(https://github.com/samratashok/nishang). Концептуально, если выбирать между CMD и Powershell, все советуют выбирать второе. Все потому, что при использовании сценария Powershell, для жертвы пэйлоад отрабатывает в несколько раз незаметней. В скрипте выше выставляется общая задержка и после задержки в полторы секунды открывается Win+R, куда вводится строка, которая подгружает и запускает внешний Powershell сценарий.
Ниже указаны некоторые функции, знание которых может быть полезно, если вы собираетесь писать собственные сценарии для Bad USB:
SetDelay(int); – Настройка общей задержки для всех задач в проекте;
PerformInitDelay(); – Начальная задержка для инициализации USB устройства (По умолчанию равна значению, которое указывается в SetDelay);
RunCommand(string); – Открывает окно Run (Win+R) и запускает через него указанный в аргументе код;
delay(int); – Настройка разовой задержки в данном участке кода;
HideCurWindow(int); – Скрывает текущее открытое окно;
AddUser("user", "pass"); – Добавляет нового пользователя;
PressKey(int key, int amount); – Нажимает указанную клавишу необходимое количество раз;
TypeLn(string); – Вводит текст из аргумента и нажимает Enter;
Alt(int key)/Ctrl(int key)/Shift(int key); – Имитируют нажатия комбинаций клавиш в зависимости от названия функции. В аргументе указывается нужная в комбинации клавиша.
Building:
Если во время проведения атаки мы по каким-либо причинам не можем сами получить физический доступ во внутренний физический периметр объекта, нам необходимо как-то замаскировать плату под предмет, который может заинтересовать жертву, для того, чтобы та, в свою очередь, доставила нагрузку за нас.
Пример
После сборки другого инструмента у меня остался кейс от модема. На самом деле, можно использовать любой предмет, в котором в качестве одного из участников есть какой-нибудь из USB штекеров, зачастую используются штекер USB-папа.
Вариантов маскировки много, на примере ниже используется другая плата, но потенциально, даже рассматриваемую Teensy 2.0 можно упаковать внутрь кейса от модема. Главное - щедро залить всю внутреннюю конструкцию из клея пистолета, дабы избежать замыкания и тряски внутренних компонентов.
Конструкция:
1. Микрокомпьютер Raspberry PI Pico(Teensy 2.0)
2. Micro USB 4-pin Connector
Заключение:
После окончания сборки, перед включением, крайне рекомендую обзвонить мультиметром всю конструкцию, чтобы потом не пришлось покупать новые компоненты. Общая цена конструкции вышла около тысячи рублей, что, в целом, не так дорого, учитывая, что Bad USB зачастую используется исключительно как расходный материал.
Писал статью и крафтил вместе с вами Bad USB – E1tex!
Мой канал про похек:TRY FCK HARDER!