什么是 CTF?
CTF(Capture The Flag)是一种资讯安全竞赛的形式,通常将挑战题目分为数种主要类型,例如:
- Pwn (Binary Exploitation) :破解或攻击程式,利用其弱点(漏洞)取得目标机器或执行未被预期的动作。
- Reverse (Reverse Engineering):逆向工程,分析程式码或档案运作方式,找出演算法逻辑或破解方法。
- Web (Web Exploitation):针对网站常见漏洞(SQL Injection、XSS、File Inclusion 等)进行渗透测试和漏洞利用。
- Forensics (数位鉴识):分析系统、记忆体或封包,透过蛛丝马迹取得 Flag。
- Crypto (密码学):解密、分析密码或加密演算法,甚至自行推导解密方式。
- Misc (杂项):包含 OSINT、编码转换、隐写术(Steganography)等比较零散的主题。
不同 CTF 会根据赛制与性质分配不同的题目类型,也有部分竞赛主打特定范围(如纯 Web 或纯逆向)。
CTF 比赛类型分类
1. Jeopardy(解题型)
这是最常见的 CTF 赛制,参赛者需要从多种题目中选择解题,目标是找到题目隐藏的 Flag,根据题目难度获得相应分数。
-
特点
题目多样,涵盖 Pwn、Reverse、Web、Crypto、Forensics 等领域。
参赛者可以自由选择擅长的题型解题,分数通常累积到比赛结束。
-
适合对象:初学者与进阶玩家都可参加,对个人与小型团队特别友善。
-
范例比赛:picoCTF、Google CTF(Quals 赛)、AIS3 Pre-exam。
2. Attack-Defense(攻防型)
攻防型 CTF 更注重实战,模拟真实的网路攻防情境。参赛团队需在指定的基础环境中,攻击对手的伺服器同时保护自己的服务。
-
特点
团队需要同时具备进攻(渗透测试、漏洞利用)与防御(漏洞修补、日志分析)能力。
赛事进行中,团队需快速回应对手攻击,同时在规定时间内得分。
-
适合对象:进阶玩家、团队合作能力强的参赛者。
-
范例比赛:DEF CON CTF(决赛)、HITCON CTF(部分赛制)。
3. King of the Hill(KoTH)
KoTH 是一种特殊的 CTF 比赛类型,参赛者需要攻陷目标系统(通常是一台虚拟机或服务),并在夺得控制权后进行防御,防止其他参赛者夺回系统的控制。
-
特点
比赛期间,参赛者需要攻击其他参赛者的已控主机,同时巩固自己对主机的控制权。
参赛者获得分数的时间取决于他们对目标的控制时间长短。
比赛结束时,控制系统时间最长的队伍或个人获胜。
-
防御与攻击并重
除了渗透测试技术,还需具备系统加固、防御与监控的能力(如修补漏洞、阻止其他攻击)。
需要快速分析系统漏洞,并在有限时间内设置防御机制。
-
适合对象
进阶玩家或对攻防兼具技能有兴趣的参赛者。
-
范例比赛:Hack The Box KoTH、TryHackMe KoTH 模式。
CTF 类型的区别
| 特点 | King of the Hill | Attack-Defense | Jeopardy |
|---|---|---|---|
| 目标 | 夺取并保持控制权 | 攻击对手并防御自己的服务 | 解决独立题目以取得 Flag |
| 焦点 | 同时进行攻击与防御 | 主要专注于服务防御与攻击 | 以解题能力为主 |
| 比赛方式 | 所有参赛者攻击同一目标并竞争控制权 | 团队之间互相攻击与防御 | 各自解决题目,没有直接对抗 |
| 难度 | 高,需兼顾攻防技术 | 高,需了解渗透与防御的完整流程 | 中至高,视题目难度而定 |
4. Boot2Root(主机渗透型)
参赛者需要进入一个目标机器(通常为虚拟机),利用渗透测试技术攻入系统,并在最高权限(Root 权限)下找到 Flag。
-
特点
强调渗透技术和对系统漏洞的理解。
过程涉及资讯搜集、漏洞分析、利用、权限提升等完整流程。
-
适合对象:喜欢主机渗透测试、想模拟真实环境的玩家。
-
范例平台:Hack The Box、TryHackMe。
5. Real-World Simulation(真实世界模拟型)
这类比赛聚焦于模拟真实世界的安全事件,例如针对公司内部网路、工控系统(ICS)、云端服务进行渗透测试或攻防。
-
特点
题目更贴近企业实际场景,涉及多层网路架构与复杂应用。
强调团队合作,解决多面向问题。
-
适合对象:有企业安全背景或希望参与真实场景的进阶玩家与团队。
-
范例比赛:Cyber Apocalypse CTF、Cyber Defence Exercise(CYBER-X)。
6. AI/自动化型 CTF
部分比赛专注于结合人工智慧(AI)技术与资安竞赛,要求参赛者开发自动化工具进行漏洞探索、攻击或防御。
-
特点
高度依赖编程能力和算法设计。
题目通常具有学术或研究性质。
-
适合对象:熟悉 AI、机器学习或算法研究的参赛者。
-
范例比赛:DARPA Cyber Grand Challenge。
7.教育型 CTF(Learning-Based)
这类比赛设计目的是教育与培训,例如专为新手设计的题目,帮助参赛者逐步学习资安概念与技能。
-
特点
题目附有提示与教学指引,适合练习基础技能。
目标是提升参与者的知识与实践能力,而非竞争性。
-
适合对象:新手、学生、希望从头学习的玩家。
-
范例比赛:picoCTF、OverTheWire、AIS3 Pre-exam。
8.企业实战 CTF(Red Team vs. Blue Team)
由企业或资安组织主办,比赛通常设计为「红队 vs 蓝队」模式。参赛者分为攻击方(红队)与防御方(蓝队),模拟企业内部的攻防场景。
-
特点
比赛设计高度贴近实际企业安全需求,涵盖事件响应、威胁检测等内容。
适合有意进入企业资安工作的参赛者。
-
适合对象:企业内资安团队、进阶资安工程师。
-
范例比赛:Cybersecurity Attack & Defense Exercise。
如何选择适合的比赛类型?
-
新手玩家
建议从Jeopardy 型或教育型 CTF开始,例如 picoCTF、AIS3 Pre-exam、OverTheWire。
-
进阶玩家或团队
可挑战攻防型 CTF或混合型 CTF,如 HITCON CTF、Google CTF。
-
实战导向
若希望模拟真实环境或学习企业场景,选择Real-World Simulation或Boot2Root 型比赛。
-
学术与研究兴趣
对 AI 或演算法有兴趣的玩家可参与AI 相关 CTF。