If you do not like reverse engineering but still like security challenges, we built one for you. And you can use your brain to get a free entry to HITB KUL: https://conference.hitb.org/hitbsecconf2014kul/

Here and back again, a story of C and Python. This CTF will test your knowledge of Python. Not only your knowledge of the Python language, nooooooo, your knowledge of the Python internals, the C API, CPython too!

Hall of Fame

Player Speed run Medals
commial Fri, 5 Sep 2014 00:17:32 former Qb trainee
kevmod Fri, 5 Sep 2014 02:40:08 Speedy Gonzales
hackedd Fri, 5 Sep 2014 22:31:32  
haypo Sat, 6 Sep 2014 01:53:03  
0vercl0k Sat, 6 Sep 2014 03:06:20 Gollum
Murachue Sat, 6 Sep 2014 07:48:19  
huyna89 Sun, 7 Sep 2014 14:41:20 Jon Snow
iodboi Sun, 7 Sep 2014 21:52:34  
cregnec Mon, 8 Sep 2014 22:09:12  
tlk Tue, 09 Sep 2014 23:14:39  
hakril Thu, 11 Sep 2014 20:57:18  

Warming Up

An URL is hidden in this snippet:

(lambda g, c, d: (lambda _: (_.__setitem__('$', ''.join([(_['chr'] if ('chr'
in _) else chr)((_['_'] if ('_' in _) else _)) for _['_'] in (_['s'] if ('s'
in _) else s)[::(-1)]])), _)[-1])( (lambda _: (lambda f, _: f(f, _))((lambda
__,_: ((lambda _: __(__, _))((lambda _: (_.__setitem__('i', ((_['i'] if ('i'
in _) else i) + 1)),_)[(-1)])((lambda _: (_.__setitem__('s',((_['s'] if ('s'
in _) else s) + [((_['l'] if ('l' in _) else l)[(_['i'] if ('i' in _) else i
)] ^ (_['c'] if ('c' in _) else c))])), _)[-1])(_))) if (((_['g'] if ('g' in
_) else g) % 4) and ((_['i'] if ('i' in _) else i)< (_['len'] if ('len' in _
) else len)((_['l'] if ('l' in _) else l)))) else _)), _) ) ( (lambda _: (_.
__setitem__('!', []), _.__setitem__('s', _['!']), _)[(-1)] ) ((lambda _: (_.
__setitem__('!', ((_['d'] if ('d' in _) else d) ^ (_['d'] if ('d' in _) else
d))), _.__setitem__('i', _['!']), _)[(-1)])((lambda _: (_.__setitem__('!', [
(_['j'] if ('j' in _) else j) for  _[ 'i'] in (_['zip'] if ('zip' in _) else
zip)((_['l0'] if ('l0' in _) else l0), (_['l1'] if ('l1' in _) else l1)) for
_['j'] in (_['i'] if ('i' in _) else i)]), _.__setitem__('l', _['!']), _)[-1
])((lambda _: (_.__setitem__('!', [1373, 1281, 1288, 1373, 1290, 1294, 1375,
1371,1289, 1281, 1280, 1293, 1289, 1280, 1373, 1294, 1289, 1280, 1372, 1288,
1375,1375, 1289, 1373, 1290, 1281, 1294, 1302, 1372, 1355, 1366, 1372, 1302,
1360, 1368, 1354, 1364, 1370, 1371, 1365, 1362, 1368, 1352, 1374, 1365, 1302
]), _.__setitem__('l1',_['!']), _)[-1])((lambda _: (_.__setitem__('!',[1375,
1368, 1294, 1293, 1373, 1295, 1290, 1373, 1290, 1293, 1280, 1368, 1368,1294,
1293, 1368, 1372, 1292, 1290, 1291, 1371, 1375, 1280, 1372, 1281, 1293,1373,
1371, 1354, 1370, 1356, 1354, 1355, 1370, 1357, 1357, 1302, 1366, 1303,1368,
1354, 1355, 1356, 1303, 1366, 1371]), _.__setitem__('l0', _['!']), _)[(-1)])
            ({ 'g': g, 'c': c, 'd': d, '$': None})))))))['$'])

Where to start

Get the file at the URL above, then use your brain!

How to win

You need to find the title of a fan song hidden in the program. You will know you have found the right title when its salted SHA256 is:

61b42c223973996c797a9a366c64c3595052ff71089b4ff13d3251b66b6366e9

salted with:

bacalhau

In order to win, send this information to hitbkul14-AT-quarkslab.com

Once you have sent us an email, we will wait 1 week at most to get a document describing how you solved the challenge. Without that document, you can not be a winner.

Note that the timing will be based on the 1st email, the one with the song title.

What to win and who can win

We have 3 free tickets to offer to attend to HITB KUL: https://conference.hitb.org/hitbsecconf2014kul/

So, it means 3 winners:

  • Speedy Gonzales: the fastest correct answer received will get a prize.

  • Gollum: he always finds twisted way to achieve its goal! We decided to create a prize rewarding the best "hack" of our challenge. So, a ticket will go to the most creative solution we will receive.

  • You know nothing, Jon Snow: this prize is for student only. In order to encourage junior people to move to security, come party^W attend to a major security event, meet people, and learn a lot.

These 3 winners will have their solution published here.

Creditz

Serge Guelton as a chiptune addict, and Nicolas Szlifierski, his trainee who managed to code in spite of the strange music in the desk.


If you would like to learn more about our security audits and explore how we can help you, get in touch with us!