Как сделать плохую флешку

Обновлено: 25.06.2024

Многие из вас даже не знают о моем существовании здесь, на Null Byte, поэтому я подумал о том, чтобы внести что-то довольно интересное. Недавно кто-то спросил, как сделать свой собственный «Плохой USB», и я пообещал сделать инструкцию на эту тему. Кроме того, было бы неплохо иметь что-то связанное с нашим миром WonderHowTo. Так вот!

Введение

Большинство распространенных USB-накопителей подвержены атакам из-за уязвимости BadUSB. Это позволяет нам, хакерам, перепрограммировать микроконтроллер в них, чтобы он действовал как устройство интерфейса пользователя (HID), например, клавиатуру, и выполнять пользовательские нажатия клавиш на нашей целевой машине. Этот сценарий часто называют «атакой HID Payload», так как вам нужно передать свой сценарий на плохой USB для выполнения (подробнее об этом позже). Несмотря на то, что почти каждый USB-накопитель можно взломать, единственный доступный метод перепрограммирования предназначен для микроконтроллеров «Phison».

В этом руководстве мы собираемся определить микроконтроллер вашего USB-накопителя, скомпилировать исходный код, опубликованный на GitHub, для необходимых нам инструментов и перейти к созданию пользовательской прошивки со встроенной полезной нагрузкой HID, которая превратит нашу безобидный USB-накопитель во вредоносную клавиатуру, предназначенную для того, чтобы помочь нам скомпрометировать нашу машину-жертву. Этот процесс похож на компиляцию и прошивку ПЗУ на ваше устройство Android.

Как сделать свой плохой USB

Требования

  • Нам нужно работать с Windows.
  • Также нам потребуется флешка USB 3.0 с микроконтроллером Phison 2303 (2251-03). Вы можете найти список известных поддерживаемых устройств на GitHub. В этом руководстве я буду использовать накопитель Toshiba TransMemory-MX USB 3.0 емкостью 8 ГБ.

Иногда наличие подтвержденного устройства не означает, что PS2251-03 действительно используется, поскольку производители, похоже, используют разные контроллеры даже для одних и тех же моделей устройств.

  • Убедитесь, что вы можете открыть корпус USB-устройства, не повредив его. Одному из моих друзей пришлось буквально распилить свое USB-устройство, потому что он слишком торопился. Прочтите раздел «Перевод устройства в «режим загрузки» вручную» в конце этой статьи, чтобы узнать, как его открыть.

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

Определение микроконтроллера нашего USB-накопителя

Прежде чем начать, мы хотим убедиться, что наш USB использует поддерживаемый контроллер. Мы можем использовать программу Flash Drive Information Extractor для сбора необходимой информации о нашем USB.

Не требует установки. Просто откройте инструмент и нажмите кнопку «Получить информацию о USB-накопителе», когда USB-накопитель вставлен в компьютер. Если в вашем накопителе используется контроллер Phison 2303 (2251-03), вывод должен выглядеть примерно так:

Как сделать свой плохой USB

Однако, если ваше USB-устройство имеет другое устройство, скорее всего, вы не сможете перепрограммировать его на HID-устройство с помощью этого эксплойта. Не забудьте проверить известные поддерживаемые устройства, чтобы получить то, которое будет работать.

Настройка среды сборки

Разработчик кода рекомендует нам использовать любую версию Microsoft Visual Studio 2012 или более позднюю для компиляции инструментов и SDCC для создания собственной прошивки. Загрузка Visual Studio, вероятно, займет несколько часов и не может быть приостановлена, поэтому убедитесь, что у вас достаточно времени. Он также требует несколько гигабайт на вашем основном диске, около 10 ГБ на моем SSD, что раздражает.

Загрузка и компиляция исходного кода

Чтобы изменить наш поддерживаемый USB-накопитель, нам нужно создать инструменты, которые взаимодействуют с ним. Исходный код опубликован на GitHub Адамом Каудиллом. На самом деле Visual Studio поставляется с удобной функцией, которая позволяет нам клонировать весь репозиторий. Вы даже можете взаимодействовать с VS с сайта GitHub:

Как сделать свой плохой USB

Как сделать свой плохой USB

После клонирования и открытия репозитория. Скорее всего, вы увидите три решения.

  • ДрайвКом
  • Встроить полезные данные
  • Инжектор

Нам понадобятся только DriveCom и EmbedPayload. Если он открыт, вы можете скомпилировать с помощью Ctrl + Shift + B или Панель меню – Сборка – Сборка решения.

Если вы не можете клонировать репозиторий с помощью Visual Studio, загрузите файл .zip с GitHub и откройте файлы .sln в каждой папке решений. DriveCom и EmbedPayload должны находиться в . Каталог \Psychson\tools теперь: E:\Documents\Bad_USB\Psychson\tools.

Как сделать свой плохой USB

Получение образа записи

Для создания дампа и прошивки микропрограммы на диске требуется "образ записи". Обычно они называются с использованием соглашения «BNxxVyyyz.BIN». Образы записывающих устройств для контроллеров Phison можно найти здесь. Несмотря на то, что сайт доступен только на русском языке, вы найдете ссылку для скачивания, если просканируете сайт в поисках «BN03». BN подразумевает образ горелки, а 03 соответствует PS2251-03. Я распаковал файлы в E:\Documents\BadUSB\Burner_Image\.

Каждый образ записи должен выполнять свою работу, но вы можете использовать самую новую версию, на которую указывает часть имени "Vyyy".

Загрузить Duck Encoder

Duck Encoder – это кроссплатформенный инструмент на основе Java, который преобразует сценарии в полезные данные HID. Он основан на Bad-USB под названием «Rubber Ducky» от Hak5. Вы можете скачать это здесь. (Не забудьте установить Java.) Я сохранил его в E:\Documents\Bad_USB\DuckEncoder\.

Создание пользовательской прошивки

