Este tutorial es una traducción y resumen de:
https://www.pentestingshop.com/pentesting/make-your-own-usb-rubber-ducky-using-a-normal-usb-stick/ Casi todos hemos oído hablar de los
USB Rubber Ducky y con ello su precio, la verdad es que a día de hoy son bastante asequibles, pero no para todo el mundo por problemas legales (en Argentina he oído que tienen problemas para conseguirlo) o económicos, de modo que hoy les traigo un tutorial sobre cómo hacerlo ‘casero’.
En primer lugar me gustaría aclarar que no se puede realizar con todos los USB, requiere que tengan el chipset / controlador
Phison 2251-03, aquí les dejo una lista con los dispositivos compatibles conocidos
https://github.com/brandonlw/Psychson/wiki/Known-Supported-Devices Algunos de estos modelos están empezando a ser retirados del mercado por estos mismos motivos, y peor aún es que aunque tuvieseis el mismo modelo de USB nada os garantiza que utilice
Phison 2251-03, por ello se recomienda usar este software:
http://antspec.com/usbflashinfo/index.php El cual extrae información sobre el dispositivo en cuestión, incluido que controlador utiliza, recomiendo comprobar los USB que ya tenéis, yo me he llevado una sorpresa al ver que uno de mis dispositivos utiliza dicho controlador pero no es ninguno de los indicados en la lista, tambien podeis comprar dispositivos compatibles en el tutorial original.
Tener en cuenta que en el tutorial se utiliza unos directorios específicos principalmente una carpeta en raíz de
C:\ llamada
fw, para evitar problemas en los comandos te recomiendo imitarlo.
Primero necesitamos descargar los siguientes archivos:
Archivo 1: Psychson-Master
https://github.com/adamcaudill/PsychsonArchivo 2: Microsoft Visual Studio 2012 Express:
http://www.microsoft.com/en-us/download/details.aspx?id=34673Archivo 3: sdcc-3.4.0 pequeño compilador en C:
http://sourceforge.net/projects/sdcc/files/sdcc-win64/3.4.0/Archivo 4: Java Runtime Environment :
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.htmlArchivo 5: duckencoder.jar:
https://github.com/hak5darren/USB-Rubber-Ducky/wiki/DownloadsArchico 6: Firmware:
http://www.usbdev.ru/?wpfb_dl=777Instalaciones:- Visual Studio (al confirmar el correo electrónico tras registrarnos, nos dan el serial)
- SDCC en C:\Program Files\SDCC (importante no poner otro directorio)
- Java Runtime Environment.
Una vez terminadas las instalaciones procedemos a extraer los archivos de
Psychson-master.zip en el directorio antes mencionado (
C:\fw ).En este mismo directorio creamos otras dos carpetas llamadas
fw_bn y
ducky.
Extraemos el
firmware_ps2251-03.rar en
C:\fw\fw_bn, entramos en la carpeta extraída
C:\fw\fw_bn\Firmware PS2251-03 y copiamos los archivos
BN03V104M.BIN y
FW03FF01V10753M_20130621.BIN en
C:\fw\fw_bn, y por ultimo movemos el archivo
duckencoder.jar a la carpeta restante
C:\fw\duckyEn resumen:
duckencoder.jar-----------------------
C:\fw\ducky(carpeta) Firmware PS2251-03--------------------------
C:\fw\fw_bnBN03V104M.BIN y
FW03FF01V10753M_20130621.BIN--------------
C:\fw\fw_bn(carpeta) Psychson-master-------------------
C:\fwDe modo que el siguiente paso es compilar, para ello nos dirigimos a
C:\fw\Psychson-master\DriveCom y abrimos
DriveCom.sln con Visual Studio 2012 Express, nos abrirá una ventana emergente de Visual Studio, en la que hacemos click en Start/Iniciar, esto nos abrirá una consola con el mensaje ‘No action specified, entering console.’, cerramos la consola y Visual Studio. Nos dirigimos a
C:\fw\Psychson-master\Injector y realizamos el mismo proceso con el archivo
Injector.sln con la diferencia de que no nos abrirá una terminal, cerramos de nuevo Visual Studio y nos dirigimos a
C:\fw\Psychson-master\EmbedPayload y repetimos el proceso con el archivo
EmbedPayload.sln.
Ahora que ya tenemos todo compilado, necesitamos una secuencia de comandos para nuestro
USB rubber ducky, para ello tenemos amplia variedad de Payload en:
https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads Este tutorial al igual que el original vamos a usar el Payload – Hello World.
Copiamos el código y nos dirigimos a
C:\fw\ducky, creamos un nuevo documento de texto con el nombre
HelloWorld.txt sobre el cual pegamos el código.
Abrimos una cmd como administrador e introducimos el siguiente comando:
java -jar c:\fw\ducky\duckencode.jar -i c:\fw\ducky\HelloWorld.txt -o c:\fw\ducky\inject.bin
A continuación nos dirigimos a
C:\fw\Psychson-master\firmware y ejecutamos
build.bat lo que nos generara una carpeta llamada
bin en el directorio actual.
Volvemos a la cmd y ejecutamos el 2º comando (evidentemente como administrador):
c:\fw\Psychson-master\tools\EmbedPayload.exe c:\fw\ducky\inject.bin c:\fw\Psychson-master\firmware\bin\fw.bin
Conectamos el dispositivo USB al equipo y prestamos especial atención a la letra que se le ha asignado, volvemos a la cmd y escribimos los siguientes comandos cambiando drive=/
G por la letra asignada a nuestro dispositivo:
c:\fw\Psychson-master\tools\DriveCom.exe /drive=G /action=SetBootMode
c:\fw\Psychson-master\tools\DriveCom.exe /drive=G /action=SendExecutable /burner=c:\fw\fw_bn\BN03V104M.BIN
c:\fw\Psychson-master\tools\DriveCom.exe /drive=G /action=DumpFirmware /firmware=c:\fw\currentfw.bin
c:\fw\Psychson-master\tools\DriveCom.exe /drive=G /action=SendFirmware /burner=c:\fw\fw_bn\BN03V104M.BIN /firmware=c:\fw\Psychson-master\firmware\bin\fw.bin
Si todo fue correctamente tu USB ya debería ser un
USB Rubber Ducky, en caso de haber tenido cualquier problema en el proceso recomiendo visitar el Tutorial original
https://www.pentestingshop.com/pentesting/make-your-own-usb-rubber-ducky-using-a-normal-usb-stick/ esta explicado todo paso a paso con detalles, fotos y comentarios sobre problemas y soluciones.