Ejercicios de práctica - laboratorio casero
Analogía para empezar: leer teoría de pagos sin tocar una tarjeta es como aprender a nadar leyendo un manual. Esta nota es la alberca: ejercicios paso a paso, con el material que necesitas, para practicar cada tema de las notas con tus propias tarjetas y tu propio hardware. Nada de esto requiere el laboratorio de nadie.
Reglas de oro (léelas primero, van en serio)
- Solo lo tuyo: tu propia tarjeta, tu propio teléfono, tu propio lector, tu propio comercio. Una credencial ajena = delito, aunque sea "para probar".
- Montos pequeños: si pruebas con tu tarjeta en un comercio real, compra algo de centavos o usa tarjetas de prueba (Visa/Mastercard publican números de prueba para desarrollo:
4111 1111 1111 1111,5555 5555 5555 4444). - Autorización por escrito: si el ejercicio toca sistemas que no son tuyos (un banco, un comercio), necesitas un contrato/permiso. Sin permiso no es investigación, es fraude.
- Sanitiza todo lo que guardes: quita PANs y datos de pista antes de compartir cualquier captura (ver nota de PCI DSS).
- Anota siempre: tarjeta, terminal, país, fecha, firmware, hipótesis. Sin eso, la captura no prueba nada dentro de 6 meses.
Material por nivel
| Nivel | Qué compras | Costo aprox | Para qué te alcanza |
|---|---|---|---|
| 0 | Nada | $0 | Leer capturas, entender trazas, construir mensajes |
| 1 | Teléfono Android con NFC + app (NFC Tools, NFC TagInfo) | $0 (el que ya tienes) | Hablar APDU con tu tarjeta, leer el PPSE, tags |
| 2 | ACR122U o PN532 (USB) + Python (pyscard / nfcpy) | $20-40 | Scripts APDU, leer registros, contactless |
| 3 | MSR605 (lector/escritor de bandas) + tarjetas vírgenes | $50-100 | Leer/escribir bandas (solo tuyas o de prueba) |
| 4 | Proxmark3 RDV4 + antena | $100-200 | Esnifar capa 1, tiempos, anticolisión |
| 5 | SCR3310 (contacto) + SIMtrace2 | $30-100 | EMV por contacto, trazas T=1 |
Empezar con nivel 0-1 es suficiente para más de la mitad de los ejercicios.
Tema: fundamentos (nota: Sistemas de pagos de seguridad)
Ejercicio 1 — Tu primer diálogo APDU
- Objetivo: ver con tus ojos el diálogo entre una tarjeta y un lector.
- Material: teléfono Android con NFC + app de lectura NFC (o ACR122U + script).
- Tiempo: 10 min.
- Pasos:
- Abre la app, acercas tu tarjeta (la que sea, tuya).
- La app hace un SELECT del PPSE (
2PAY.SYS.DDF01) — busca en los logs la línea00 A4 04 00 0E 32 50 41 59.... - Mira la respuesta: el tag
4F(AID de tu tarjeta) y50(el nombre de la aplicación, p. ej. "VISA DEBIT").
- Qué anotar: el AID, el nombre, y cuántas aplicaciones anunció tu tarjeta (tags
61).
Ejercicio 2 — La pregunta del investigador
- Objetivo: aplicar las 7 preguntas a un dato concreto.
- Material: la captura del ejercicio 1.
- Pasos: toma el tag
50(nombre de la aplicación) y responde: ¿quién lo genera? (la tarjeta) ¿Quién puede modificarlo? (cualquiera con un lector que lo reescriba al vuelo — nada lo firma) ¿Qué decisión depende de él? (solo la pantalla). Ahora haz lo mismo con el tag4F: ¿qué decisión depende del AID? (qué kernel ejecuta la terminal — ver nota de NFC). - Qué anotar: qué datos son solo "presentación" y cuáles deciden algo.
Tema: herramientas (nota: La caja de herramientas)
Ejercicio 3 — Arma tu entorno
- Objetivo: tener un entorno reproducible para practicar.
- Material: cualquier laptop + Python 3.
- Pasos:
- Instala Python y
pyscard(Windows) onfcpy(Linux). - Crea un script mínimo que imprima "hola" cuando acerques tu tarjeta (en Windows:
pip install pyscard, luego un loop deCardRequest). - Corre el script y acércale tu tarjeta.
- Instala Python y
- Qué anotar: qué pila usaste, qué versión, y si tu lector aparece en el sistema (esto es lo que se rompe cuando cambias de lector).
Tema: banda magnética (nota: La banda magnética y su legado)
Ejercicio 4 — Lee tu propia banda
- Objetivo: ver la Track 2 con tus ojos y decodificarla a mano.
- Material: MSR605 (o un lector de bandas USB) + una tarjeta tuya (o tarjeta de prueba en blanco que tú mismo escribas).
- Tiempo: 20 min.
- Pasos:
- Pasa tu tarjeta por el MSR605 en modo lectura. Obtenés la Track 2, algo como
;4111111111111111=301200000000000000000?. - Decodifica a mano:
;centinela, PAN hasta=, luego AAMM (vencimiento), 3 dígitos de código de servicio, resto = discrecional (donde vive el CVV). - Escribe esa misma pista en una tarjeta virgen (es TU pista, es legal).
- Vuelve a leer la virgen y compara byte a byte.
- Pasa tu tarjeta por el MSR605 en modo lectura. Obtenés la Track 2, algo como
- Qué anotar: el código de servicio (primer dígito: ¿2 o 6 = hay chip?), y qué cambió entre la original y la copia (nada, porque nada lo firma).
Ejercicio 5 — MagSpoof mental
- Objetivo: entender que la banda es señal, no tarjeta.
- Material: el texto de Kamkar (samy.pl), o un generador de tonos.
- Pasos: lee cómo MagSpoof usa un puente H para invertir la corriente de una bobina. Luego reproduce mentalmente: ¿qué necesita observar el lector para "ver" una banda? (transiciones de campo, no una tarjeta).
- Qué anotar: la diferencia entre "reproducir datos" y "emular un dispositivo que responde".
Tema: comunicación APDU (nota: Cómo hablan tarjeta y terminal)
Ejercicio 6 — SELECT, GPO y READ RECORD a mano
- Objetivo: ejecutar los 3 comandos clave y leer las respuestas sin decodificador.
- Material: ACR122U/PN532 + script (o teléfono con app que permita APDU crudos, como NFC TagInfo).
- Pasos:
- SELECT PPSE:
00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00. Anota SW1 SW2 (espera90 00). - Prueba el directorio equivocado (
1PAY...con el byte31en vez de32): ¿qué palabra de estado te devuelve? (espera6A 82). - SELECT tu AID (el
4Fdel ejercicio 1). - GET PROCESSING OPTIONS:
80 A8 00 00 02 83 00(o el PDOL que pida tu tarjeta). Anota el AIP (tag82) y el AFL (94). - READ RECORD según el AFL (ej.
00 B2 06 0C 00si el AFL dice SFI 1, registro 6). Lee el tag57(Track 2 dentro del chip).
- SELECT PPSE:
- Qué anotar: cada palabra de estado como frase ("6A82 = no tengo ese archivo"), y la secuencia completa de tu transacción (cuántos comandos fueron).
Ejercicio 7 — Los 4 casos
- Objetivo: identificar los 4 casos de APDU en tu propia traza.
- Pasos: con los comandos del ejercicio 6, clasifica cada uno: caso 1 (solo cabecera), caso 2 (cabecera+Le), caso 3 (cabecera+Lc+datos sin Le), caso 4 (todo). El SELECT del PPSE es caso 3 o 4 según lleve Le.
- Qué anotar: para cada comando, qué byte es Lc y cuál es Le (el quinto byte juega papeles opuestos según el comando).
Tema: criptografía del chip (nota: La criptografía del chip)
Ejercicio 8 — Leer el AIP y adivinar la autenticación
- Objetivo: saber qué puede hacer tu tarjeta sin que te lo diga nadie.
- Pasos:
- Del GPO (ejercicio 6), toma el AIP (tag
82, 2 bytes). - Decodifícalo en bits: bit 7 del byte 1 = SDA, bit 6 = DDA, bit 1 = CDA. ¿Qué método ofrece tu tarjeta?
- Busca los certificados: READ RECORD de los registros que indique el AFL; el tag
90(cert del emisor) y9F46(cert de la tarjeta). Anota sus longitudes.
- Del GPO (ejercicio 6), toma el AIP (tag
- Qué anotar: longitudes → tamaños de llave (una firma mide lo que su llave): cert de 176 bytes = llave de 1408 bits. ¿Tu tarjeta trae certificados? ¿Tiene autenticación offline o solo confía en el emisor en línea?
Ejercicio 9 — Reconstruir el CDOL1
- Objetivo: armar el campo de datos de un GENERATE AC desde la lista que publicó la tarjeta.
- Material: script con pyscard.
- Pasos:
- Lee el registro que contiene el tag
8C(CDOL1): una lista de parejas (tag, longitud), ej.9F02 06 9F03 06 9F1A 02 95 05 5F2A 02 9A 03 9C 01 9F37 04. - Suma las longitudes: 6+6+2+5+2+3+1+4 = 29. Ese es tu Lc.
- Construye el GENERATE AC:
80 AE 80 00 1D+ 29 bytes (monto, otro monto, país, TVR de 5 ceros, moneda, fecha, tipo, y 4 bytes de número impredecible — inventa unos). - Envíalo y mira la respuesta: deberías recibir un criptograma (
9F26) o un AAC (9F27= 00) si algo no cuadra.
- Lee el registro que contiene el tag
- Qué anotar: si la tarjeta responde con criptograma, el Lc era correcto. Si responde raro, revisa la aritmética de tu lista.
Tema: CVM y PIN (nota: PIN, firma y verificación)
Ejercicio 10 — Lee la CVM List de tu tarjeta
- Objetivo: saber qué verificaciones acepta tu tarjeta antes de que ocurra la transacción.
- Pasos:
- Lee el registro con el tag
8E(CVM List): montos X/Y (4+4 bytes) + reglas de 2 bytes. - Decodifica cada regla: método (primer byte, bits 6-1) + condición (segundo byte).
42= PIN cifrado online,41= PIN en claro offline,1E= firma,1F= no CVM. - Ordena las reglas: la primera que la terminal pueda cumplir es la que se ejecuta.
- Lee el registro con el tag
- Qué anotar: cuántas reglas tiene tu tarjeta, cuál es la última (la "red de seguridad"), y si el PIN offline está o no en la lista.
Ejercicio 11 — VERIFY con PIN de mentira (tu tarjeta, tu PIN, CUIDADO)
- Objetivo: ver cómo viaja el PIN offline y qué responde la tarjeta.
- Material: tarjeta con PIN offline en su CVM List + lector + tu PIN.
- Pasos:
- Envía VERIFY con un PIN INCORRECTO:
00 20 00 80 08+ bloque (control24+ 4 dígitos + rellenoFF). Espera63Cx(x = intentos restantes). - No lo hagas más de 3 veces: la tarjeta se bloquea (6983 después de
63C0).
- Envía VERIFY con un PIN INCORRECTO:
- Qué anotar: la cuenta regresiva en la palabra de estado, y que ese veredicto no está firmado (nadie puede probar que lo dijo la tarjeta).
Tema: gestión de riesgo (nota: Quién decide si la venta pasa)
Ejercicio 12 — Encuentra los límites de tu terminal
- Objetivo: leer la configuración de riesgo de una terminal (la tuya, o la de un comercio amigo con permiso).
- Pasos:
- Si tienes acceso a la config de una terminal (p. ej. un mPOS propio), busca: límite de piso (9F1B), Terminal Type (9F35) y los códigos de acción (TACs).
- Decodifica el TVR de una transacción real: cada bit = algo que la terminal notó (bit 8 del byte 4 = excede el límite de piso).
- Qué anotar: ¿la terminal es "solo online"? ¿El piso es 0? ¿Qué bits del TVR se activaron en una compra real?
Tema: NFC (nota: El toque sin contacto)
Ejercicio 13 — La activación que nadie ve
- Objetivo: ver la capa 1 (anticolisión) con un Proxmark.
- Material: Proxmark3 + tarjeta contactless tuya.
- Pasos:
- Pon el Proxmark en modo sniffer/esnifador y acerca tu tarjeta.
- Identifica REQA → ATQA → ANTICOLLISION → SELECT UID → SAK → RATS → ATS.
- Anota el SAK: bit 6 = 1 y bit 3 = 0 significa "soy una tarjeta inteligente 14443-4".
- Qué anotar: los tiempos entre mensajes (µs) y qué tan distinto se ve el UID si tu tarjeta usa UID aleatorio.
Ejercicio 14 — TTQ y CTQ en una captura tuya
- Objetivo: ver los calificadores que deciden la verificación.
- Pasos:
- Haz un toque contactless con tu tarjeta y captura el GPO (script o app).
- Busca el TTQ (4 bytes que envía la terminal, dentro del GPO): byte 2 bit 7 = CVM requerido, bit 8 = online.
- Busca el CTQ (
9F6C, en la respuesta): byte 2 bit 8 = CDCVM realizado (en una tarjeta de plástico debe estar en 0).
- Qué anotar: qué pide tu tarjeta y qué declara la terminal, y que ninguno de los dos está firmado.
Tema: tokenización (nota: Tokenización - otro número de tarjeta)
Ejercicio 15 — Tu billetera, tu token
- Objetivo: ver un token en acción (el tuyo).
- Material: Apple Pay o Google Pay con TU tarjeta + teléfono con NFC + app de lectura.
- Pasos:
- Añade tu tarjeta a la billetera (aprovisionamiento real).
- Acerca el teléfono al lector y captura el GPO.
- Busca: el PAN (tag
5A) es un DPAN (no es el número de tu plástico), el9F24(Payment Account Reference) si está, y el9F6E(factor de forma = 4 bytes en Visa).
- Qué anotar: las diferencias entre el toque del teléfono y el de la tarjeta física (datos, CTQ con CDCVM en 1, longitud del PAN).
Tema: pagos instantáneos y QR (nota: Pagos al instante y QR)
Ejercicio 16 — Decodifica un QR de pago real
- Objetivo: leer un payload EMVCo a mano.
- Material: cualquier QR de pago de un comercio (fotografíalo) o uno que generes con una app de cobro.
- Pasos:
- Decodifica el QR a texto (cualquier lector te da la cadena).
- Separa en TLV de 2 dígitos:
00formato,01estático/dinámico,26-51cuenta del comercio,52categoría,53moneda,54importe (si lo trae),63CRC. - Verifica el CRC a mano (ISO 13239, polinomio 0x1021, init 0xFFFF, cubre todo incluyendo "63" y "04" pero no el valor).
- Qué anotar: qué campos trae el QR, si el importe está dentro (dinámico) o no (te lo piden a ti), y el beneficiario dentro de la plantilla de cuenta.
Tema: PCI DSS (nota: PCI DSS - la norma del alcance)
Ejercicio 17 — Sanitiza una captura tuya
- Objetivo: aplicar la regla de "sanitiza antes de guardar".
- Material: la captura del ejercicio 1 o 6.
- Pasos:
- Identifica en tu captura todos los lugares donde aparece el PAN: tag
5A, dentro de la57(antes del separadorD), y en el cert9F46si lo trae (recuperable con llaves públicas). - Reemplaza el PAN por un número de prueba publicado (4111...).
- Vuelve a leer: ¿el PAN sigue en algún lado? (los certificados casi siempre se olvidan).
- Identifica en tu captura todos los lugares donde aparece el PAN: tag
- Qué anotar: cuántas copias del mismo dato había, y qué regla de tu proceso la próxima vez (sustituir el PAN no basta).
Ejercicio 18 — Mini-scoping de un sistema real
- Objetivo: practicar la pregunta de alcance.
- Material: un sistema que conozcas (tu empresa, un proyecto amigo con permiso).
- Pasos: dibuja el flujo del PAN: ¿dónde se almacena, procesa y transmite? ¿Qué sistemas están conectados a esos? ¿Cuáles "podrían impactar" su seguridad (DNS, CDN, pipeline)? Marca lo que crees fuera de alcance y justifica con la prueba de "aunque esté comprometido, ¿puede impactar?"
- Qué anotar: el diagrama y las justificaciones — es el primer entregable de una auditoría real.
Tema: clonación y degradación (nota: Clonar datos, no tarjetas)
Ejercicio 19 — Copia tu propia banda (legal)
- Objetivo: entender qué se puede copiar y qué no.
- Material: MSR605 + tu tarjeta (o tarjeta de prueba que tú escribiste) + tarjeta virgen.
- Pasos:
- Lee tu pista (ejercicio 4), cópiala a una virgen.
- Prueba la copia en un lector: los datos se leen igual (nada los firma).
- Ahora intenta lo mismo con el chip: ¿puedes copiar el chip? No — necesitarías las llaves, que están en el hardware seguro.
- Qué anotar: la diferencia entre clonar datos (fácil, banda) y clonar una tarjeta (difícil, chip con llaves). Es exactamente la línea del módulo de clonación.
Ejercicio 20 — Degradación simulada (banda → chip)
- Objetivo: ver cómo un campo decide qué mecanismo se usa.
- Material: tu tarjeta con chip + MSR605 + lector que acepte banda.
- Pasos:
- Lee el service code de tu banda (ejercicio 4): primer dígito 2 o 6 = "tengo chip".
- Escribe una copia con el primer dígito cambiado a 1 ("no tengo chip") en tu tarjeta virgen.
- Preséntala en un lector que acepte banda (si el comercio permite fallback): la terminal tratará la copia como tarjeta sin chip.
- Qué anotar: qué decisión dependía de ese dígito sin firmar. (Hazlo SOLO con tu propia tarjeta virgen y tu propio lector.)
Tema: pre-play (nota: El pre-play)
Ejercicio 21 — Mide los números impredecibles de tu terminal
- Objetivo: aplicar la técnica de Bond et al. a una terminal tuya.
- Material: terminal/mPOS propia que puedas configurar (o un simulador).
- Pasos:
- Haz varias transacciones y captura el UN (tag
9F37en el GPO o GENERATE AC). - Alinea los valores en hex y mira columna por columna: ¿hay bits o nibbles constantes? ¿el valor crece con el tiempo (contador)?
- Repite tras reiniciar la terminal: ¿vuelve a empezar la secuencia?
- Haz varias transacciones y captura el UN (tag
- Qué anotar: "no observé estructura en N valores" solo vale si dices cuántos miraste y qué buscabas. Una muestra de 6 no prueba nada.
Tema: límites contactless (nota: Límites del toque)
Ejercicio 22 — Encuentra los límites de tu toque
- Objetivo: descubrir los 3 límites de una terminal.
- Material: terminal/mPOS propia + tu tarjeta.
- Pasos:
- Haz toques de importes crecientes (0.01, 1, 10, 30, 50...) y observa: ¿cuándo pide CVM? ¿cuándo va en línea? ¿cuándo rechaza y manda a insertar?
- En el GPO de cada toque, mira el TTQ byte 2: bit 7 (CVM requerido) y bit 8 (online) — son los bits dinámicos del preprocesamiento.
- Qué anotar: los 3 umbrales que encontraste y el bit que cambió. Los límites son configuración: cambian por país y por adquirente.
Tema: relay (nota: Relay - la tarjeta en otro lado)
Ejercicio 23 — Relay con NFCGate (tus dos teléfonos)
- Objetivo: ver un relay en acción sin comprar nada.
- Material: 2 teléfonos Android con NFC + app NFCGate (proyecto académico, código abierto).
- Pasos:
- Instala NFCGate en ambos. En uno activa "relay" como tarjeta (se comunica con el servidor del proyecto), en el otro como lector.
- Coloca TU tarjeta detrás del teléfono "tarjeta" y acerca el teléfono "lector" a una terminal tuya (o a otro teléfono con app de lectura NFC).
- Observa: la terminal lee tu tarjeta que está a metros de distancia.
- Qué anotar: que cada byte es auténtico (la tarjeta respondió de verdad) y que lo único falso es la distancia — no hay nada en los datos que lo delate.
Tema: resistencia al relay (nota: Contramedidas al relay)
Ejercicio 24 — Cronometra con un Proxmark
- Objetivo: medir dispersión honesta de tiempos.
- Material: Proxmark3 + tarjeta contactless tuya.
- Pasos:
- Esnifa 10 toques de tu tarjeta contra un lector.
- Mide el tiempo de respuesta del SELECT UID (capa 1) y del GPO (capa 3) en cada uno.
- Compara las dispersiones: la capa 1 varía en µs, la capa 3 en ms (porque hay procesamiento). Un relay se esconde en esa varianza.
- Qué anotar: media y desviación por comando — y por qué una cota de tiempo tiene que ser más ancha que la variación honesta.
Tema: SoftPOS (nota: La terminal en una app)
Ejercicio 25 — Revisa una app de cobro en tu teléfono
- Objetivo: ver qué afirma un SoftPOS sobre sí mismo.
- Material: una app de cobro (SumUp, Zettle, o similar) instalada en TU teléfono, con una cuenta tuya.
- Pasos:
- Revisa los permisos de la app (Android: ajustes → apps → permisos): ¿accede a cámara, micrófono, ubicación? ¿Por qué los necesita?
- Con la app en modo comercio, haz un toque con tu propia tarjeta y captura el TTQ (ejercicio 14): ¿qué bits declara? ¿"solo sin conexión" está en 0?
- Pregunta (sin romper nada): ¿qué pasa si activas las opciones de desarrollador? (algunos lectores mPOS bloquean el cobro).
- Qué anotar: el TTQ que escribió una app (no firmware certificado) y los permisos — es la terminal que tu cliente usará en su auditoría.
Tema: ISO 8583 / lado host (nota: El lado del host)
Ejercicio 26 — Construye y parsea un mensaje 0200
- Objetivo: dominar la estructura sin etiquetas.
- Material: Python.
- Pasos:
- Construye a mano un
0200: MTI + mapa de bits + DE 2 (PAN LLVAR) + DE 4 (monto de 12 dígitos) + DE 39 en la respuesta. - Calcula el mapa de bits tú mismo: bit 2 y bit 4 activos → byte =
01010000binario =50hex (según la posición de los bits). - Escribe un parser y pásale el mensaje: sin el mapa, ¿cómo sabrías dónde termina cada campo?
- Construye a mano un
- Qué anotar: la diferencia entre campos fijos y variables (LLVAR), y por qué un solo byte de longitud mal leído descarrila todo el mensaje.
Ejercicio 27 — El problema del dialecto
- Objetivo: ver que ISO 8583 no se autodescribe.
- Material: un mensaje real de tu proyecto (con permiso) o el de la nota 19.
- Pasos: toma el final del mensaje (los campos privados 48/49/60) e intenta decodificarlo con 2 reglas de longitud distintas (LLVAR vs LLLVAR). Cuenta cuántas lecturas plausibles consumen el mensaje exacto.
- Qué anotar: que la única fuente de verdad es la especificación de interfaz del enlace exacto — el estándar ISO no resuelve nada.
Tema: autorización (nota: Autorización online)
Ejercicio 28 — El monto viaja dos veces
- Objetivo: encontrar las dos copias del monto en un mensaje real.
- Material: una autorización real de tu proyecto (con permiso) o una captura tuya convertida.
- Pasos:
- Localiza el DE 4 (el monto que se compensa) y el
9F02dentro del campo 55 (el monto que firmó la tarjeta). - Cámbialos por separado (en una copia, no en producción): cambia solo el DE 4 → todas las verificaciones criptográficas siguen pasando (nada lo cubre). Cambia el 9F02 → el criptograma falla.
- Localiza el DE 4 (el monto que se compensa) y el
- Qué anotar: cuál copia está protegida y cuál decide el cobro — y que nadie está obligado a compararlas.
Ejercicio 29 — ¿Llegó el ARPC?
- Objetivo: verificar si la autenticación del emisor llegó a la tarjeta.
- Pasos: en una transacción online real, busca el tag
91en la respuesta al segundo GENERATE AC (los datos de autenticación del emisor: ARPC + Card Status Update). Si no está, la tarjeta recibió el código de aprobación sin prueba de origen. - Qué anotar: si el
91está presente y si el bit 8 del byte 2 del CSU (aprobado en línea) coincide con el código de respuesta.
Tema: terminales sin conexión (nota: Pagos sin conexión)
Ejercicio 30 — Tu lector en modo avión
- Objetivo: ver qué decide la terminal sin red.
- Material: mPOS propio + tu tarjeta.
- Pasos:
- Pon el teléfono en modo avión (sin datos).
- Haz un toque con tu tarjeta: ¿aprueba? ¿rechaza? ¿pide insertar?
- Repite con montos por encima y por debajo del límite: ¿cambia el comportamiento?
- Qué anotar: qué reglas aplicó la terminal localmente y qué comprobaciones se quedaron sin hacer (las del backend — nadie las consultó).
Tema: investigación (nota: Frentes abiertos)
Ejercicio 31 — Tu mini-instrumento
- Objetivo: construir la semilla de una herramienta de comparación entre capas.
- Material: Python + tus capturas.
- Pasos:
- Escribe un script que, de una captura, extraiga: el monto del CDOL1 (9F02 en el GENERATE AC) y el monto del mensaje de autorización (DE 4) si lo tienes.
- Compáralos y reporta las discrepancias.
- Añade una segunda comprobación: el ATC del criptograma vs el ATC del campo 55.
- Qué anotar: la disciplina del módulo de investigación — qué probaste en datos reales y qué solo en tus scripts.
Checklist para una auditoría de verdad
Cuando ya domines los ejercicios, esto es lo que se revisa en un trabajo real (todo con permiso escrito):
- Alcance: flujo del PAN, sistemas conectados, sistemas que "podrían impactar" (nota 12).
- Límites y config: 9F1B, TACs, Terminal Type, límites contactless (notas 7, 15).
- Capturas: sanitizadas antes de guardar, con contexto (nota 12).
- CVM: ¿qué reglas acepta la tarjeta y qué declara la terminal? (nota 6).
- Autenticación: ¿SDA/DDA/CDA? ¿certificados presentes y verificados? (nota 5).
- Campo 55: ¿qué etiquetas manda el adquirente y qué hace el host si falta una? (nota 21).
- Monto duplicado: ¿alguien compara DE 4 con 9F02? (nota 21).
- Stand-in y offline: ¿qué aprueba sin el emisor? (notas 20, 21).
- Reversas: ¿el switch detecta duplicados tras reinicio? (nota 19).
- IAD/CVR: ¿alguien lee el campo que la tarjeta escribió? (notas 10, 15, 20 — el campo que nadie lee).
Regla final: cada ejercicio es legal porque usa lo tuyo. En una auditoría, el permiso escrito es lo que separa la investigación del delito — y ninguna técnica de estas notas vale un expediente penal. (no seas wey)