CTF-All-In-One/doc/1.1_ctf.md
2017-11-18 23:14:13 +08:00

102 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 1.1 CTF 简介
- [概述](#概述)
- [赛事介绍](#赛事介绍)
- [题目类别](#题目类别)
- [高质量的比赛](#高质量的比赛)
- [竞赛小贴士](#竞赛小贴士)
- [搭建 CTF 比赛平台](#搭建-ctf-比赛平台)
## 概述
CTFCapture The Flag中文一般译作夺旗赛在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今已经成为全球范围网络安全圈流行的竞赛形式2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛类似于CTF赛场中的“世界杯”。
CTF 为团队赛,通常以三人为限,要想在比赛中取得胜利,就要求团队中每个人在各种类别的题目中至少精通一类,三人优势互补,取得团队的胜利。同时,准备和参与 CTF 比赛是一种有效将计算机科学的离散面、聚焦于计算机安全领域的方法。
## 赛事介绍
CTF是一种流行的信息安全竞赛形式其英文名可直译为“夺得Flag”也可意译为“夺旗赛”。其大致流程是参赛团队之间通过进行攻防对抗、程序分析等形式率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容并将其提交给主办方从而夺得分数。为了方便称呼我们把这样的内容称之为“Flag”。
CTF竞赛模式具体分为以下三类
1. 解题模式Jeopardy
在解题模式CTF赛制中参赛队伍可以通过互联网或者现场网络参与这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似以解决网络安全技术挑战题目的分值和时间来排名通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。
2. 攻防模式Attack-Defense
在攻防模式CTF赛制中参赛队伍在网络空间互相进行攻击和防守挖掘网络服务漏洞并攻击对手服务来得分修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况最终也以得分直接分出胜负是一种竞争激烈具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中不仅仅是比参赛队员的智力和技术也比体力因为比赛一般都会持续48小时及以上同时也比团队之间的分工配合与合作。
3. 混合模式Mix
结合了解题模式与攻防模式的CTF赛制比如参赛队伍通过解题可以获取一些初始分数然后通过攻防对抗进行得分增减的零和游戏最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。
## 题目类别
- Reverse
- 题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译功底。主要考查参赛选手的逆向分析能力。
- 所需知识:汇编语言、加密与解密、常见反编译工具
- Pwn
- Pwn 在黑客俚语中代表着攻破,获取权限,在 CTF 比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有整数溢出、栈溢出、堆溢出等。主要考查参赛选手对漏洞的利用能力。
- 所需知识COD+IDA数据结构操作系统
- Web
- Web 是 CTF 的主要题型,题目涉及到许多常见的 Web 漏洞,如 XSS、文件包含、代码执行、上传漏洞、SQL 注入等。也有一些简单的关于网络基础知识的考察如返回包、TCP/IP、数据包内容和构造。可以说题目环境比较接近真实环境。
- 所需知识PHP、Python、TCP/IP、SQL
- Crypto
- 题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术,以及一些常见编码解码,主要考查参赛选手密码学相关知识点。通常也会和其他题目相结合。
- 所需知识:矩阵、数论、密码学
- Misc
- Misc 即安全杂项,题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等,覆盖面比较广,主要考查参赛选手的各种基础综合知识。
- 所需知识常见隐写术工具、Wireshark 等流量审查工具、编码知识
- Mobile
- 主要分为 Android 和 iOS 两个平台,以 Android 逆向为主,破解 APK 并提交正确答案。
- 所需知识JavaAndroid 开发,常见工具
## 高质量的比赛
详见:[ctftime.org](http://www.ctftime.org)
- Pwn2Own
- 世界最难的黑客挑战赛
- 针对主流浏览器的远程攻击
- 要求沙箱逃逸
- CyberGrandChallenge
- 机器人的CTF攻防比赛
- 自动化漏洞挖掘、漏洞利用、程序分析、程序补丁
## 竞赛小贴士
- 寻找团队
- 彼此激励24小时以上的连续作战
- 彼此分享交流技术与心得是最快的成长途径
- 强有力的团队可以让你安心专注于某一领域
- 在黑暗中前行不会感到孤独
- 有效训练
- 坚持不懈地训练是成为强者的必经途径
- wargame
- 经典赛题配合writeup加以总结
- https://github.com/ctfs
以赛代练
总结与分享
- wargame推荐
- 漏洞挖掘与利用
- pwnable.kr
- https://exploit-exercises.com/
- https://io.netgarage.org/
- 逆向工程与软件破解
- reversing.kr
- http://crackmes.de/
- web渗透
- webhacking.kr
- https://xss-game.appspot.com/
- 综合类
- http://overthewire.org/wargames/
- https://w3challs.com/
- https://chall.stypr.com/?chall
- https://pentesterlab.com/
- id0-rsa.pub
## 搭建 CTF 比赛平台
- [FBCTF](https://github.com/facebook/fbctf) - The Facebook CTF is a platform to host Jeopardy and “King of the Hill” style Capture the Flag competitions.
- [CTFd](https://github.com/CTFd/CTFd) - CTFd is a Capture The Flag in a can. It's easy to customize with plugins and themes and has everything you need to run a jeopardy style CTF.
- [SecGen](https://github.com/cliffe/SecGen) - SecGen creates vulnerable virtual machines so students can learn security penetration testing techniques.
## 参考
https://baike.baidu.com/item/ctf/9548546#viewPageContent