-
Notifications
You must be signed in to change notification settings - Fork 1
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| 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). |
A diferencia del bucle opaco de la librería, el firmware EMVy bombea él mismo el card-emulation loop, lo que da dos ventajas:
- 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.
-
Cancelable: la emulación arranca y vuelve enseguida (no bloquea); se detiene con Detener
(
STOP), Reboot, o el auto-stop de seguridad (180 s).
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.
-
Oficiales prebuilt (
.uf2): se flashean por bootloader UF2 (reset 1200-bps → unidadRPI-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 conarduino-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.
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 --triggerAlternativa sin permisos: convertir el .elf a .uf2 con el elf2uf2 del paquete de la placa y
copiarlo a la unidad RPI-RP2 montada.
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.
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.