Brief

Reverse a simulated vehicle ECU and work through five UDS-over-CAN challenges. Start with a public diagnostic identifier, then investigate security-access keys, diagnostic sessions, protected memory and reset-time state.

Connect over SSH as tester, with password tester. Each SSH login gets a fresh directory under /home/tester/work.

The virtual CAN interface is vcan0; requests use 0x7E0 and responses 0x7E8. Python, python-can, can-isotp, vim and can-utils are available inside the lab. Each flag earns points separately; capture all five to pwn the chamber.

Players in the Lab instance share ECU state. Work left behind is cleared after the last SSH session ends, and the ECU restarts for the next player. During overlapping sessions, players still use the same tester account. Subscribers may launch a private copy that only they can connect to. The Lab instance resets every two hours; an extended private copy keeps its three-hour ECU reset.

Hints

Open them one at a time
Hint 1

To learn UDS protocol, visit the online emulator: UDS Protocol Simulator

Hint 2

The dev accidently left a backup under /home/tester/backups/uds_server_20260702.zip!

Details

Released
2026-11-09
References
4xura.com
Writeups
1 from players
Author
axura
Tags
udscanreversingautomotive

Adapted from 4xura/uds-ctf. Includes the MIT-licensed driftregion/iso14229 implementation.