На этом все наши приготовления завершены, и мы можем продолжать использовать инструменты. На этом шаге нам просто нужно перейти к нашему . \Psychson\firmware\ и запустите build.bat. Если все пойдет правильно, вы увидите новую папку с множеством разных файлов внутри.

Как сделать свой плохой USB

Файл fw.bin — это файл, который мы будем использовать в следующей полезной нагрузке.

Написание сценария

Вы можете спросить себя, на каком языке мы будем писать наш сценарий. Поскольку Duck Encoder основан на «Rubber Ducky», мы будем использовать «Duckyscript» в качестве языка. Синтаксис довольно прост. Более подробные инструкции можно найти здесь.

Мы продолжим и создадим файл .txt в предпочитаемом нами каталоге

(E:\Documents\Bad_USB\DuckEncoder\script.txt). Я хотел показать вам кое-что поинтереснее, чем сценарий "Hello World", поэтому сделал вот это:

Как сделать свой плохой USB

Как вы можете предположить, неисправный USB "нажмет" Windows + R и вызовет немедленное закрытие Windows с помощью этого скрипта. Кроме того, хорошо видно, что я написал «/» вместо «-». Это потому, что наша «клавиатура» (плохой USB) имеет раскладку для США, а Windows в моей стране настроена на DEU. Имейте в виду, что нам нужно изменить раскладку Windows на американскую и написать сценарий так, как мы обычно это делаем, или так, как его пишет компьютер вашей жертвы. Не путайте ввод.

Здесь вы даже можете использовать пользовательские скрипты и выполнить обратный инжиниринг.

Преобразование в полезную нагрузку HID

Пришло время начать использовать терминал Windows - cmd.

java -jar "ПУТЬ к \uckencode.jar" -i "ПУТЬ к \script.txt" -o "Путь к \payload.bin"

java -jar E:\Documents\BadUSB\DuckEncoder\duckencode.jar -i E:\Documents\Bad_USB\DuckEncoder\script.txt -o E:\Documents\Bad_USB\DuckEncoder\inject.bin< /эм>

Мы не получим никакого вывода, но inject.bin должен быть создан в E:\Documents\Bad_USB\DuckEncoder\, в моем случае.

Встроить полезную нагрузку в прошивку

Теперь нам нужно использовать инструменты, которые мы создали с помощью Visual Studio. Очевидно, EmbedPayload предназначен для встраивания полезной нагрузки. Нам просто нужно выполнить его в cmd:

"Путь к EmbedPayload.exe" "ПУТЬ к полезной нагрузке" "ПУТЬ к встроенному ПО, которое мы создали"

E:\Documents\BadUSB\Psychson\tools\EmbedPayload.exe E:\Documents\Bad_USB\DuckEncoder\inject.bin E:\Documents\Bad_USB\Psychson\firmware\bin\fw.bin

Обратите внимание, что fw.bin теперь содержит полезную нагрузку. Вы также можете перезаписать прошивку, снова запустив build.bat.

Сброс текущей прошивки USB-накопителя

Настоятельно рекомендую вам сделать копию текущей прошивки на флешку на случай, если вы захотите ее восстановить. Для любых действий, которые мы хотим выполнить с нашим USB, мы должны использовать DriveCom, который находится в нашей папке «инструменты».

"ПУТЬ к DriveCom.exe" /drive="Буква диска нашего USB" /action=DumpFirmware /burner="ПУТЬ к образу нашего записывающего устройства" /firmware="ПУТЬ к файлу output.bin"

E:\Documents\Bad_USB\Psychson-master\tools\DriveCom.exe /drive=F /action=DumpFirmware /burner=E:\Documents\Bad_USB\Firmware\BN03V117M.BIN /firmware=E: \Documents\Bad_USB\originalfw.корзина

Прошивка прошивки

Наконец, мы можем передать вредоносную полезную нагрузку, встроенную в прошивку, на наш USB-накопитель:

"ПУТЬ к DriveCom.exe" /drive="Буква диска" /action=SendFirmware /burner="ПУТЬ к нашему образу записи" /firmware="ПУТЬ к прошивке"

E:\Documents\BadUSB\Psychson\tools\DriveCom.exe /drive=F /action=SendFirmware /burner=E:\Documents\Bad_USB\Firmware\BN03V117M.BIN /firmware=E:\Documents \Bad_USB\Psychson\firmware\bin\fw.bin

Успешный вывод должен выглядеть следующим образом:

Как сделать свой плохой USB

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

Перевод нашего устройства в «режим загрузки» вручную

Если вы захотите предпринять дальнейшие действия с поврежденным USB-накопителем, вы заметите, что ни DriveCom, ни Windows, ни любая другая операционная система не могут получить к нему доступ, потому что в конце концов это клавиатура. Нам нужно открыть корпус нашего USB-накопителя и подключить два контакта микроконтроллера, подключив накопитель к нашему ПК. Поскольку круг находится в верхнем левом углу моего контроллера (с этой точки зрения), мне нужно соединить два контакта с левой нижней стороны:

Как сделать свой плохой USB

Я обычно использую край разъема USB для соединения этих двух контактов. Кроме того, в этом случае может очень пригодиться удлинительный USB-кабель. Вроде бы сложно, но к этому привыкнешь. Используйте то, что вам удобнее, не повреждая USB-накопитель. Если вы все сделаете правильно, диск снова появится в Windows:

Как сделать свой плохой USB

И мы можем изменить наш диск или снова прошить исходную прошивку. В противном случае ваш компьютер выключится — в следующий раз постарайтесь больше.

Примечания

  • Плохой USB может работать не на каждом ПК с ОС Windows, включая мой, поскольку он может быть некомпетентен при загрузке драйверов. Вы можете попробовать добавить задержку в начале скрипта (спасибо Seytonic)
  • Имейте в виду, что вы не сможете получить доступ к памяти, пока ваш USB-накопитель имитирует HID-устройство.

Заключительные мысли

