CTF入门个人笔记

CTF 就像电子竞技,越来越受到人们的关注和重视,作为一名菜鸟,必须不断学习,于是就mark一下学习的入门知识和资源搜集,供新手菜鸟们参考。

0x01 CTF 介绍

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于 1996 年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013 年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯”。

0x02 CTF 解题模式

在解题模式的CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛,题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。

0x03 CTF 攻防模式

在攻防模式的CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务器漏洞并攻击对手服务器来得分,修补自身服务器漏洞进行防御来避免丢分,攻防模式 CTF 赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这样的赛制中,不仅仅是比参赛队伍的智力和技术,也比体力(因为比赛一般都会持续 48 小时以上),同时也比团队之间的分工配合与合作。

0x04 CTF 比赛主要表现在以下几个技能上:

逆向工程:强烈建议使用 IDA,尝试下crackme的问题,写出你的 C 语言代码,然后进行反编译。重复这个过程,同时更改编译器的选项和程序逻辑,在编译的二进制文件中”if“声明和”select“语句有什么不同?建议专注于一个单一的原始架构:x86x86_64或是ARM

密码学:了解主流的密码算法,如对称密码、公钥密码、流密码、哈希密码算法等。在攻击方面,什么事弱口令攻击?密码字典有什么用?典型的密码破解工具有哪些?当前的 Web 应用主要采用了哪些加密和编码算法?

WEB 漏洞:安全问题可能来自于Web服务器、数据库服务器、以及 Web 程序本身等。

二进制练习:在进入二进制联系前完成逆向工程学习,有几个独立学习的常见类型漏洞:栈溢出,堆溢出,对于初学者的格式字符串漏洞,很多事通过练习思维来辨别的漏洞类型,学习以往的漏洞是进入二进制门槛的最好途径。

网络和取证:大多数团队需要一个负责取证的人,在主机受到攻击的第一世纪进行溯源。

0x05 赛棍之路

方向选择:

A 方向:PWN + Reverse + Crypto 随机搭配

B 方向:Web + Misc 组合

学习内容:

都要学的内容:Linux 基础计算机组成原理操作系统原理网络协议分析等等

A 方向:IDA 工具使用(F5 插件)逆向工程密码学缓冲区溢出等等

B 方向:网络安全内网渗透数据库安全等等

0x06 CTF 书籍推荐

A 方向:

  • 《RE for Beginners》
  • 《IDA Pro 权威指南》
  • 《揭秘家庭路由器 0day 漏洞挖掘技术》
  • 《自己动手写操作系统》
  • 《黑客攻防技术宝典:系统实战篇》

B 方向:

  • 《Web 应用安全权威指南》
  • 《Web 前端黑客技术揭秘》
  • 《黑客秘笈 渗透测试实用指南》
  • 《黑客攻防技术宝典:Web 实战篇》
  • 《代码审计:企业级 Web 代码安全架构》

0x07 CTF 推荐资源

基本的题库

A 方向

B 方向

0x08 一些 CTF 工具

1 条评论

发表评论

*