all-things-about-ctf

ctf基础

ctf简介

CTF(Capture The Flag,夺旗赛)起源于 1996 年 DEFCON 全球黑客大会,是网络安全爱好者之间的竞技游戏,也是黑客的游戏。

CTF 竞赛涉及众多领域,内容繁杂。与此同时,安全技术的发展速度越来越快,CTF 题目的难度越来越高,初学者的门槛也越来越高。

DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。

CTF 为团队赛,通常以三人为限,要想在比赛中取得胜利,就要求团队中每个人在各种类别的题目中至少精通一类,三人优势互补,取得团队的胜利。同时,准备和参与 CTF 比赛是一种有效将计算机科学的离散面、聚焦于计算机安全领域的方法。

ctf比赛有难有易,比赛内容一般是拿到系统最高权限,然后在root或administrator路径下面找到flag并提交,有时flag会利用各种手段隐藏起来。除此之外还有各种密码破解,逆向,缓冲区溢出,追踪溯源,信息破译,文件提权等等各种脑洞大开的题目。

一场好的ctf比赛非常锻炼参赛者的渗透攻击与知识水平。

CTF精神与内涵

  • 技术应该以开放的方式共享。
  • 在高速发展,日新月异的现代社会,安全攻防技术总是保持不断更新,旧的技术在面对新的技术时随时可能失效,所以作为normal man,必须要有一个不断学习的思想,才能不被社会淘汰。

ctf竞赛模式

  • 解题模式

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

  • 攻防模式(Attack-Defense)

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

  • 混合模式(mix)

结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。

ctf题目类别

  • WEB(网络安全)

WEB是CTF竞赛的主要题型,题目涉及到许多常见的WEB漏洞,诸如XSS、文件包含、代码执行、上传漏洞、SQL注入,以及各种新曝出的web漏洞。也有一些简单的关于网络基础知识及编程脚本编写的考察。例如返回包、TCP-IP、数据包内容和poc的构造。可以说题目环境比较接近真实环境。

所需知识:PHP,python,TCP-IP,SQL,以及各种web漏洞

  • MISC(安全杂项)

MISC即安全杂项,题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广,主要考查参赛选手的各种基础综合知识。

所需知识:常见隐写术工具、wireshark等流量审查工具、编码知识。

  • Crypto(密码学)

题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术,以及一些常见编码解码,和加解密python脚本的编写。主要考查参赛选手密码学相关知识点。通常也会和其他题目相结合。

所需知识:矩阵、数论、古典密码学

  • Reverse(逆向工程)

题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。主要考查参赛选手的逆向分析能力。

所需知识:汇编语言、加密与解密、常见反编译工具

  • PPC(编程类题目)

题目涉及到程序编写、编程算法实现,当然PPC相比ACM来说,还是较为容易的。至于编程语言嘛,推荐使用Python来尝试。题目较少,一般与其他类型相结合。

所需知识:基本编程思路、C,C++,Python,php皆可。

  • PWN(二进制安全)

PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。主要考察参数选手对缓冲区溢出漏洞的利用能力及绕过软件保护机制的能力。

所需知识:C,OD+IDA,数据结构,操作系统,常见逆向工具。

  • IOT(物联网安全)

随着人工智能物联网的发展,各种IOT设备的安全性也变的越来越重要。各种硬件设备的固件也能被逆向并挖掘出各种漏洞。此题主要考察固件的提取和逆向分析,及缓冲区溢出漏洞的利用,及python脚本的编写。

所需知识:固件分析,静态分析,动态仿真/模拟,漏洞挖掘,fuzzing

  • IOT 安全资料整合-主要是路由器

  • IOT优秀博客推荐

顶级ctf比赛介绍

详见: ctftime

Pwn2Own

Pwn2Own是一个计算机黑客挑战赛。从2007年开始,每年都会在CanSecWest安全会议上举行。参赛者面临的挑战是从广泛使用的软件和移动设备中找出未发现的漏洞。

  • 世界最难的黑客挑战赛
  • 针对主流浏览器的远程攻击
  • 要求沙箱逃逸