Плохой USB — очень мощный инструмент, если у вас есть доступ к компьютеру вашей жертвы, даже несмотря на то, что Windows может плохо загружать драйверы USB. Кроме того, он позволяет избежать обнаружения AV, поскольку это клавиатура, а не вирус.

Кроме того, я хотел бы отметить, что я очень ценю конструктивные отзывы от вас, ребята. Так что не стесняйтесь, напишите мне, если вы обнаружите какую-либо ошибку или хотите, чтобы я что-то улучшил!

Ссылки

Все фотографии сделаны мной.

Хотите начать зарабатывать как белый хакер? Начните свою карьеру хакера с нашим комплектом обучения Premium Ethical Hacking Certification 2020 от нового магазина Null Byte и пройдите более 60 часов обучения у специалистов по кибербезопасности.


Давным-давно мы рассмотрели некоторые устройства, которые должны быть в наборе инструментов любого хакера. Одним из таких устройств была USB Rubber Ducky — устройство, напоминающее обычную флешку. При подключении к компьютеру претендует на роль клавиатуры и быстро вводит все свои команды. Это довольно крутая вещь и очень полезная для пентестов, но зачем платить 40 долларов или больше, если обычную флешку можно научить тем же трюкам?

ВНИМАНИЕ


Не забывайте, что внесение описанных изменений в вашу флешку может не только привести к аннулированию гарантии на устройство, но и убить его. Экспериментируйте на свой страх и риск!

Прошлогодняя Black Hat была полна интересных докладов. Одним из самых обсуждаемых стал отчет о фатальной уязвимости USB-устройств, позволяющей превратить обычные флешки в инструмент для распространения вредоносных программ. Атака получила название BadUSB, но позже в Интернете появились шутки со ссылкой на USBola, сравнивающие эту атаку с известным вирусом.

Похожие идеи использования HID-устройств в злонамеренных целях существуют уже давно. Грех не воспользоваться тем, что ОС доверяет устройствам, подключенным к USB-интерфейсу.Если поискать в архивах журнала, то можно найти статью на аналогичную тему, описывающую методику использования специального устройства Teensy для управления ПК под управлением Windows 7 (собственно, с любой ОС). Устройство маскировалось под обычную флешку. Все это наводило на мысль, что такой же трюк можно провернуть и с флешками.

USB — действительно универсальный интерфейс. Только подумайте, к скольким устройствам мы его подключаем и со сколькими устройствами он работает! Мыши, клавиатуры, принтеры, сканеры, геймпады, модемы, точки доступа, веб-камеры, телефоны и т. д. Недолго думая, втыкаем USB в розетку и ОС автоматически определяет тип устройства и загружает необходимые драйвера.

Но как это делается?

На самом деле ОС ничего не знает о подключенном устройстве. Он должен ждать, пока устройство не сообщит ему, что это за тип. Рассмотрим простой пример. Когда мы втыкаем флешку в USB-розетку, флешка информирует операционную систему о своем типе и объеме. Стоит вспомнить наших дальновидных китайских коллег, которые научились выпускать флешки большей емкости (некоторые почти на 2 ТБ). Чтобы понять, как это возможно, давайте вспомним (или узнаем), как ОС распознает USB-устройства.

USB-накопитель без красивого футляра

USB-накопитель без красивого футляра

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

Обычный USB-накопитель будет иметь код класса 08h (Mass Storage Device — MSD), а веб-камера, оснащенная микрофоном, будет иметь два кода: 01h (аудио) и 0Eh (класс видеоустройства).

Классы устройств
< /p>

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

Если открыть корпус флешки, помимо видимого пользователю запоминающего устройства, там находится контроллер, отвечающий за вышеописанные действия.

Единственная часть устройства, видимая пользователю

Единственная часть устройства, видимая пользователю

На прошлогодней конференции Black Hat два исследователя (Карстен Нол и Якоб Лелль) поделились своим опытом установки персонального обновления микропрограммы контроллера USB-накопителя. Через некоторое время эта флешка прописалась как клавиатура и ввела выбранные команды. Из-за серьезности проблемы, ребята решили не делать код для этого доступным. Однако вскоре после этого два других исследователя (Адам Каудилл и Брэндон Уилсон) представили всему миру на конференции Derbycon работающий PoC, адаптированный для микроконтроллера Phison 2251-03. Код доступен на GitHub.

Как вы уже догадались, сегодня мы попробуем превратить обычную флешку в секретное оружие пентестера!

Прежде всего нам понадобится подходящее устройство. Поскольку код загружен только для конкретного микроконтроллера, у нас есть два варианта — либо найти флешку, управляемую этим контроллером, либо выполнить очень сложную работу по исследованию и обновлению прошивки другого микроконтроллера. В этот раз мы выберем более простой путь и попробуем найти подходящую флешку (вот список уязвимого оборудования). Контроллер достаточно популярен, так что я чудом нашел подходящую флешку среди дюжины дома.

Найдя подходящее устройство (которое мы не упустим, если оно выйдет из строя), мы можем приступить к его трансформации. Прежде всего, нам нужно скачать исходники, которые ребята сделали доступными. Собственно, содержание подробно описано на их официальной вики-странице, но на всякий случай напомню, что они выложили на GitHub:

  • DriveCom — приложение для связи с USB-накопителями Phison;
  • EmbedPayload — приложение для встраивания ключевых скриптов Rubber Ducky inject.bin в кастомную прошивку для последующего выполнения при подключении флешки;
  • Injector — приложение, которое извлекает адреса из встроенного ПО и встраивает в него код исправления;
  • прошивка — кастомная прошивка 8051, написанная на C;
  • patch — набор из 8051 патчей, написанных на C.


При использовании скриптов Ducky следует помнить, что команда DELAY, выполняющая задержку на заданное количество миллисекунд, будет работать на USB-накопителе немного иначе, чем на Rubber Ducky, поэтому вы необходимо настроить время задержки.

