Saturday, June 11, 2011

CTF Quals 2011记录

上周末跟几个朋友一起参加了 DEF CON 19 CTF Quals, DEF CON是一年一度的黑客大会, 期间会举办一些比赛, 最有名的就是CTF (Capture the Flag). 要进入CTF世界总决赛, 必须先参加CTF Quals, 也就是预选赛, 这是一个在线的竞速赛, 前12名就可以免费去Las Vegas. 当然我们是去不了了, 虽然比赛前还各种畅想…

今年的题型和往年不同, 新增了两类题. 当然这是从题型的名字上来说的, 其实考查的知识点还是大同小异, 只是今年的题要变态很多. 你可以在 这里 看到今年的所有题目, 一共有5种题型:

  • Grab Bag: 这里面的题是各种混杂
  • Retro Revisited
  • Binary L33tness
  • Potent Pwnables: 逆向工程题居多
  • Forensics

每种题型都有5道题, 分值分别是100, 200, 300, 400, 500. 我主要负责Forensics, 有点类似于数字取证, 也同时涉及一些与文件格式相关的知识. 网络安全领域我接触不多, 但是由于CTF Quals的大部分题都是在Unix/Linux下进行, 所以还是可以帮上一些忙. 比赛前做了一些准备, 把前三年的题都看了一遍, 当时感觉题目难度还行, 搞定100、200应该可以, 后面的如果下些功夫再加上运气也许也能做出来, 不过今年的题确实把我打击得不小.

比赛开始时间是6月4日凌晨3点, 我们几个人在3号晚上11点左右就提前聚集到实验室等待, 期间我等得无聊的时候便从萝莉哥那里拷了一部叫 Hackers 的电影来看. 这电影实在是不咋的, 拍得有点太假了, 不过里面的男女主角居然是sick boy和Angelina Jolie, 倒是有点意外. 终于到3点了, 但官网迟迟没有公布比赛网址, 在IRC里面看到有人在说服务器停电了需要推迟6个小时, 当时就觉得这也太滑稽了, 这么大一比赛居然会出这种状况. 后来证明我们并不需要等6个小时, 那是一个假消息, 不过比赛还是推迟了1个小时左右.

接下来就是艰苦的做题过程, 由于时差问题, 我们不得不熬了两个通宵. B100是最先放出的题目, 这道题多亏源哥思路活跃, 想到了把所有字符Base64解码, 可我们还是卡在了最后一步, 找不出key在哪里, 事后看别人的write-up时真是撞墙的冲动都有, 原来key就直接写在那里, 我们又想复杂了…

RR100很搞笑, 题目只有三根横线和一个感叹号: ____ ___ ______!, 当时大叔跟我说这道题的时候我立刻就想到了 “Hack the planet!”, 为什么呢? 因为这就是 “Hackers” 电影里的一句台词… 真是巧合, 看来CTF的人很喜欢这部电影, 往年的题目也有提到这句话.

F100是一道诡异的图片题, 给了一个19025x1像素的PNG图片, 这次还是源哥想到可以把图片切成很多段, 再拼接起来说不定会有什么结果. 事实是我们的确把图片拼出来了, 但却是误入了red herring, 我们把切割的像素搞错了. 只要切割正确, key立刻就会呈现出来, 这又是一道撞墙题.

F200倒是一道很典型的Forensics题目, 给了一个NTFS文件系统的dump, 需要从中找出蛛丝马迹. 往年这类题都是要想办法提取出文件系统中被删除的文件和内容, 今年貌似不太一样, 因为这个文件系统里没有删除过文件… 里面有100个文件夹, 每个文件夹里又有220个以key打头的小文件, 这倒如何是好? 每个key文件用 hexdump 看确实是有一些规律, 其中只包含了0到9, A到F这些字符, 这很容易联想到16进制, 但提取出来再组合成二进制文件貌似也没有什么特别的地方, 这道题也就卡在这里. 不过这道题貌似也没有队伍做出来, 现在还不清楚该如何解决.

F300是一道很有意思的题, 直接给了一个iOS系统的dump, 里面包含了成千上万的小文件、图片、音乐等等内容. 题目的提示说这道题跟一个地名有关, 于是我们就在里面寻找任何跟地址有关的信息. 最开始查了短信记录, 分析出这个iPhone貌似是一个二手货. 后来又看了邮件记录, 这里面倒是有很多地名, 还有一个貌似摩斯码的东西, 让我们欣喜若狂以为找到了key, 结果提交上去一个都不正确. 后来看write-up才知道是以iPhone定时记录的GPS信息为线索, 这个是不是在讽刺苹果侵犯用户隐私呢? :) 通过GPS找到的地点居然是在南极洲… 而且从Google地图上可以神奇地发现 那里 有一个类似藏宝图上红X的标记, 这道题果然跟海盗、宝藏有关, 真是佩服出题人. 后面找到key就顺理成章了.

F400因为时间关系我们没怎么看, 但需要利用的是 JailbreakMe 发现的针对iOS的PDF漏洞, 只要知道这个这道题也就迎刃而解.

几天时间下来遗憾颇多, 也能感到与高手间的差距, CTF Quals是竞速赛, 因此不仅要会做, 还得做得快, 毕竟这么大的题量不是一般人能搞定的. 地域文化的差别有时也会导致某些题目只有美国选手比较了解. 无论怎样, 能够在毕业之前和几个朋友一起参加这个比赛, 这种经历很爽, 明年我还希望再来.

No comments:

Post a Comment