CTF竞赛简介

Capture The Flag,译作夺旗

Posted by Yewbs on March 23, 2018

Title: Banquet Still Life with Roses
Creator: Abraham van Beyeren
Date Created: 1665
Location Created: Netherlands
Physical Dimensions: 51 x 43 in. (129.5 x 109.2 cm)
Type: Painting
Medium: Oil on canvas

Capture The Flag,译作夺旗。

维基百科上显示,一种西方传统运动。此游戏进行方式是由两队人马互相前往对方的基地夺旗,每队人马必须把敌方的旗从敌方的基地带回自己队伍的基地。敌方的队员离开了自己的地区而到达另一方的地区可以被”点”到而出局,这要看比赛前同意的规则是如何的,点到的球员可以是暂时出局或完全出局。

但我们这里的CTF,是网络安全圈子里的CTF,是指一种网络安全技术人员进行技术竞技的比赛形式。

CTF的前世今生

CTF前身是传统黑客之间的网络技术比拼游戏,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式,后于1996年第四届DEFCON全球黑客大会上正式开展第一届CTF竞赛。

早期的CTF竞赛

最开始的CTF比赛(1996年-2001年),没有明确的比赛规则,没有专业搭建的比赛平台与环境。由参数队伍各自准备比赛目标(自己准备的比赛目标自己防守并要尝试攻破对方提供的比赛目标)。而组织者大都只是一些非专业的志愿者,接受参赛队伍的手工计分请求。

没有后台自动系统支持和裁判技术能力认定。计分延迟、误差、不可靠的网络和不当的配置,导致比赛带来了极大的争论与不满。

现代的CTF竞赛

由专业队伍承担比赛平台的设计、命题、赛事组织以及自动化积分系统。同时,引入了反作弊机制、按难度自动调整题目分数的机制,使得比赛更加公平。另外,比赛平台更多地引入了图形化界面,可以实时查看攻防情况,使得比赛更具有观赏性。

就 LegitBS 组织的三年 DEFCON CTF 比赛而言,有以下突出特点:

  • 比赛侧重于对计算机底层和系统安全的核心能力,Web 漏洞攻防技巧完全被忽略。
  • 竞赛环境趋向多 CPU 指令架构集,多操作系统,多编程语言。
  • 采用「零和」计分规则。
  • 团队综合能力考验:逆向分析、漏洞挖掘、漏洞利用、漏洞修补加固、网络流量分析、系统安全运行维护以及安全方面的编程调试。

CTF的竞赛模式

解题模式

解题模式(Jeopardy)一般用于线上选拔赛。

在解题模式 CTF 赛制中,参赛队伍可以通过互联网或者现场网络参与,参数队伍通过与在线环境交互或文件离线分析,解决网络安全技术挑战获取相应分值,类似于 ACM 编程竞赛、信息学奥林匹克赛,根据总分和时间来进行排名。

不同的是这个解题模式一般会设置 一血二血三血 ,也即最先完成的前三支队伍会获得额外分值,所以这不仅是对首先解出题目的队伍的分值鼓励,也是一种团队能力的间接体现。

当然还有一种流行的计分规则是设置每道题目的初始分数后,根据该题的成功解答队伍数,来逐渐降低该题的分值,也就是说如果解答这道题的人数越多,那么这道题的分值就越低。最后会下降到一个保底分值后便不再下降。

题目类型主要包含 Web 网络攻防Reverse 逆向工程Pwn 二进制Crypto 密码学Mobile 移动安全 以及 Misc 安全杂项 这六个类别。

攻防模式

攻防模式(Attack & Defense)常见于线下决赛。

在攻防模式中,初始时刻,所有参赛队伍拥有相同的系统环境(包含若干服务,可能位于不同的机器上),常称为 gamebox,参赛队伍挖掘网络服务漏洞并攻击对手服务获取 flag 来得分,修补自身服务漏洞进行防御从而防止扣分(一般来说防御只能避免丢分,当然有的比赛在防御上可以得分)。

攻防模式可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续 48 小时),同时也比团队之间的分工配合与合作。

一般比赛的具体环境会在开赛前一天或者当天开赛前半小时由比赛主办方给出(是一份几页的小文档)。在这一段时间内,你需要根据主办方提供的文档熟悉环境并做好防御。

在比赛开始前半小时,这半小时内是无法进行攻击的,各支队伍都会加紧熟悉比赛网络环境,并做好防御准备。至于敌方 Gamebox 的 IP 地址,则需要靠你自己在给出网段中发现。

如果是分为上午下午两场攻防赛的话,那么上午和下午的 Gamebox 漏洞服务会更换(避免比赛中途休息时选手交流),但管理时要用的 IP 地址什么的不会改变。也就是下午会换新题 。

CTF的竞赛内容

CTF竞赛的内容一般来说主要分为六大类别:Web 网络攻防Reverse 逆向Pwn 二进制Crypto 密码学Mobile 移动安全 以及 Misc 安全杂项

Web网络攻防

web网络攻防是CTF竞赛的主要题型,WEB 类的题目种类繁多,知识点细碎,时效性强,能紧跟时下热点漏洞,贴近实战。题目涉及但不限于XSSSQL注入文件包含代码执行CSRFSSRF文件上传等。

所需知识:常见web安全知识、代码审计、php常见漏洞、常用web框架安全、数据库、计算机网络、TCP-IP等。

Reverse逆向

逆向工程一般在CTF中涉及Windows、Linux平台的软件逆向、破解技术,要求利用常用工具对源代码及二进制文件进行逆向分析,掌握加解密、内核编程、算法、反调试和代码混淆技术。

所需知识:操作系统、编译原理、汇编、加解密,反编译工具,高级语言编程经验。

Pwn二进制

PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,通过这些溢出漏洞达到提权以及获取稳定 shell 等目的。

其中常见类型溢出漏洞有栈溢出、堆溢出。主要考察参数选手对漏洞的利用能力。

所需知识:C语音、IDA、数据结构、操作系统、常见算法。

Crypto密码学

Crypto主要考察各种加解密技术,包括古典密码学和现在密码学,古典密码学趣味性强,种类繁多,现代密码学安全性高,对算法理解的要求较高。此外,有时候还包括一些常见的编码解码技术,也归档在密码学题目中。

所需知识:矩阵、数论、古典密码学、流加密、块加密、非对称加密、哈希、数字签名等。

Mobile移动安全

移动安全题目主要涉及安卓逆向的相关知识,安卓逆向常常需要一定的安卓开发知识,需要掌握 Android 移动应用 APK 文件的逆向分析,iOS 逆向题目在 CTF 竞赛中较少出现,因此不作过多介绍。

所需知识:Android开发基础、脱壳技术、动静态分析、汇编/反汇编,IDA等。

MISC安全杂项

Misc 是英文 Miscellaneous 的前四个字母,杂项、混合体、大杂烩的意思。

题目涉及图片隐写、视频隐写、文档隐写、流量分析、协议分析、电子取证、人肉搜索、数据分析、大数据统计、IoT等,覆盖面比较广,五花八门、种类繁多,主要考查参赛选手的各种基础综合知识。

所需知识:隐写术工具、wireshark等流量分析工具、编码知识、搜索取证、大数据等。

CTF赛事

国外

  • DEFCON CTF:CTF赛事中的“世界杯”
  • UCSB iCTF:来自UCSB的面向世界高校的CTF**
  • Plaid CTF:包揽多项赛事冠军的CMU的PPP团队举办的在线解题赛
  • Boston Key Party:近年来崛起的在线解题赛
  • Codegate CTF:韩国首尔“大奖赛”,冠军奖金3000万韩元
  • Secuinside CTF:韩国首尔“大奖赛”,冠军奖金3000万韩元
  • XXC3 CTF:欧洲历史最悠久CCC黑客大会举办的CTF
  • SIGINT CTF:德国CCCAC协会另一场解题模式竞赛
  • Hack.lu CTF:卢森堡黑客会议同期举办的CTF
  • EBCTF:荷兰老牌强队Eindbazen组织的在线解题赛
  • Ghost in the Shellcode:由Marauders和Men in Black Hats共同组织的在线解题赛
  • RwthCTF:由德国0ldEur0pe组织的在线攻防赛
  • RuCTF:由俄罗斯Hackerdom组织,解题模式资格赛面向全球参赛,解题攻防混合模式的决赛面向俄罗斯队伍的国家级竞赛
  • RuCTFe:由俄罗斯Hackerdom组织面向全球参赛队伍的在线攻防赛
  • PHD CTF:俄罗斯Positive Hacking Day会议同期举办的CTF
  • ……

国内

  • XCTF全国联赛:中国网络空间安全协会竞评演练工作组主办、南京赛宁承办的全国性网络安全赛事平台,2014-2015赛季五站选拔赛分别由清华、上交、浙大、杭电和成信技术团队组织(包括杭电HCTF、成信SCTF、清华BCTF、上交0CTF和浙大ACTF),XCTF联赛总决赛由蓝莲花战队组织。XCTF联赛是国内最权威、最高技术水平与最大影响力的网络安全CTF赛事平台。
  • AliCTF:由阿里巴巴公司组织,面向在校学生的CTF竞赛,冠军奖金10万元加BlackHat全程费用。
  • XDCTF:由西安电子科技大学信息安全协会组织的CTF竞赛,其特点是偏向于渗透实战经验。
  • HCTF:由杭州电子科技大学信息安全协会承办组织的CTF
  • ISCC:由北理工组织的传统网络安全竞赛,最近两年逐渐转向CTF赛制。
  • TCTF:TCTF由中国网络空间安全协会竞评演练工作委员会指导、腾讯安全发起、腾讯安全联合实验室主办,0ops战队和北京邮电大学协办的CTF竞赛.
  • ……

CTF训练平台

国内平台

国外平台

本篇部分内容直接或间接来源于CTF wiki,想要了解更多CTF相关知识,可自行前往.

感谢所有开源贡献者的无私奉献。