国科大CTF队 | 技术的世界任你翱翔
2018/8/6 21:49:33 中国科学院大学学生会

     CTF呼唤队友中——

    

     是否痴迷技术 梦想做geek ?

     是否灵感万千 但不知从何实现 ?

     是否越发感觉 玩惯的网游少了点营养 ?

     是否不喜单调 对未知与变化饥渴 ?

     是否厌倦独行 又不知何处找寻实力眼界相仿的同伴?

     做我们的队友 让你见识广阔而刺激的技术世界!

     WTF is CTF(Capture the flag)?

    

     (图文无关 图片来源于网络)

     一言以概之:CTF是黑客游戏。

     作为黑客游戏,一方面,这个游戏比拼的是 黑客技术,极端geek;另一方面,它是一个游戏,与实际黑客攻击不同,更重 趣味性与教学性,门槛偏低,受众更广。

     然而,即便考虑到受众更广,CTF的内容仍然紧追信息安全领域前沿,故相比ACM-ICPC等竞赛,CTF的难度逐年以惊人的速度 打滚增长, 增长速度仿佛只有比特币可以比拟。并且随着一届届老CTF队员毕业去公司参与现实中的黑客研究,CTF出现越来越多硬题,难度与壁垒极高,圈外人需要花大量时间和精力才能掌握圈内人认为的常识, 我们戏称,不把Windows源码背下来根本没机会做的题。典型如内核题、浏览器题等。 追上CTF难度疯涨的速度,是每一个CTF队员的使命; 超越CTF难度疯涨的速度,是每一个CTF队员的梦想。

    

     游戏规则

     CTF通常以队伍为单位参加,队伍人数一般不限。CTF比赛时长通常比ACM-ICPC等程序设计竞赛更长,多为一天至两天,但比赛仍然很紧张。

     游戏模式大体可分为两种。一种是解题模式,CTF的举办者出题,每队解出一道题后,会得到一个flag字符串,作为解出此题的凭据。将它提交到举办者的游戏服务器上,就可以获得该题的分数。国际比赛中解题模式比赛时长常为 24小时或48小时

    

     (提交flag的界面)

    

     (解题模式通常题目较多。图为33C3 CTF解题模式的计分版)

     另一种是攻防模式,每队控制一台服务器gamebox,上面挂着几个服务。通过黑进别人的服务器来获得flag,提交这些flag就可以从被攻击队不断得分。每个队不仅要攻破别人的gamebox得分,还要保护自己的gamebox免于被攻破而失分。

    

     (赛事的决赛通常为攻防模式。图为16年CISCN决赛的计分版,四种脸分别表示正常、宕机、被入侵、被入侵且宕机。)

     游戏内容

     解题模式的内容涉及信息安全的方方面面,粗略来说题型可以分为数类。

     逆向(Reversing)

    

     (“注册成功”)

     破解注册码。想象你下载安装了某个软件,却要输入序列号才能使用,于是你只好掘地三尺寻找序列号、注册机之类。破解注册码,便是逆向的一大应用。

    

     (传统逆向“神器”——IDA Pro)

     CTF的逆向题目提供一个二进制程序(例如Windows下的EXE文件),通常,这个程序接受一个字符串并校验,通过校验的字符串即为flag。

     广义的逆向包括更一般的阅读理解代码能力对二进制代码的批判性阅读,各类题型甚至一般的黑客工作对于代码阅读能力有很高要求, 甚至存在打着其他题型的旗号考察逆向能力或者打着逆向的旗号考察数学能力的情况,因此可以说,逆向是CTF的最基本技能,强大的阅读与理解代码能力是每一个优秀的CTF队员都需要拥有的。

     二进制利用(Pwnable)

    

     (exploit脚本成功界面,取自月赛题,CTF as in Cat The Flag)

     Pwn是一个黑客俚语,来源于动词“own”,意指攻破设备或者系统。Pwn所指的攻破,是通过利用目标设备或系统的程序存在的漏洞,改变其正常的流程,使之执行攻击者的代码,从而控制目标设备。肆虐全球的WannaCry病毒,利用的是“永恒之蓝”(EternalBlue)漏洞传播,这便是把攻破做到自动化的结果。

     CTF的Pwnable题目和逆向一样,也提供一个二进制程序,但它同时运行在一个服务器上,这要求你通过与服务器上这个程序交互, 黑进远程服务器,取得远程服务器上的秘密文件flag。

     值得一提的是,CTF的Pwnable题目基本都基于Linux,有的同学一开始会不适应。其实,Linux的内部原理比Windows简单得多,一旦适应,你会发现Linux更加顺手。 我们队急缺会做Windows Pwnable的选手!

     密码学(Cryptography)

    

     (SSL/TLS安全连接保证用户和服务器之间的连接是第三方不可解密的)

     密码学历史悠久,从古老的恺撒密码,到现在广泛使用的AES、RSA加密,都属于密码学的范畴。当人们想互相传递信息,而不希望信道上的其他人解读到这一信息,密码学的思想就已经产生了。CTF中的flag,正是不希望被其他人得到的信息。

     密码题提供一个密码算法或协议,要求你攻破它,获得明文flag。

     密码学涉及到大量抽象代数、数论等数学内容,是黑客间出数学题的极好地方。

     网站渗透(Web)

    

     (SQL注入攻击)

    

     这也是一类漏洞攻击的题目,但它要求黑进一个网站。通过网站设计上的漏洞,让自己拥有管理员的权限,窃取、篡改数据,甚至控制整个Web服务器,是不是很刺激?

     较单调僵硬的二进制代码相比,Web相关的语言更加依赖于字词的组合,因此很多Web漏洞的风格相对于二进制有很大不同,更像是因为对字符串处理的逻辑不合适导致的问题,如SQL注入就是将输入不合适地直接与命令拼接,输入原意是数据,却因为其与前后文结合后的新的语义被后台当作命令被处理,导致了漏洞(如输入一个引号以后,后面的内容就不是数据而是命令)。也有一些问题是错误使一些数据受到客户端控制,从而允许客户端伪造这些数据。Web结构复杂,漏洞的可能点也非常繁多。主办方如果长于Web,强强对决的比赛里Web题解出不到半数的情形也不罕见。

    

    杂项(Miscellaneous)

     (魂斗罗通关……?)

     什么都有。如果一个题型归不到上面四类,那么就是misc的。典型例子如文件隐写、流量分析、程序设计0CTF2018 Mayagame了解一下,上海交通大学出品分析纯ACM题目、其他益智黑客小游戏、无节操反套路Pwnable等。这是充分发挥脑洞的绝佳场所。

     此外

     CTF题目丰富多样,人类的脑洞无穷无尽,不同题型的杂交也不鲜见。典型如Web和Pwnable,目前已经出现过使用Web协议的Pwnable binary、用Web php与Pwnable交互、甚至用Web的方法操作远程环境将Pwnable原本没有漏洞的逻辑引入漏洞、等等。

     攻防模式

     攻防模式的内容更多偏向Pwn与Web这类有黑掉一个服务器概念的题型上。

     Who are we

     我们是CTF的大玩家。我们的队伍是 Never Stop Exploiting (NeSE),近年来在国内与世界赛场上刷新战绩,小有名气。战队的人员由国科大本科生与中科院信息工程研究所的研究生构成。

    

     (0CTF/TCTF 2018决赛 我们在比赛中)

     在过去的两年里,我们取得了巨大进步。我们不仅在国内赛场上名列前茅。国际赛场上,我们的光芒亦非常耀眼。

    

     (2017年我们在RCTF拿了第三、全国大学生信息安全竞赛线上拿了第一、0CTF线上第6线下第10、DEFCON CTF线上拿了第20)

    

     (2017年34C3 CTF线上第13)

    

     (2018年0CTF线上第13)

    

     (2018年强网杯线上第8)

     我们的进步空间很大。我们期待你的加入让我们更强大。

     做我们的队友,需要

     知识可以逐渐学习,但是优秀的CTF选手,需要有一些优秀的品质:

     不畏惧困难。

     对技术有纯净的热爱。

     坚守竞赛道德。

     作为加入我们的回报,我们会让你

     见到一个崭新的技术世界。

     极大提高计算机技术方面的知识广度、深度,以及学习能力、实现能力。

     拥有geek的道路自信与能力自信。成为别人的大腿,而不是抱别人的大腿。

     作为CTF队员所磨练出的优良品质,对未来人生有不可名说的强大助力!

     我们是国际强队之一,你有机会成为带领我们队杀进世界决赛,过五关斩六将的英雄!

     如果你变成了大佬,奖金拿到手抽筋哈哈哈……

     总之,成为让以前的你仰慕的自己。

    

     现在就加入我们,如何

    

     未来的队友,未来的新星,我们欢迎你的加入!

    

     中国科学院大学学生会 出品

     责编 | 王浩宇

    

     投稿邮箱:ucasxmt@163.com

    http://weixin.100md.com
返回 中国科学院大学学生会 返回首页 返回百拇医药