Собрав все инструменты, содержащиеся в архиве, еще раз проверьте, подходит ли данная флешка для прошивки:

где F — буква диска.

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

где xx — версия контроллера (например, для PS2251-03 это будет 03), yyy — номер версии (не важно), а z — размер страницы памяти и может выглядеть так:

  • 2KM — для чипов 2K NAND;
  • 4KM — для чипов 4K NAND;
  • M — для чипов 8K NAND.

Вы можете найти подходящий образ для записи на USB-накопитель здесь.

Прежде чем приступать к своим грязным экспериментам, которые могут убить флешку, настоятельно рекомендуется сделать дамп оригинальной прошивки, чтобы, если что-то пойдет не так, можно было попытаться восстановить устройство. Сначала переведите устройство в режим загрузки:

Затем используйте утилиту DriveCom, передав букву диска, путь к образу записи и путь к файлу, в котором будет сохранена оригинальная прошивка. Это будет выглядеть так:

Если вы все сделали правильно, исходная прошивка будет сохранена в файл fw.bin.

Теперь пришло время подумать о функциях, которыми должен обладать наш USB-накопитель. У Teensy есть отдельный набор инструментов Kautilya, который можно использовать для автоматического создания полезных нагрузок. Для USB Rubber Ducky есть целый сайт с дружественным интерфейсом, который позволяет создавать любые скрипты для вашего устройства онлайн. Это дополнение к списку готовых скриптов, доступных на GitHub проекта. К счастью, скрипты Ducky можно преобразовать в двоичные файлы, чтобы затем встроить их в прошивку. Для этого нам понадобится утилита Duck Encoder.

Что касается скриптов, то есть несколько вариантов:

  • необходимый скрипт можно написать самостоятельно, так как используемый синтаксис легко освоить (см. официальный сайт проекта);
  • используйте готовые файлы, загруженные на GitHub. Так как у них есть обратная оболочка и прочие вкусности — вам останется только внести небольшие поправки и преобразовать их в бинарный вид;
  • или воспользуйтесь вышеупомянутым веб-сайтом, который пошагово проведет вас по всем настройкам и позволит скачать готовый скрипт в виде скрипта Ducky (или уже в сконвертированном бинарном виде).

Чтобы преобразовать скрипт в двоичный, выполните следующую команду:

где keys.txt — скрипт Ducky, а inject.bin — исходный двоичный файл.

Как только мы получим готовую полезную нагрузку, пришло время встроить ее в прошивку. Это делается с помощью следующих двух команд:

Обратите внимание, что прошивка сначала копируется в hid.bin и только потом прошивается. Это связано с тем, что полезная нагрузка может быть встроена в прошивку только один раз, поэтому исходный файл CFW.bin необходимо оставить нетронутым.

После этой манипуляции у нас будет файл кастомной прошивки hid.bin со встроенной полезной нагрузкой. Вам останется только поместить полученную прошивку на флешку:

где F — буква диска.

Помимо использования HID-природы USB-накопителя и превращения его в клавиатуру, которая печатает наши полезные нагрузки, есть еще несколько трюков, которые можно использовать. Например, вы можете создать скрытый раздел на устройстве, уменьшив пространство, видимое операционной системой. Для этого сначала нужно будет определить количество логических блоков на устройстве:

Отредактировав исходники, вам нужно поместить прошивку, которую вы хотите пропатчить, в папку patch, назвать ее fw.bin и запустить build.bat , который создаст модифицированный файл fw.bin в patch\bin\ . Теперь вы можете записать это на USB-накопитель.

Параметры Password Patch и No Boot Mode Patch выполняются таким же образом; вы можете прочитать о них больше на GitHub проекта. Моей основной задачей было научить флешку выполнять заранее заданные действия, что мы и выполнили.

Мы достигли нашей цели. Более того, надеюсь, теперь вы понимаете, что флешки (и другие USB-устройства) уже нельзя рассматривать просто как накопитель, на котором хранится ваша информация. По сути, это почти компьютер, который можно научить выполнять определенные задачи.Хотя PoC до сих пор был доступен только для определенного контроллера, вы можете быть уверены, что, пока вы читаете эту статью, кто-то определенно работает над другими.

Поэтому будьте осторожны при подключении USB-устройства и держите глаза открытыми.

Если эксперименты пошли не так и флешка ведет себя странно, можно попытаться вернуть ее к жизни, вручную переведя ее в загрузочный режим и воспользовавшись утилитой для восстановления исходной прошивки. Для этого перед его подключением необходимо замкнуть контакты 1 и 2 (иногда 2 и 3) контроллера, которые расположены по диагонали от точки (см. изображение). Тогда можно попробовать вернуть устройство к жизни с помощью официальной утилиты MPAL

Переключение флешки в режим загрузки путем закрытия показанные контакты

Переключение флешки в загрузочный режим замыканием показанных контактов

25 откликов на “Превращение обычного USB-накопителя в резиновую уточку USB”

Какую марку USB вы использовали для этого эксперимента? трудно найти устройство, указанное на github u, предложенное выше. Посоветуйте вариант покупки/интернет-магазин?

можете прислать принципиальную схему флешки

включает ли этот процесс использование USB-накопителя с чипсетом «PHISON 2251-03 (2303)»?

Вы должны перевести его в режим загрузки, как показано на картинке

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

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

[…] Источник: Подробнее […]

Привет.
Когда я использую эту команду «tools\EmbedPayload.exe inject.bin hid.bin», я получаю сообщение об ошибке «Подпись не найдена!». Я что-то сделал не так?

[…] Превращение обычного флэш-накопителя USB в резиновую уточку USB […]

Что такое у меня Macintosh

Butterword предлагает технические статьи, советы по гаджетам и обзоры, электронную коммерцию, обновления кибермира, собственные электронные книги в обучающих программах по цене чипа, таких как ведение блога и т. д. – абсолютно БЕСПЛАТНО и наиболее востребованную индийскую музыку без лицензионных отчислений и многое другое, касающееся преимуществ посетителя. . Butterword всегда работает с доступными технологиями и развлечениями.

