Usbbad
Поговорим об одном очень интересном варианте атаки, а если быть точнее – девайсе (благодаря которому атака проводится), который по моему скромному мнению должен быть у каждого хакера. Сразу хочу сказать, что это вводная часть и всё от корки до корки я вам не покажу/не расскажу, и тем не менее, мне кажется, что вы сможете извлечь из этого долю выгоды для себя. Покончим с моим дефолтным предисловием и приступим. Начнем с воды.
BadUSB – тип хакерской атаки с использованием USB устройства, который основывается, как по мне, на достаточно примитивной уязвимости. Если быть точнее, то речь идет о том, что у некоторых USB устройств отсутствует защита от перепрошивки. Таким образом, злоумышленник может полностью изменить оригинальную прошивку или в какой-то мере её видоизменить, тем самым заставив устройство имитировать любое другое устройство со схожими функциями или общим принципом работы.
Данная уязвимость влияет на все устройства с незащищенными USB контроллерами на борту: вебкамеры, мышки, клавиатуры, андроид-устройства, принтеры, геймпады и т.д. BadUSB не требует особого программного обеспечения на компьютере жертвы и работает под любыми операционными системами, поддерживающими USB-HID устройства. Не задумываясь, мы вставляем коннектор в нужный разъем, а операционная система сама определяет устройство и подгружает необходимые драйвера. Кстати, давайте поговорим о том, как она это делает. Вам ведь интересно? Да подождите вы своим взломом, тут ТЕОРИЯ ТЫ ШО!!?!? Ну так вот. Сама по себе операционная система даже не догадывается о том, что устройство подключено. Она лишь ждет, пока само устройство не сообщит ей, что оно из себя представляет и что вообще такое, хули тут забыло ну и т.п о.о Устройство же определяется кодами различных классов. Не буду вдаваться в конкретику, скажу лишь то, что коды позволяют унифицировать работу с простыми устройствами прочих производителей. А само устройство может поддерживать несколько классов. После, при подключении USB устройства оно получает адрес и отправляет свой дескриптор, дабы операционная система загрузила нужные драйвера и отправила обратно необходимую конфигурацию, в следствии чего начнется непосредственное взаимодействие. Важным моментом является то, что устройства могут иметь несколько дескрипторов, а также могут дерегистрироваться в качестве другого устройства. Всё это будет видно на плате в виде контроллера, отвечающего за описанные выше действия.

