Skip to content

BomberCat

Glitchboi edited this page Sep 13, 2026 · 1 revision

BomberCat

El BomberCat (Electronic Cats, RP2040) es una placa por USB serie que EMVy Controller usa como lector EMV contactless, passthrough APDU, magspoof, relay NFC y motor de emulación (tag NDEF o tarjeta EMV) para perfilar/fuzzear terminales. Requiere el extra [bombercat] (pyserial).

emvy bombercat setup                 # prepara el framework oficial (venv aislado)
emvy bombercat read --save cap1      # lee EMV contactless → captura
emvy -r bombercat discover|apdu|info # úsalo como cualquier lector

Modos según el firmware

Modo Qué hace
EMV reader (JSON) Lee EMV contactless por NFC y emite JSON. emvy bombercat read.
Passthrough APDU Expone el BomberCat como lector transceive: todo core.emv funciona.
Emulación NDEF Se hace pasar por un tag NFC Type 4 sirviendo un mensaje NDEF (para fuzzear lectores/POS/teléfonos).
Emulación EMV Responde el flujo EMV contactless de una tarjeta para perfilar terminales.
Magspoof Emite una pista de banda magnética por la bobina.
Panel web / relay AP WiFi con endpoints, y relay NFC (NFCGate).

Emulación observable y cancelable

A diferencia del bucle opaco de la librería, el firmware EMVy bombea él mismo el card-emulation loop, lo que da dos ventajas:

  1. Visibilidad: reporta por serie cada APDU del lector externo (qué app/fichero selecciona, qué offset lee) y la respuesta. Se ve exactamente qué hace el terminal.
  2. Cancelable: la emulación arranca y vuelve enseguida (no bloquea); se detiene con Detener (STOP), Reboot, o el auto-stop de seguridad (180 s).

Perfilado de terminales EMV (EMUEMV)

El modo EMV responde SELECT PPSE → FCI, SELECT AID, GPO → 77 qVSDC, READ RECORD y GENERATE AC con datos canned sin cripto real (no aprueba pagos). El objetivo es que el terminal avance y revele su configuración: el firmware decodifica y reporta lo que manda el terminal (el PDOL del GPO troceado: TTQ, monto, país, divisa, UN, tipo de terminal…).

emvy bombercat emv-emulate                 # Visa de prueba fija
emvy bombercat emv-emulate --card cap.json # presenta los datos de una captura real
emvy bombercat cardscan                    # escanea una tarjeta a la RAM del firmware
emvy bombercat emv-emulate --ram           # reemula la tarjeta escaneada (sin PC ni archivos)

En la GUI/TUI (pestaña Fuzzing) un único botón "Emular" decide NFC o EMV según la Fuente, con botones Detener/Reboot compartidos. Ver Fuzzing.


Firmware

  • Oficiales prebuilt (.uf2): se flashean por bootloader UF2 (reset 1200-bps → unidad RPI-RP2; si no entra solo, doble-tap RESET). Recuperable vía BOOTSEL. emvy bombercat fw list|flash.
  • Firmware unificado EMVy (firmware/EMVyBomberCat/): EMV + passthrough + tags + magspoof + emulación NDEF/EMV. Se compila con arduino-cli (build.sh) y se sube por picotool (arduino-cli upload, no por .uf2).

Desde la TUI/GUI (pestaña BomberCat) puedes compilar y subir los sketches, gestionar fuentes de firmware alternas (GitHub owner/repo o URL .uf2) y flashear.


Gotchas conocidos en Linux

Regla udev para subir firmware

arduino-cli upload / picotool puede fallar con "try sudo or check your permissions":

echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", MODE="0666"' | \
  sudo tee /etc/udev/rules.d/99-pico.rules
sudo udevadm control --reload-rules --trigger

Alternativa sin permisos: convertir el .elf a .uf2 con el elf2uf2 del paquete de la placa y copiarlo a la unidad RPI-RP2 montada.

Identificación USB

Un BomberCat genuino puede enumerar como 2341:005e Arduino SA Nano RP2040 Connect por un bug de packaging del core electroniccats:mbed_rp2040 v2.0.0 (VID/nombre hardcodeados). Es puramente cosmético; el mapeo de pines (IRQ=11/VEN=13 del PN7150) es correcto. No uses el VID/PID reportado como señal de qué placa está conectada.

Diagnóstico NFC

El comando serie NFCINFO reconecta al PN7150 y reporta su versión: si devuelve una versión, el chip y la comunicación I2C/NCI están sanos y el problema es RF (tarjeta no contactless / fuera de rango / antena), no el firmware.

Clone this wiki locally