Уязвимость BadUSB для Phison 2251-03 (часть 1)

Узнал об этом еще с английской рассылки SANS Vol. 16 Num. 79.
Собирался первым перевести на русский язык(на github и так написаны команды ) и разобраться с этим еще 4 октября, но дела не позволяли потратить на это время и денег на поиски конкретной флешки не было.
В итоге найдя единственный магазин в городе где были эти флешки Kingston DataTraveler 3.0 T111 8GB зайдя в него и уговаривая продавцов вскрыть упаковку не получилось. Пришлось купить наугад. И мы угадали и купили нужную проверив на ноутбуке в магазине. Контроллер оказался PS2251-03 (2303). У нас была куча неописуемой радости и везения!!! В магазине оставалось всего 9 флешек данной модели…


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










Необходимое ПО:


Visual Studio 2012 Express (для компиляции инструментов. Не обязательно) — www.microsoft.com/en-us/download/details.aspx?id=34673
SDCC (Small Device C Compiler) (для создания прошивок и патчей. Обязательно)* — sourceforge.net/projects/sdcc/files/
Java Runtime Environment 7 (для запуска Duckencoder.jar) — www.oracle.com/technetwork/java/javase/downloads/java-se-jre-7-download-432155.html
Duckencoder.jar (для компиляции скриптов Rubberry Ducky) — github.com/hak5darren/USB-Rubber-Ducky/wiki/Downloads

*SDCC обязательно ставить в папку "C:\Program Files\SDCC"!!!

Кастомные прошивки и программы прошивальщикиgithub.com/adamcaudill/Psychson
Оригинальные утилиты (вроде MPALL) а также образы и прошивкиwww.usbdev.ru/files/phison/
Образы и прошивки для PS2251-03 (прямая ссылка)www.usbdev.ru/?wpfb_dl=777
Утилита для извлечения информации о флэшке (Flash Drive Information Extractor) — www.antspec.com/usbflashinfo/


1. Готовим программное обеспечение

Чтобы потом загрузив флешку в boot-режим не бегать и не искать чего не хватает и не работает.

Поскольку это мой взгляд на эту статью и мои ошибки и решения.

Во первых хочется сказать что на разных компьютерах пришлось ставить Visual Studio и компилировать все фаилы в директории C:\fw\Psychson-master\tools
DriveCom.exe Injector.exe EmbedPayload.exe
фаилы скомпилированные на Win7 x64 отказывались работать на Win2k3 x86

Поэтому первым компилируем фаилы нажимая кнопку «Запуск»:
C:\fw\Psychson-master\DriveCom\DriveCom.sln
C:\fw\Psychson-master\EmbedPayload\EmbedPayload.sln
C:\fw\Psychson-master\Injector\Injector.sln



У нас есть скомпилированные фаилы


2. Копия оригинальной прошивки


Отправляем на флешку burner-image, извлекаем и сохраняем текущую прошивку с флешки одной командой:

C:\fw\Psychson-master\tools\DriveCom.exe /drive=F /action=DumpFirmware /burner=C:\fw\fw_bn\BN03V114M.BIN /firmware=C:\fw\currentfw.bin


В C:\fw\currentfw.bin будет сохранена ваша прошивка. Берегите её.

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

3. Заливка новой прошивки


После того как сделали новую прошивку одним из способов ниже.

Переводим флешку в boot-режим:
C:\fw\Psychson-master\tools\DriveCom.exe /drive=F /action=SetBootMode


и загружаем новую прошивку fw.bin
C:\fw\Psychson-master\tools\DriveCom.exe /drive=F /action=SendFirmware /burner=C:\fw\fw_bn\BN03V114M.BIN /firmware=C:\fw\Psychson-master\firmware\bin\fw.bin


Используемая литература упростила понимание и поиски и сберегло мне время.
github.com/adamcaudill/Psychson
dmyt.ru/forum/viewtopic.php?f=7&t=383
www.youtube.com/watch?v=ovfZXeGvjN8

Продолжение:
BadUSB для Phison 2251-03 (часть 1)
BadUSB для Phison 2251-03 Payload (часть 2)
BadUSB для Phison 2251-03 ошибки (часть 3)
BadUSB для Phison 2251-03 восстановление (часть 4)
  • 0

Нет комментариев