Здравствуйте,
у вас есть Drivecom для linux parrot-sec

Что такое CFW.bin и где его взять?

хорошее описание. Спасибо.

[…] крайний случай, в этой статье Антон Жуков объясняет, как некоторые модели простых флешек можно превратить в USB Rubber […]

Вау! В конце концов, у меня появился веб-сайт, на котором я могу получить действительно полезные факты, касающиеся моего обучения и знаний.

Patriot 8GB Supersonic Xpress* (почти все сейчас 2307 на Amazon [купили 9 у всех 9 продавцов])
Kingston DataTraveler 3.0 T111 8GB
Silicon power marvel M60 64GB
Patriot Stellar 64 Гб Phison
Toshiba TransMemory-MX USB 3.0 16 ГБ (может поставляться с 2307)
Toshiba TransMemory-MX USB 3.0 8 ГБ (может поставляться с 2307)
Kingston DataTraveler G4 64 ГБ
Patriot PSF16GXPUSB Supersonic Xpress 16 ГБ
Silicon Power 32 ГБ Blaze B30 (SP032GBUF3B30V1K) (может поставляться с 2307)
Kingston Digital 8 ГБ USB 3.0 DataTraveler (DT100G3/8 ГБ)* — с использованием PS2251-03 (кстати, DriveCom .exe для этого не работает, вам нужно использовать Phison MPALL Tools для записи прошивки.)
Verbatim STORE N GO 32GB USB 3.0
Verbatim STORE N GO V3 8GB USB 3.0 (может поставляться с 2307) < br />НРАВИТСЯ НА МОЕЙ СТРАНИЦЕ FB:Разработчик Чанду

Это одна из лучших статей, которые я читал за последние годы. Спасибо!

Это одна из лучших статей, которые я читал за последние годы. Спасибо!

[…] готовы ли ваши сотрудники подключать неизвестные USB-устройства, которые могут быть вредоносными? Знают ли они, как легко хакерам превратить обычное USB-устройство в вредоносное оружие? Проводите кампании. Не […]

На этой странице вы узнаете, как восстановить поврежденный USB-накопитель или флешку без потери данных. Если ваш компьютер может распознать поврежденный USB-накопитель, обратитесь к разделу следующего руководства. А если вы в конечном итоге потеряете данные, есть инструмент EaseUS Data Recovery Wizard, который поможет вам вернуть потерянные данные.

Оглавление

Об авторе

Отзывы и награды

Обзор восстановления поврежденного USB-накопителя

Флэш-накопитель USB, флеш-накопитель или жесткий диск — это портативное запоминающее устройство. Это устройство удобно для людей, чтобы носить свои данные с собой куда угодно и использовать их с различными устройствами. Иногда такое частое использование USB может вызвать проблемы, например привести к повреждению USB-накопителя.

Хорошей новостью является то, что более 90 % пользователей USB обычно могут решить эти проблемы самостоятельно.Если у вашего USB есть проблема, она должна быть одной из следующих, чтобы ее можно было решить самостоятельно:

  • Подключите флэш-накопитель USB к Windows 10/8.1/8/7, но накопитель не отображается в проводнике.
  • Windows обнаруживает флэш-накопитель USB, но не открывает его, говоря, что накопитель недоступен.
  • Windows попросит вас отформатировать съемный диск, прежде чем вы сможете его использовать, дважды щелкнув диск.
  • Другие незнакомые ошибки, такие как RAW, отсутствие носителя и т. д.

В основном существует два сценария возникновения проблемы с вашим USB-накопителем: либо Windows обнаруживает ваш USB-накопитель, либо не обнаруживает его. Решения различаются для каждого типа проблемы.

Случай 1. USB-устройство распознается

Если ваш USB по-прежнему может быть обнаружен или распознан вашим компьютером, вы можете попытаться исправить логическую ошибку с помощью встроенного инструмента Windows, CMD или стороннего инструмента исправления. После этого вы сможете получить доступ к своему USB.

Способ 1. Устранение ошибок USB с помощью службы ручного ремонта

Вот вам надежный и мощный сервис по ремонту USB-накопителей, который поможет вам с легкостью восстановить поврежденные USB-накопители SanDisk, Kingston, Sony, Seagate или Western Digital.

Проконсультируйтесь со специалистами EaseUS по восстановлению данных, чтобы получить индивидуальные услуги по ремонту и восстановлению дисков вручную. После БЕСПЛАТНОЙ диагностики мы можем предложить следующие услуги: 1. Устранение проблем с жестким диском, твердотельным накопителем, внешним жестким диском, USB-накопителем и флешкой. 2. Восстановление потерянного раздела, который не может быть восстановлен с помощью программного обеспечения для восстановления данных. или доступ из-за плохих секторов 4. Исправление дисков, которые становятся разделами, защищенными GPT 5. Восстановление поврежденного диска RAW, который необходимо переформатировать (также поддерживается зашифрованный диск BitLocker) 6. Сотрите данные, отформатируйте жесткий диск, установите / удалите программное обеспечение или драйвер, и т. д.

Способ 2. Утилита Windows — проверьте и устраните ошибку на поврежденном USB-накопителе

Если ваш флеш-накопитель физически не поврежден, ваш компьютер должен распознать его и присвоить ему букву диска. В этом случае следуйте приведенным ниже методам, чтобы проверить и исправить логические ошибки на вашем USB. Эти методы не должны приводить к потере данных.

Шаг 1. Подключите USB к компьютеру

Шаг 2. Перейдите в раздел Мой компьютер/Этот компьютер, а затем на USB-накопитель.

Шаг 3. Щелкните правой кнопкой мыши USB-накопитель и выберите "Свойства".

Шаг 4. Перейдите на вкладку "Инструменты".