Pwn2Own攻击目标包括IE、Chrome、Safari、Firefox、Adobe Flash和Adobe Reader的最新版本。对安全研究人员来说,如果能在Pwn2Own上获奖,这象征着其安全研究水平已经达到世界领先的水平。Pwn2Own上各参赛团队的表现,也代表其国家网络攻防技术的实力。

参赛hacker们的目标是4大主流网页浏览器——IE、Firefox、Chrome和Safari,平台是在安装安全更新的Windows 7操作系统下运行,Safari浏览器将在安装苹果Mac OS X 10.6雪豹操作系统下运作,顺利攻破一个主流浏览器便奖励1万美元,共4万美元。为了增加比赛难度,参加黑客竞赛的参赛者不准使用Adobe Flash等第三方外挂。这些第三方外挂一直都是操作系统中的安全弱项,破解专家Charlie Miller说只要浏览器装有Java或 Adobe Flash,被黑简直是稀松平常。

CyberGrandChallenge

  • 机器人的CTF攻防比赛
  • 自动化漏洞挖掘、漏洞利用、程序分析、程序补丁

2016年8月在美国拉斯维加斯举办的 Defcon CTF,一支名为 Mayhem 的机器人战队与另外十四支人类顶尖CTF战队上演了信息安全领域首次人机黑客对战。该事件在人工智能和信息安全领域具有里程碑式的意义,是机器智能开始深入影响信息安全的标志性事件之一。代表机器智能的 Mayhem,正是由美国国防部先进项目研究局(DARPA,Defense Advanced Research Projects Agency)举办的网络超级挑战赛(CGC,Cyber Grand Challenge)的冠军。

CFE-比赛内容参考

DEFCON CTF

CTF赛事中的“世界杯”

Codegate CTF and Secuinside CTF

韩国首尔“大奖赛”,冠军奖金3000万韩元

XXC3 CTF

欧洲历史最悠久CCC黑客大会举办的CTF

RuCTF

由俄罗斯Hackerdom组织,解题模式资格赛面向全球参赛,解题攻防混合模式的决赛面向俄罗斯队伍的国家级竞赛

Realworld CTF比赛中的0day

  • 参考

在CTF比赛中发现的PHP远程代码执行0day漏洞

可见现在技术竞争的激烈程度

ctf比赛资源及书籍整理

学习ctf没有其它方法,就是刷题,刷到形成肌肉记忆,百炼成钢。。。

ctf靶场推荐

  • 中级难度

vulnhub

vulnhub上有将近350个已经由大神们打包制作好的各种类型的ctf靶场镜像及虚拟机文件,可以直接打包下载下来安装就能使用,其中的机器大部分是初到中级的难度,不过也有个别特别难的机器,考察缓冲区溢出漏洞利用及绕过软件安全保护机制等等。此平台主要是OSCP备考者练习的首选。当然也可以训练ctf。

i春秋-CTF大本营

i春秋的,里面都是些经典的题目,适合训练用。

Hacker101 CTF

hackerone的ctf

  • 中级偏高级难度

wargame推荐

1.漏洞挖掘与利用

pwnable

pwn平台

IO wargame

逆向pwn平台

2.逆向工程与软件破解

reversing.kr

This site tests your ability to Cracking & Reverse Code Engineering

3.web渗透

webhacking

web challenges

xss-game平台

xss游戏练级平台

4.综合类

Wargames

OverTheWire社区提供的wargame可以通过充满乐趣的游戏形式帮助学习和实践安全攻击方法。

w3challs.com

unique challenges running in a real world environment, with no guessing and no simulation! pop some shells.

Stereotyped Challenges

a lot of advanced web-based exploitation techniques and improve your offensive skills.

pentesterlab

主要是关于web漏洞方面的,很多比较新的web漏洞,oscp备考训练平台。

id0-rsa.pub

密码学和各种加解密算法训练平台

ctf搭建平台推荐

  • fbctf

Facebook CTF平台,可举办“Jeopardy”和“King of the Hill”风格的“夺旗”比赛。

  • CTFd

CTFd是can中的“Capture The Flag”。使用插件和主题进行自定义很容易,并且拥有运行Jeopardy风格的CTF所需的一切。

  • SecGen

SecGen创建易受攻击的虚拟机,以便学生可以学习安全渗透测试技术。

  • hack the box