Итак. Покончим с непонятным монологом от (ноу) и попробуем запилить годноту (ага, конечно, размечтались). Значит так, код сначала показали одни парни, но не выложили в открытый доступ, потом другие парни и бла бла бла, короче вот, собственно, сам код – https://github.com/brandonlw/Psychson. А вот и список уязвимых устройств подъехал – https://github.com/brandonlw/Psychson/wiki/Known-Supported-Devices. А, и ещё один момент. Бывает такое, что на одних и тех же устройствах могут быть установлены разные контроллеры, а ещё как только вы начнете играться с флешкой – прощай гарантия, а ещё есть вероятность, что флешка сама по себе сдохнет, и надо будет играться с boot, а ещё все мы ленивые пездюки (ладно, это я про себя). Короче имейте ввиду, если надумаете чего делать. Такие дела. И ещё, поищите в инете утилиты для сбора инфы о вашей флешке, что-то типа Usb flash info и т.д.
Это, что нам будет необходимо для дальнейших действий:
Спойлер: Пак софта:
И этот пак находится непосредственно в архиве, но помимо него нужно будет ещё кое какой софт задействовать.
1. Visual Studio (Для компиляции инструментов) – на сайте майкрософт можно скачать 30-дневку бесплатно.
2. SDCC (Small Device C Compiler – для создания прошивок и патчей. Обязательный вариант) – программу надо будет установить в C:\Program Files\SDCC и только так, иначе могут быть баги и бла бла. Скомпилировав все инструменты, входящие в архив, можно будет еще раз проверить, подходит ли данная флешка для перепрошивки: DriveCom.exe /drive=F /action=GetInfo – где F, соответственно, буква нaкопителя.
3. Java Runtime Environment 7 (для запуска Duckencoder.jar)
4. Du
Поговорим об одном очень интересном варианте атаки, а если быть точнее – девайсе (благодаря которому атака проводится), который по моему скромному мнению должен быть у каждого хакера. Сразу хочу сказать, что это вводная часть и всё от корки до корки я вам не покажу/не расскажу, и тем не менее, мне кажется, что вы сможете извлечь из этого долю выгоды для себя. Покончим с моим дефолтным предисловием и приступим. Начнем с воды.
BadUSB – тип хакерской атаки с использованием USB устройства, который основывается, как по мне, на достаточно примитивной уязвимости. Если быть точнее, то речь идет о том, что у некоторых USB устройств отсутствует защита от перепрошивки. Таким образом, злоумышленник может полностью изменить оригинальную прошивку или в какой-то мере её видоизменить, тем самым заставив устройство имитировать любое другое устройство со схожими функциями или общим принципом работы.
Данная уязвимость влияет на все устройства с незащищенными USB контроллерами на борту: вебкамеры, мышки, клавиатуры, андроид-устройства, принтеры, геймпады и т.д. BadUSB не требует особого программного обеспечения на компьютере жертвы и работает под любыми операционными системами, поддерживающими USB-HID устройства. Не задумываясь, мы вставляем коннектор в нужный разъем, а операционная система сама определяет устройство и подгружает необходимые драйвера. Кстати, давайте поговорим о том, как она это делает. Вам ведь интересно? Да подождите вы своим взломом, тут ТЕОРИЯ ТЫ ШО!!?!? Ну так вот. Сама по себе операционная система даже не догадывается о том, что устройство подключено. Она лишь ждет, пока само устройство не сообщит ей, что оно из себя представляет и что вообще такое, хули тут забыло ну и т.п о.о Устройство же определяется кодами различных классов. Не буду вдаваться в конкретику, скажу лишь то, что коды позволяют унифицировать работу с простыми устройствами прочих производителей. А само устройство может поддерживать несколько классов. После, при подключении USB устройства оно получает адрес и отправляет свой дескриптор, дабы операционная система загрузила нужные драйвера и отправила обратно необходимую конфигурацию, в следствии чего начнется непосредственное взаимодействие. Важным моментом является то, что устройства могут иметь несколько дескрипторов, а также могут дерегистрироваться в качестве другого устройства. Всё это будет видно на плате в виде контроллера, отвечающего за описанные выше действия.

Итак. Покончим с непонятным монологом от (ноу) и попробуем запилить годноту (ага, конечно, размечтались). Значит так, код сначала показали одни парни, но не выложили в открытый доступ, потом другие парни и бла бла бла, короче вот, собственно, сам код – https://github.com/brandonlw/Psychson. А вот и список уязвимых устройств подъехал – https://github.com/brandonlw/Psychson/wiki/Known-Supported-Devices. А, и ещё один момент. Бывает такое, что на одних и тех же устройствах могут быть установлены разные контроллеры, а ещё как только вы начнете играться с флешкой – прощай гарантия, а ещё есть вероятность, что флешка сама по себе сдохнет, и надо будет играться с boot, а ещё все мы ленивые пездюки (ладно, это я про себя). Короче имейте ввиду, если надумаете чего делать. Такие дела. И ещё, поищите в инете утилиты для сбора инфы о вашей флешке, что-то типа Usb flash info и т.д.
Это, что нам будет необходимо для дальнейших действий:
Спойлер: Пак софта:
И этот пак находится непосредственно в архиве, но помимо него нужно будет ещё кое какой софт задействовать.
1. Visual Studio (Для компиляции инструментов) – на сайте майкрософт можно скачать 30-дневку бесплатно.
2. SDCC (Small Device C Compiler – для создания прошивок и патчей. Обязательный вариант) – программу надо будет установить в C:\Program Files\SDCC и только так, иначе могут быть баги и бла бла. Скомпилировав все инструменты, входящие в архив, можно будет еще раз проверить, подходит ли данная флешка для перепрошивки: DriveCom.exe /drive=F /action=GetInfo – где F, соответственно, буква нaкопителя.
3. Java Runtime Environment 7 (для запуска Duckencoder.jar)
4. Du