 Coffee Space
Coffee Space 
This was a competition run by Deloitte [1], a security consultancy
company inviting University students and graduates to test their grey
matter in one of their head quarters in London. The competition was in
general extremely interesting, not relying on people’s abilities to run
programs such as metasploit in kali to get
told the solution to the problem.
The problems posed in the competition were much more in the practical sense, including the following categories:
The incentive to solving these problems were to get MD5
hashes that in turn translated to points, something that was viewable to
all teams at the event to monitor each other’s progress.
Further on we will discuss what these challenges entailed and how to complete them.
This challenge basically entails a windows program written to simulate this game played at random with a large number of rounds. This game is built on the theory for the same named game [2]. Entering the set letters for the game, followed by the enter key would allow you to progress. You needed to win all levels in order to gain the key. To play this game at random or with a set move would take a lot of time, hence the reason to solve it in a different way.
The difficulty of the problem was:
0001 Win one round: 1/5 = 0.2 0002 Number of rounds 0003 0.2^15 = 3.2768 x 10^-11
Basically a 1 in 30,517,578,125 chance of getting the correct answer - which is a tonne of times to try the program. On average you would have to try half of the possibilities before getting lucky, saying the program took 50ms to run each time (conservative) - then it would take 762939453.125 seconds. That’s 12715658 minutes, 211928 hours, 8830 days or 24 years to us normal folk.
The solution in the end was to patch the random number generation,
bringing the number of solutions drastically down to just
5 x 15, or a maximum of 75 attempts to locate the answer.
This takes significantly less time than 24 years!
This challenge used an Arduino and a 433MHz receiver to pick up a
transmission in the room. Reading this transmission gave a code that
looked a lot like a MD5 hash but was in the wrong format.
The message was in 24 bits, with only 10 bits of that information
actually changing.
The solution was to sum each of the numbers together in sequence and
cast to a char (one or two bytes long). This wasn’t based
on any standards and was particularly difficult to reverse engineer
without there being any clues. No teams managed to solve this problem on
the day.
More analysis coming at a later date.