Шаг 5. Нажмите кнопку "Проверить".

проверить и исправить ошибку USB

Шаг 6. Дождитесь завершения процесса сканирования, затем закройте окно сканирования.

Шаг 7. Щелкните правой кнопкой мыши значок USB-накопителя на рабочем столе и выберите «Извлечь». Затем извлеките накопитель из USB-порта.

Способ 3. CHKDSK CMD — исправить ошибку поврежденной файловой системы на USB

По сути, это тот же процесс, что и выше, но в конце вы получите больше отзывов, которые помогут вам определить, устранена ли проблема или нет.

Предупреждение Запуск chkdsk может исправить ошибки файловой системы, однако это также может привести к полной потере данных. Итак, выполните восстановление данных заранее, а затем продолжите методом CMD.

Шаг 1. Подключите флэш-накопитель USB или флешку к компьютеру.

Шаг 2. Перейдите в меню «Пуск» и введите cmd в поле поиска. В результатах поиска вы увидите командную строку.

Шаг 3. Щелкните правой кнопкой мыши командную строку и выберите «Запуск от имени администратора». Затем введите chkdsk /X /f G: (заменив G на букву вашего USB-накопителя) в окне командной строки и нажмите Enter. Операция chkdsk начнет восстанавливать поврежденный USB-накопитель.

восстановите поврежденный usb с помощью cmd

Эта команда заставляет Windows проверять и исправлять файловую систему на флэш-накопителе. Если процесс восстановления работает правильно, он покажет, что Windows внесла исправления в файловую систему в командном окне. Это говорит о том, что поврежденный USB-накопитель успешно исправлен и к нему снова можно получить доступ.

Способ 4. Сторонний инструмент исправления — восстановление поврежденной файловой системы на USB

EaseUS CleanGenius – это удобный и безопасный инструмент для ремонта компьютера. Это идеальная альтернатива команде CHKDSK. Используйте этот инструмент одним щелчком мыши, чтобы легко исправить поврежденную файловую систему.

Шаг 1. ЗАГРУЗИТЕ EaseUS CleanGenius на свой компьютер и завершите установку.

Шаг 2. Запустите программу. Нажмите «Оптимизация», а затем выберите «Отображение файлов».

выберите вариант отображения файла

Шаг 3. Выберите диск с поврежденной файловой системой.Установите флажок «Проверить и исправить ошибку файловой системы» и нажмите «Выполнить».

исправить файл система

Шаг 4. Подождите, пока инструмент выполнит задачу восстановления. После этого нажмите кнопку "здесь", чтобы проверить диск.

исправить файл система

Дополнительный совет: восстановите данные с недоступного или нечитаемого USB-накопителя

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

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

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

Шаг 1. Выберите USB-накопитель для сканирования

Запустите мастер восстановления данных EaseUS и выберите USB-накопитель, на котором вы потеряли важные файлы. Нажмите "Сканировать", чтобы начать.

выберите USB-накопитель

Шаг 2. Проверка и предварительный просмотр данных USB-накопителя

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

Сканирование и поиск потерянных файлов на флешке

Шаг 3. Восстановите данные с флешки

После проверки и обнаружения потерянных файлов USB-накопителя нажмите «Восстановить», чтобы восстановить их. Вы должны сохранить найденные файлы в безопасном месте на своем ПК, а не на USB-накопителе.

Восстановить потерянные файлы с USB-накопителя

Вам также может понравиться:

Случай 2. Windows не может распознать поврежденный USB-накопитель

Если ваш USB-накопитель физически поврежден и не может быть обнаружен или распознан, стоит переустановить драйверы USB, чтобы посмотреть, решит ли это проблему. Или вы можете попробовать починить сломанный USB-накопитель самостоятельно.

Способ 1. Переустановите драйвер USB

Многие странные проблемы с USB обычно возникают из-за поврежденного драйвера. Вам необходимо переустановить новый драйвер, следуя инструкциям.

Шаг 1. Нажмите клавиши Windows + X и выберите в меню Диспетчер устройств.

Шаг 2. Разверните Диски, щелкните правой кнопкой мыши имя съемного диска и выберите Удалить.

переустановите USB-драйвер, чтобы исправить поврежденный USB-накопитель

Шаг 3. Нажмите OK и отсоедините USB-накопитель от компьютера.

Шаг 4. Перезагрузите компьютер и подключите к нему USB-накопитель. Windows автоматически установит необходимые драйверы.

Способ 2. Восстановление USB-накопителя вручную

Вот несколько вещей, которые вы должны знать, прежде чем пытаться самостоятельно починить сломанный USB-накопитель:

  • Физическое восстановление флэш-накопителя вряд ли сработает, если у вас нет профессионального опыта ремонта физически поврежденных флэш-накопителей.
  • Если внутренняя память флэш-накопителя повреждена, единственный выход – отдать диск в ремонтную мастерскую.
  • Стоимость восстановления данных может варьироваться от 20 до 850 долларов США в зависимости от серьезности повреждения диска и требуемого типа восстановления.

Если вы решите попробовать, следуйте этим инструкциям:

Подготовка:

  • Паяльник с припоем и флюсом
  • Старый USB-кабель.
  • Кусачки/инструменты для зачистки проводов
  • Маленькая плоская отвертка
  • Увеличительное стекло или ювелирная петля.

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

Шаг 1. Снимите корпус флэш-накопителя. Сделайте это с помощью плоской отвертки.

Шаг 2. С помощью увеличительного стекла осмотрите печатную плату и контактные площадки.Если повреждена сама печатная плата (зеленая плата) или приподняты контактные площадки, вам, вероятно, понадобится помощь профессионала.
Паяльные площадки — это 4 бита припоя, которые соединяют штыри USB-разъема с медными проводами на печатной плате. Если разъем оторвался, не повредив печатную плату или контактные площадки, перейдите к следующему шагу.

