• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Делаем BADUSB из Ардуино

Я по рофлу flipper zero купил, там есть фишка badusb по блютузу, тоесть эмуляция беспроводной клавиатуры. Такую-же штуку можно собрать на ардуино. Вобще тема прикольная.

По bluetooth не пробовал, не знаю, но с обычными беспроводными клавиатурами у меня получалось такое удалённое нажатие кнопок.
Типа badusb, только беспроводное и без usb. Всё по той же схеме: Кнопка Win-R -> коммандная строка -> скрипт на повершелле
Почти во всех беспроводных клавиатурах используется радиомодуль NRF24. Его легко найти и он очень дешёвый. В крайнем случае его можно всегда вынуть из любой беспроводной клавиатуры.
Через этот радимодуль и происходит передача нажатий кнопок.
Ещё этот радиомодуль достаточно дальнобойный, в клавиатурах его мощность намеренно ограничивается чтобы влезть в нормативы по радиоизлучениям.
Срабатывает примерно на одной из пяти беспроводных клавиатур, которые попадут в радиус действия NRF24, на которых нет проверки подключения левой клавиатуры и на которых совпадёт стандарт передачи нажатых кнопок.
Выглядит просто удивительно - нажал кнопку в месте с кучно расположенными компами, на нескольких компах установился локер, который запрыгнул в компы по воздуху.
К ардуинкам, ESP32 и тому подобным платам подключается легко. Именно на ESP32 и собирал.
На этом же модуле собираются аппаратные кейлоггеры для беспроводных клавиатур
Более продвинутый вариант это иммитация работы этого радиомодуля с помощью SDR трансивера HackRF. Получится больший охват разных типов клавиатур.

Статья по Badusb интересна будет кому-нибудь, стоит ли начинать писать ?
Основной упор там будет на то как вытянуть малварь из устройства и установить на комп.
В паблике вроде этого нет, там везде в примерах скрипт на повершелле, который что-то там с инета качает.
 
4. Командой keyboard.println без альт кодов набирается команда: keyboard.println("powershell -enc base64code...."

То есть альт кодами набирается только небольшая часть. Если набирать всю строку альт кодами то это будет слишком медленно. Комадная строка там довольно крупная, в несколько килобайт.
Так а смысл? Если например в момент атаки стоит любая раскладка отличная от US, ардуинка наберет кракозябры сразу после cmd.

Сейчас делаю устройство с другой стратегией работы: "по-быстрому всунул, вынул, и побежал дальше". Подключили устройство к usb входу компа/телефона, подождали минуту, вынули кабель - всё готово. Здесь уже ограничен форм-фактором сигаретной пачки, под которую маскируется устройство. Можно больше встроить разного электронного функционала: GSM/GPS shield, wifi (можно воткнуть устройство в usb разъём на материнской плате и спрятать внутри системного блока. По wifi/инету нажимать кнопки, отправлять лог и т.д.) и многое другое
Статья по Badusb интересна будет кому-нибудь, стоит ли начинать писать ?

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

У меня тоже есть своя реализация, с блекджеком и шлюхами, тут описывать не буду, также оформлю статейку пожалуй.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
У меня тоже есть своя реализация, с блекджеком и шлюхами
Шлюх альт кодами приманиваешь? ))
 
Так а смысл? Если например в момент атаки стоит любая раскладка отличная от US, ардуинка наберет кракозябры сразу после cmd.
Там смысл в том, что после запуска cmd выставится раскладка текущей локали.
Вот прямо сейчас можно попробовать: нажимаем Win-R, набираем cmd. Открылось окно командной строки - там будет по умолчанию включена альтернативная раскладка, в подавляющем большинстве случаев. Далее нажимаем в этом окне Alt-Shift - так получаем консольное окно со всегда включенной EN раскладкой.
Поэтому сначала набирается альт кодами "cmd", чтобы получить окно с заранее известной раскладкой.
И в этом ответ на вопрос, зачем там запуск cmd когда можно сразу вызвать "powershell -enc aaaaa".

С консольным окнами так получается почти всегда.
С gui окнами такой закономерности уже не наблюдается, может как EN раскладка открыться, так и альтернативная. Поэтому сразу в Win-R набирать нельзя.
И с окном Win-R ещё и вторая проблема есть - там командная строка короткая, не более 250 символов или около того.


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

Тогда начинаю потихоньку пилить статью.
Badusb на ардуино, вариант с хранением малвари внутри устройства. Без скачивания с инета.
При этом малварь никогда не дропается на диск, а находится только в памяти компа, всё происходит в fileless режиме.
Нет такого что, например, в папку %temp% дропается файл 123.exe и запускается оттуда.
Весь процесс заражения происходит без касания жёсткого диска.
В паблике вроде этого нету, нигде похожей темы не нашёл. Там везде в примерах обычно powershell скрипт, качающий что-то с инета.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
бэдюсб может определить ОС на хосте
Сама ардуина не может, но если чуть подумать, то host side script вполне должен справиться.

PowerShell:
Код:
Add-Type -TypeDefinition @"
    using System;
    using System.IO.Ports;
    public class SerialPortCommunication
    {
        public static void SendData(string portName, string message)
        {
            SerialPort port = new SerialPort(portName, 9600);
            port.Open();
            port.WriteLine(message);
            port.Close();
        }
    }
"@
$osInfo = [System.Environment]::OSVersion.VersionString
[SerialPortCommunication]::SendData("COM3", $osInfo)

Arduino:
Код:
void setup() {
  Serial.begin(9600);
  while (!Serial);
}
void loop() {
  if (Serial.available()) {
    String os = Serial.readString();
    Serial.print("Operating System: ");
    Serial.println(os);
  }
}
 
Сама ардуина не может, но если чуть подумать, то host side script вполне должен справиться.
Не, я про то что можно различать винду, линукс, мак
 
Пожалуйста, обратите внимание, что пользователь заблокирован


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх