Clear it in 3 steps
Start the environment
Investigate the target
Submit the flag

Repair firmware.bin by writing KINO at bytes 0-3 and the little-endian CRC32 of bytes 12+ at bytes 8-11. Submit the repaired file to challenge.py to print the startup-injected FLAG.
Modify the file with bytearray
Use zlib.crc32(data[12:])
Store it using to_bytes(4, 'little')