基础知识
这里仅做CTF术语和常识的记录,更多CTF相关知识见Blog CTF Tag。
不要觉得CTF很神秘,通俗的说法,你可以把CTF当作网络安全专业的奥赛。
CTF术语
-
CTF
-- Capture the Flag, 中文译为“夺旗赛”,指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。 -
Writeup
-- CTF比赛中题目的解答。 -
AWD
-- Attack With Defence,一种CTF比赛模式,常见于CTF线下赛,比赛中每个队伍维护多台服务器,服务器中存在多个漏洞,利用漏洞攻击其他队伍可以进行得分,修复漏洞可以避免被其他队伍攻击失分。 -
first blood
-- 一血,在CTF比赛中第一个解开某道题的人可称为拿到first blood,一般来说拿到first blood的积分加成会比后面解开此题的人得分更多。
CTF比赛题型
Web
-- 常见的Web安全类题,但是题目不一定很简单。Crypto
-- 密码学相关知识,一般题目都具备一定难度。PWN
-- 对程序的逻辑分析,漏洞利用(常见windows, linux平台下)Misc
-- 俗称“杂项”,范围很广涉及计算机取证、数据恢复、社会工程学、大数据等,个别题目相当烧脑。Rerverse
-- 二进制,逆向分析、破解等相关,涵盖win、linux、Android等平台。Mobile
-- 移动端,涉及移动端apk解题等。
为什么要打CTF
练习常用基本技术、拓展渗透测试逻辑思维
如何入门CTF
作为一个CTF萌新,其实前言万语千言我只想说一句:兴趣是最好的老师!
CTF学习
根据分类概略介绍需要学习的知识,有了这些基础,以后深入学习便是水到渠成。
PWN/RE
-- 汇编、指令集、C、C++、算法、IDA、OD、栈/堆溢出......WEB
-- 入门阶段:各类简单漏洞、burpsuite、php、python,深入阶段:Pwnweb、各类代码审计、系统提权,大型工具开发......
据某战队队长评价:
WEB入门最简单
学二进制觉得WEB很简单
学RE的一定能学好二进制
如何从0学习
1.题必须要坚持刷,并学会总结,从量变到质变。
2.掌握基本准备思路。
出题人角度:
1.以最新漏洞出题
2.以最新发表的paper出题(特别是Crypto类的)
3.上次碰到一个实际案例,正好拿来复现下(趋势明显)
PS:一切以脑洞为原则的出题人都不是好出题人。
做题人角度:
1.功夫在平时,记得追踪最新漏洞
2.不要期望出题人的点你都遇到过
3.要有充足耐心,仔细观察每一个点
PS:本地各种CTF工具记得提前准备好,以防线下赛断网(局域网)环境操作。
3.多参加CTF比赛,特别是高质量赛事
国际赛事: defcon、HITCON、0CTF、RWCTF等
国内赛事: 护网杯,各类赛事(参与度好,题目不太难,但是质量参差不齐)
4.保持良好的参赛心态
- 一颗永不放弃的心
- 平常积累一些trick(看大佬的blog和writeup,特别是CTFtime的wp,要善于学习他人的思路)
- 不要期望出题人的出题点你都见过
- 仔细观察每一个点
- 学到东西才是关键
- 日常不要仅限于看过,要尽量去复现
- 有时候不是你不会,而是没有坚持研究下去
- 多研究,以赛代练
- 扩大知识面(理解常见漏洞原理,学习开发,复现题目代码等)
如何学习Web
1.前期书籍+刷题
2.巩固所学的各类基础漏洞知识
3.尝试利用PHP、Python等语言去编写exp、工具、平台等
4.真实漏洞的复现(各类CVE、CMS漏洞等)
5.从做题人尝试转变为出题人
Web选手如何去打AWD(Attack With Defence)
- AWD考察的是什么?
1.漏洞的审查能力
2.快速编写脚本的能力
3.权限维持的能力
- WEB选手需要什么?
1.丰富的代码审计技巧
2.熟练运用python
3.一整套自己的权限维持流程
CTF团队建设
虽然自娱自乐打CTF的老赛棍不乏一枝独秀,但若能组建一个相对稳定的CTF团队,无论是从学习还是参赛角度来说,那都是极好的。
需要什么?
1.一个灵魂人物(队长,技术最好别太差)
2.团结一致
3.学校、老师的支持
4.定期的训练
5.不气馁,相信自己以及队友
6.定期总结分享
7.可以使用看板工具辅助管理好任务
团队人员太多如何处理?
0.确定好入团流程,严进
1.定期筛选
2.老选手的传承
如何选人?
1.前期的定期培训
2.内部选拔赛,选择有特长和技术全面的人
3.面试注意:乐于分享;积极学习;可以傲但人品要好;不是一个利益选手
PS:其实最重要的还是社长。社长肩负压力和责任,不一定技术能力最强,但是一定要有一颗为大家着想的心。
在线CTF练习
- 攻防世界 -- 目前发现的最适合CTF新人入门且免费的平台,强烈推荐,优先把这上面的题刷完。
- i春秋CTF -- 虽然最近没怎么更新题库,但有不少比赛真题可以刷。
- CTFtime -- 要参与国际赛事建议习惯在这个平台刷题,熟悉英文出题模式,平台上也有很多国际比赛可以参与,部分操作需科学访问。(提高比刷)
- Bugku旧题库 -- 现在的新题库需要付费,旧题库还是有不少题可以刷刷的。
- reversing.kr -- 有不少逆向题目,从初级到高级
- Hack The Box -- 这个不是专业CTF靶机,倒是考OSCP的用这个练习的比较多,复杂的综合性靶场,推荐练习。
靶机镜像获取
阅读推荐
- 从0到1:CTFer成长之路 -- 书籍题目已经在 i春秋 上线,可以边学习边练手
- CTF特训营:技术详解、解题方法与竞赛技巧 -- 由国内老牌CTF战队FlappyPig撰写,值得阅读学习
- 2021 CVVD首届车联网漏洞挖掘赛线下赛Write-Up
CTF常用技巧
熟能生巧,想要快速在比赛中拿到first blood的,熟练的基本操作必不可少。具体可以参考CTF竞赛常用基本解题技巧
企业级攻防演练attacking and defensive
涉及企业内部红蓝攻防演练,网上可收集资料较少,后续补充。详见 攻防演练