Unique
1 minuto de lectura
Se nos dice que un vehículo estaba enviando el VIN (Vehicle Identification Number) y guardaron la captura de la señal en un archivo (trace_captured.sal
). Necesitamos encontrar el VIN.
Reconocimiento inicial
Podemos abrir trace_captured.sal
con Saleae Logic2:
Al principio, podemos seleccionar “Async Serial” y probar algunos bitrates:
Como podemos ver, los puntos no se ajustan a los pulsos de la señal. Podemos hacer algún cálculo para ver cuál es la tasa de bits correcta:
Parece que $7.64\; \mu\mathrm{s}$ es el periodo de bit, por lo que el bitrate es $(7.64\; \mu\mathrm{s})^{-1} \approx 130890\; \mathrm{bps}$:
Pero aún no es perfecto. Podemos ajustarlo un poco y descubrir que $125000\; \mathrm{bps}$ coincide perfectamente:
Mensajes CAN
Sin embargo, el protocolo no es “Async Serial”. De hecho, mientras investigaba sobre el VIN, descubrí que se puede consultar desde el puerto OBD-II, que tiene una conexión directa al CAN bus del vehículo.
Saleae Logic2 puede analizar mensajes CAN. Esperaba un identificador de comando como 0x0902
, como se dice en stackoverflow.com o en community.carloop.io, pero no estaba…
Flag
Sin embargo, si usamos el analizador de CAN, encontraremos la flag en algunas tramas:
HTB{v1n_c42_h4ck1n9_15_1337!*0^}