Шаг 3. Установите флэш-накопитель на твердую поверхность. Сделайте это так, чтобы конец разъема был обращен к вам, а контактные площадки для пайки — вверх.

 вручную восстановить USB

Шаг 4. Отрежьте кусачками один конец USB-кабеля. Убедитесь, что вы обрезали конец USB, если кабель флэш-накопителя является адаптером.

Шаг 5. Отрежьте часть провода USB-кабеля. Попробуйте оголить примерно 0,25 дюйма (0,6 см) каждого из четырех проводов внутри кабеля, подсоединенного к кабелю USB.

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

Шаг 7. Подключите другой конец кабеля USB к компьютеру. Он должен войти в один из прямоугольных слотов на корпусе вашего компьютера.

Шаг 8. Теперь вы можете открыть USB-накопитель. Если ваша флешка распознается компьютером, как можно скорее откройте ее и переместите файлы в безопасное место. Если файлы отсутствуют, вы можете перейти к шагу 2.

Как сделать собственный USB Резиновая уточка, использующая обычный USB?» ширина=

Вы когда-нибудь задумывались о том, чтобы сделать резиновую уточку своими руками? Я не хочу конкурировать с Hakshop. Во-первых, если вы хотите купить у них оригинальный USB Rubber Ducky, потому что он действительно создан для более быстрых программ. Было бы лучше и быстрее выполнять или записывать полезные нагрузки.

Тем не менее, если вы хотели сделать свою собственную резиновую уточку USB?

Поддерживаемые флэш-накопители:

  • Patriot 8GB Supersonic Xpress* (почти все сейчас 2307 на Amazon [купил 9 у всех 9 продавцов])
  • Kingston DataTraveler 3.0 T111, 8 ГБ
  • Silicon Power Marvel M60, 64 ГБ
  • Patriot Stellar 64 ГБ Phison
  • Toshiba TransMemory-MX USB 3.0 16 ГБ (может поставляться с 2307)
  • Toshiba TransMemory-MX USB 3.0 8 ГБ (может поставляться с 2307)
  • Kingston DataTraveler G4, 64 ГБ
  • Patriot PSF16GXPUSB Supersonic Xpress 16 ГБ
  • Silicon Power 32 ГБ Blaze B30 (SP032GBUF3B30V1K)
  • Kingston Digital 8GB USB 3.0 DataTraveler (DT100G3/8GB)* – Использование PS2251-03 (Кстати, DriveCom.exe для него не работает, для записи прошивки нужно использовать Phison MPALL Tools.)
  • Verbatim STORE N GO, 32 ГБ, USB 3.0
  • Verbatim STORE N GO V3, 8 ГБ, USB 3.0 (может поставляться с 2307)

Определение микроконтроллера нашего USB-накопителя:

Прежде чем начать, нам нужно убедиться, что наш USB использует поддерживаемый контроллер. Мы можем использовать программу под названием Flash Drive Information Extractor для сбора необходимых данных о нашем USB.

Просто откройте инструмент и нажмите на кнопку «Получить информацию о USB-накопителе», когда USB-накопитель вставлен в ваш ПК. Если в вашем накопителе используется контроллер Phison 2303 (2251-03), результат должен выглядеть следующим образом:

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

Принимая во внимание конечную цель замены поддерживаемого нами USB-накопителя, мы должны производить устройства, которые с ним взаимодействуют. Исходный код распространяется на GitHub Адамом Каудиллом. Действительно, Visual Studio сопровождает безупречный компонент, который дает нам возможность клонировать весь архив. Вы даже можете подключиться к VS с сайта GitHub:

screen-shot-2016-11-14-at-11-26-51-pm

После клонирования и открытия репозитория. Скорее всего, вы увидите три решения.

  • ДрайвКом
  • Встроить полезные данные
  • Инжектор

Нам понадобятся только DriveCom и EmbedPayload. Если он открыт, вы можете скомпилировать его с помощью Ctrl + Shift + B или Строка меню — Сборка — Сборка решения.

Если вы не можете клонировать репозиторий с помощью Visual Studio, загрузите файл .zip с GitHub и откройте файлы .sln в каждой папке решений.Теперь DriveCom и EmbedPayload должны находиться в каталоге …\Psychson\tools: E:\Documents\Bad_USB\Psychson\tools.

screen-shot-2016-11-14-at-11-29-47-pm

Записывающее изображение

Для создания дампа и прошивки микропрограммы на вашем диске требуется «образ записи». Обычно они называются с использованием соглашения «BNxxVyyyz.BIN». Образы записывающих устройств для контроллеров Phison можно найти здесь. Несмотря на то, что сайт доступен только на русском языке, вы найдете ссылку для скачивания, если просканируете сайт в поисках «BN03». BN подразумевает образ горелки, а 03 соответствует PS2251-03. Я распаковал файлы в E:\Documents\BadUSB\Burner_Image\.

Каждый образ записи должен выполнять свою работу, но вы можете использовать самую новую версию, на которую указывает часть имени «Vyyy».

Скачать Duck Encoder

Duck Encoder – это кроссплатформенный инструмент на основе Java, который преобразует сценарии в полезные данные HID. Он основан на Bad-USB под названием «Rubber Ducky» от Hak5. Вы можете скачать это здесь. (Не забудьте установить Java.) Я сохранил его в E:\Documents\Bad_USB\DuckEncoder\.

Создание пользовательской прошивки

На этом все наши приготовления завершены, и мы можем продолжать использовать инструменты. На этом шаге нам просто нужно перейти в каталог …\Psychson\firmware\ и запустить build.bat. Если все пойдет правильно, вы увидите новую папку с множеством разных файлов внутри.

Файл fw.bin — это файл, который мы будем использовать в следующей полезной нагрузке.

Написание сценария

Вы можете спросить себя, на каком языке мы будем писать наш сценарий. Поскольку Duck Encoder основан на «Rubber Ducky», мы будем использовать «Duckyscript» в качестве языка. Синтаксис довольно прост. Более подробные инструкции можно найти здесь.