这个平台光注册就是一道坎,里面难的机器能难飞天,最容易的机器,要拿下也需要一段时间,质量非常的好,偏向真实环境与攻击手段,也可以作为oscp考试的训练平台,目前最难的一台机器内容是渗透攻击chrome浏览器的漏洞,可以说是%99贴近真实环境了。涉及各方面知识点,web渗透,内网端口转发,沙箱逃逸,逆向,pwn,缓冲区溢出,windows,linux内网渗透,非常全面。

学习ctf的好处

  • 渗透测试网络安全方向的工作
  • Technology is cool
  • 防止老年痴呆

ctf各种学习资源,工具和书籍推荐

本人的博客,里面各种writeup和工具提权方法都有,以后会更新iot相关的知识,欢迎浏览。。。

  • goendecoder

本人独立开发的由golang编写的ctf加解密工具,包括ctf常用的各种加解密算法,可以根据实际需要修改源代码进行ctf加解密运算。

另外本人github上面也有很多fork其他大神的资源,之后还会发布一些实用的golang小工具。

一些pwn逆向资源

  • Orange Tsai

曾黑掉facebook的台湾黑客,orange大佬的twitter,也是一名ctf大神

  • orange大佬的博客

墙裂推荐

另外没事可以在twitter上多关注infosec大神的推文,都是干货

  • Awesome CTF

Capture The Flag(CTF)框架,库,资源,软件和教程的精选列表。该列表旨在帮助初学者以及经验丰富的CTF玩家在一个地方找到与CTF相关的所有内容。

  • InfoSec

CTFs and Hacking Games

  • ctf-tools

这是安装脚本的集合,用于创建各种ctf研究工具的安装。

  • DidierStevensSuite

python工具脚本大全

  • DEF CON Media Server

历代defcon的pdf,ppt,和视频大全

  • Competition (CTF)

  • The National Cyber League

  • ctfd

Cyber Security Training made simple With the best Capture The Flag platform

  • The iCTF Framework 3.0

这是Shellphish用于托管iCTF的框架。2014年在Usenix 3GSE研讨会上发表的一篇论文中对iCTF框架进行了描述。

  • mcpa-stl.org

又一个ctf web平台

  • Mellivora

Mellivora是用PHP编写的CTF引擎。

  • NightShade

NightShade是一个简单的安全capture the flag框架,旨在使您自己的比赛尽可能轻松地进行。

  • LibreCTF

LibreCTF是用于运行CTF(夺旗)比赛的框架。该项目以前被称为OpenCTF,以用于运行EasyCTF的平台命名,但此后被重写为Rust。因此,它是在考虑性能的前提下制作的,同时还旨在尽可能地灵活。

  • Google CTF

该存储库列出了Google CTF 2017-2019中使用的大多数挑战以及可用于运行这些挑战的大多数基础结构。重要信息-2017、2018和2019文件夹中的代码具有未修复的安全漏洞。这些是故意存在的,并且在实际的生产基础结构上运行它们并不安全。

  • ctfscoreboard

这是基本的CTF记分板,支持团队或个人竞争对手,以及其他一些功能。

  • Security Scenario Generator (SecGen)

SecGen会创建易受攻击的虚拟机,实验室环境和黑客挑战,因此学生可以学习安全渗透测试技术。诸如Metasploitable2之类的框始终是相同的,该项目使用Vagrant,Puppet和Ruby创建随机易受攻击的虚拟机,可用于学习或托管CTF事件。

  • mkCTF

该框架旨在帮助您的团队遵循一种格式,在CTF基础结构上实现高效集成和部署,从而提出CTF挑战。该项目最初是为管理INS’hAck 2017事件的挑战而创建的。可以在此存储库中找到INS’hAck过去版本的挑战和文章。这个项目不断发展,以在基于Rancher的基础架构上部署挑战时实现更高的自动化程度。

  • CTFs

各种ctf资源及writeup合集

  • blackhat官网

blackhat官网

  • www.defcon.org

defcon官网

  • hackxor

Hackxor是一款逼真的Web应用程序黑客游戏,旨在帮助各种能力的玩家发展自己的技能。所有任务均基于进行笔试,漏洞赏金狩猎和研究时亲自发现的真实漏洞。

更多欢迎继续补充。。。