What enabled it all was a system programmer who used predictable TCP sequence numbering, according to this nicely done story in Wired. "The problem occurs between the door controller and the server, which communicates with a persistent TCP session with 'very, very predictable sequence numbering.' Essentially, it increments by 40 for each new command," the story said. "This means an attacker on the network can, while conducting a man-in-the-middle attack, intercept a 'door unlock' command and easily guess the next sequence number. Then, any time he wants to open a targeted door, he can sniff a packet to determine the current sequence number and send an 'unlock' command into the session with the next sequence number and the IP address of the administrator, fooling the system into thinking it’s a legitimate command. The command could remotely unlock one door or all the doors on an entire facility."
Beware Of Getting Too Clever With RFID: The Door Hack
It would be nice to be able to remotely—and automatically—lock or unlock all doors throughout a retail chain at designated times, potentially leveraging RFID and wireless network access. Nice, that is, for bad guys who want easy access to your warehouse and other secure areas. At least that's the premise of one researcher who cracked an electronic access system at the network control level and opened a door with a spoofed command sent over the network. As a nice touch, he also bypassed the audit log so the system wouldn’t see that someone opened the door.