Мы продолжим и создадим файл .txt в предпочитаемом нами каталоге

(E:\Documents\Bad_USB\DuckEncoder\script.txt). Я хотел показать вам кое-что поинтереснее, чем сценарий «Hello World», поэтому сделал вот это:

Как вы можете предположить, неисправный USB «нажмет» Windows + R и вызовет немедленное закрытие Windows с помощью этого скрипта. Кроме того, хорошо видно, что я написал «/» вместо «-». Это связано с тем, что наша «клавиатура» (плохой USB) имеет раскладку для США, а для Windows в моей стране установлено значение DEU. Имейте в виду, что нам нужно изменить раскладку Windows на американскую и написать скрипт так, как мы обычно это делаем, или так, как его пишет ПК вашей жертвы. Не путайте ввод.

Здесь вы даже можете использовать пользовательские скрипты и выполнить обратный инжиниринг.

Преобразование в полезную нагрузку HID

Пришло время начать использовать терминал Windows — cmd.

java -jar «ПУТЬ к \uckencode.jar» -i «ПУТЬ к \script.txt»-o «Путь к \payload.bin»

Пример:

java -jar E:\Documents\BadUSB\DuckEncoder\duckencode.jar -i E:\Documents\Bad_USB\DuckEncoder\script.txt -o E:\Documents\Bad_USB\DuckEncoder\inject.bin< /эм>

Мы не получим никакого вывода, но inject.bin должен быть создан в E:\Documents\Bad_USB\DuckEncoder\, в моем случае.

Встроить полезную нагрузку в прошивку

Теперь нам нужно использовать инструменты, которые мы создали с помощью Visual Studio. Очевидно, EmbedPayload предназначен для встраивания полезной нагрузки. Нам просто нужно выполнить его в cmd:

«Путь к EmbedPayload.exe» «ПУТЬ к полезной нагрузке» «ПУТЬ к встроенному ПО, которое мы создали»

Для меня это:

E:\Documents\BadUSB\Psychson\tools\EmbedPayload.exe E:\Documents\Bad_USB\DuckEncoder\inject.bin E:\Documents\Bad_USB\Psychson\firmware\bin\fw.bin

Обратите внимание, что fw.bin теперь содержит полезную нагрузку. Вы также можете перезаписать прошивку, снова запустив build.bat.

Сброс текущей прошивки USB-накопителя

Настоятельно рекомендую вам сделать копию текущей прошивки на флешку на случай, если вы захотите ее восстановить. Для любого действия, которое мы хотим выполнить с нашим USB, мы должны использовать DriveCom, который находится в нашей папке «tools».

"ПУТЬ к DriveCom.exe" /drive="Буква диска нашего USB" /action=DumpFirmware /burner="ПУТЬ к образу нашего записывающего устройства" /firmware="ПУТЬ к файлу output.bin"

В моем случае:

E:\Documents\Bad_USB\Psychson-master\tools\DriveCom.exe /drive=F /action=DumpFirmware /burner=E:\Documents\Bad_USB\Firmware\BN03V117M.BIN /firmware=E: \Documents\Bad_USB\originalfw.bin

Прошивка прошивки

Наконец, мы можем передать вредоносную полезную нагрузку, встроенную в прошивку, на наш USB-накопитель:

«ПУТЬ к DriveCom.exe» /drive=»Буква диска» /action=SendFirmware /burner=»ПУТЬ к нашему образу записи» /firmware=»ПУТЬ к прошивке»

В моем случае:

E:\Documents\BadUSB\Psychson\tools\DriveCom.exe /drive=F /action=SendFirmware /burner=E:\Documents\Bad_USB\Firmware\BN03V117M.BIN /firmware=E:\Documents\Bad_USB\Psychson\firmware\bin\fw.bin

Успешный вывод должен выглядеть следующим образом:

screen-shot-2016-11-14-at-11-33-56-pm

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

Перевод нашего устройства в «режим загрузки» вручную

Если вы захотите предпринять дальнейшие действия с поврежденным USB-накопителем, вы заметите, что ни DriveCom, ни Windows, ни любая другая операционная система не могут получить к нему доступ, потому что в конце концов это клавиатура. Нам нужно открыть корпус нашего USB-накопителя и подключить два контакта микроконтроллера, подключив накопитель к нашему ПК. Поскольку круг находится в верхнем левом углу моего контроллера (с этой точки зрения), мне нужно соединить два контакта с левой нижней стороны:

Возможно, вам потребуется открыть картинку в новой вкладке и увеличить.

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

Я обычно использую край разъема USB для соединения этих двух контактов. Кроме того, в этом случае может очень пригодиться удлинительный USB-кабель. Вроде бы сложно, но к этому привыкнешь. Используйте то, что вам удобнее, не повреждая USB-накопитель. Если вы все сделаете правильно, диск снова появится в Windows:

Более того, мы можем сменить диск или еще раз прошить первую прошивку. В противном случае ваш компьютер выключится — в следующий раз потратьте больше энергии.

Сделай свою резиновую уточку из USB: заметки

Плохой USB может работать не на каждом ПК с Windows, в том числе и на моем, поскольку он может не подходить для стекирования драйверов.

Помните, что у вас не будет возможности получить доступ к памяти, пока ваш USB-накопитель имитирует гаджет HID.

Последние мысли

Плохой USB-накопитель — это надежный инструмент, если у вас есть доступ к компьютеру вашего пострадавшего, несмотря на то, что Windows может ошибаться при установке драйверов USB. Кроме того, он находится на стратегическом расстоянии от антивируса, поскольку представляет собой консоль, а не вирус.

Если вы думаете о том, чтобы просто вставить наш USB-накопитель в один ПК в вашей организации, имейте в виду, что у вас должен быть оригинальный USB-накопитель на случай, если вы, несомненно, получите его, чтобы вы могли избежать эффективно.

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

Читайте также: