CTF入门指南朱凌廷ctf简介Ctf经历常规题目BT思路经验总结Q&ACTF.简介•随着安全攻防技术的发展,CTF竞赛也逐渐演变成为信息安全技术竞赛的一种形式,发展成为全球网络安全圈最流行的一种竞赛模式,其比赛形式与内容拥有浓厚的黑客精神和黑客文化。•近年来,CTF比赛的数量与规模发展迅猛,国内外各类高质量的CTF竞赛层出不穷,CTF已经成为了学习提升信息安全技术,展现安全能力和水平的绝佳平台。•Capturetheflag(简称CTF),中文一般译作“夺旗赛”,指的是通过竞赛的方式教授网络安全技术人员关于真实世界黑客攻击的方法。CTF起源于1996年在拉斯维加斯举办的DEFCON全球黑客大会,最早是交流安全技术的重要途径,发展至今已有20多年的历史,是目前全球最高技术水平和影响力的CTF竞赛。CTF.简介国内外的赛事国外:DEFCONCTF:CTF赛事中的“世界杯”UCSBiCTF:来自UCSB的面向世界高校的CTFPlaidCTF:包揽多项赛事冠军的CMU的PPP团队举办的在线解题赛BostonKeyParty:近年来崛起的在线解题赛CodegateCTF:韩国首尔“大奖赛”,冠军奖金3000万韩元SecuinsideCTF:韩国首尔“大奖赛”,冠军奖金3000万韩元XXC3CTF:欧洲历史最悠久CCC黑客大会举办的CTFSIGINTCTF:德国CCCAC协会另一场解题模式竞赛Hack.luCTF:卢森堡黑客会议同期举办的CTFEBCTF:荷兰老牌强队Eindbazen组织的在线解题赛GhostintheShellcode:由Marauders和MeninBlackHats共同组织的在线解题赛RwthCTF:由德国0ldEur0pe组织的在线攻防赛RuCTF:由俄罗斯Hackerdom组织,解题模式资格赛面向全球参赛,解题攻防混合模式的决赛面向俄罗斯队伍的国家级竞赛[2]RuCTFe:由俄罗斯Hackerdom组织面向全球参赛队伍的在线攻防赛PHDCTF:俄罗斯PositiveHackingDay会议同期举办的CTFCTF.简介国内:•XCTF全国联赛•中国网络空间安全协会竞评演练工作组主办、南京赛宁承办的全国性网络安全赛事平台,2014-2015赛季五站选拔赛分别由清华、上交、浙大、杭电和成信技术团队组织(包括杭电HCTF、成信SCTF、清华BCTF、上交0CTF和浙大ACTF),XCTF联赛总决赛由蓝莲花战队组织。XCTF联赛是国内最权威、最高技术水平与最大影响力的网络安全CTF赛事平台。•AliCTF•由阿里巴巴公司组织,面向在校学生的CTF竞赛,冠军奖金10万元加BlackHat全程费用。•XDCTF•由西安电子科技大学信息安全协会组织的CTF竞赛,其特点是偏向于渗透实战经验。•HCTF•由杭州电子科技大学信息安全协会承办组织的CTF•杭州电子科技大学信息安全协会由杭州电子科技大学通信工程学院组织建立,协会已有七年历史,曾经出征DEFCON,BCTF等大型比赛并取得优异成绩,同时协会还有大量有影响力的软件作品。协会内部成员由热爱黑客技术和计算机技术的一些在校大学生组成,有多个研究方向,主要有渗透,逆向,内核,web等多个研究方向。至今已经成功举办6次CTF比赛。•ISCC•由北理工组织的传统网络安全竞赛,最近两年逐渐转向CTF赛制。•TCTF•TCTF由中国网络空间安全协会竞评演练工作委员会指导、腾讯安全发起、腾讯安全联合实验室主办,0ops战队和北京邮电大学协办的CTF竞赛.[3]CTF.简介CTF.简介CTF.简介CTF.简介•竞赛模式•1、解题模式:•在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别•2、攻防模式(Attack-Defense):••在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。•3、混合模式(mix):••结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。CTF.简介•题目类别••WEB(网络安全):••WEB是CTF竞赛的主要题型,题目涉及到许多常见的WEB漏洞,诸如XSS、文件包含、代码执行、上传漏洞、SQL注入。也有一些简单的关于网络基础知识的考察,例如返回包、TCP-IP、数据包内容和构造。可以说题目环境比较接近真实环境。••所需知识:PHP、python、TCP-IP、SQL•简介CTF.简介•题目类别•MISC(安全杂项):••MISC即安全杂项,题目涉及隐写术、流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广,主要考查参赛选手的各种基础综合知识。••所需知识:常见隐写术工具、wireshark等流量审查工具、编码知识。猜猜这是谁???CTF.简介CTF.简介•题目类别•Crypto(密码学):••题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术,以及一些常见编码解码,主要考查参赛选手密码学相关知识点。通常也会和其他题目相结合。••所需知识:矩阵、数论、古典密码学一只小羊翻过了2个栅栏KYsd3js2E{a2jda}CTF.简介一只小羊翻过了2个栅栏KYsd3js2E{a2jda}栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)KYsd3js2KEY{sad23jjdsa2}E{a2jda}CTF.简介•Reverse(逆向工程):••题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。主要考查参赛选手的逆向分析能力。••所需知识:汇编语言、加密与解密、常见反编译工具CTF.简介CTF.简介•PPC(编程类题目):••题目涉及到程序编写、编程算法实现,当然PPC相比ACM来说,还是较为容易的。至于编程语言嘛,推荐使用Python来尝试。题目较少,一般与其他类型相结合。••所需知识:基本编程思路、C,C++,Python,php皆可。CTF.简介•PWN(二进制安全):•PWN在黑客俚语中代表着攻破,取得权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有栈溢出、堆溢出。主要考察参数选手对漏洞的利用能力。•所需知识:C,OD+IDA,数据结构,操作系统。CTF.简介•Web安全•Web安全涉及的内容非常丰富,就典型的Web服务来说,其安全问题可能来自于Web服务器、数据库服务器、以及Web程序本身等。所以,学习和了解Web安全的内容也需要循序渐进。•1)首先学习Web服务器的配置。了解典型的Web服务器如何构建的,典型的Web服务器包括微软的IIS、Apache、Tomcat等。•2)Web程序的开发离不开脚本语言。如何构建一个静态的Web网站?HTML的开发规则是什么?如何利用HTML设计简单网页?•在建设完成静态Web网站之后,感兴趣的同学可以重点学习动态Web程序的开发,典型的开发语言包括ASP、ASP.NET、JSP,PHP等。•3)典型的Web服务离不开数据库的支持,那么典型的数据库有哪些?如何应用?Access、MySql、MSSqlServer、Oracle等典型数据库的安装与配置等是怎么样的?什么是SQL,典型的新闻发布网站是如何设计的?CTF.简介•Web安全•4)在了解了上述Web知识之后,我们就可以进入Web安全的世界,比如,什么是SQL注入,什么是XSS注入,什么是CSRF,这些攻击能够发生的原因是什么?如何防范?网络上的那么多Web网站,能否自己独立发现一个上述漏洞?(注意,我们要遵循黑客原则,以发现漏洞并增强安全防护为目的,坚决遏制非法的网络攻击。)•5)此外,Web安全还有Web服务器、数据库服务器等本身的漏洞,比如,什么是弱口令,服务器为了方便管理会经常开启3389端口,这个端口有什么用?如何能够猜出管理员的弱口令,同时服务器又开放了3389端口,会产生什么后果?•6)典型的数据库,如mssqlserver有哪些经常被利用的漏洞?其默认登陆账户是什么?mysql的默认开放端口是什么?http协议的默认开放端口是什么?比赛准备•线上赛工具Web:firefox(hb,cm,fb,mh...)/chrome/wireshark/…Crack:ida/ollydbg/apktool/各种虚拟机/reflector/…Crypt&Pwn:burpsuite/nc/pythonlib/彩虹表/…Misc:kali/Stegsolve/matlab/beyond3/…比赛准备•附属配备时刻清醒的头脑和谐安静的团队作战策略+规划若干干粮+水果+零食比赛准备•关键点大量的信息搜集思路一定要开阔,灵活,大胆不可能的事情也要试抓住考点用贱的思维武装自己常规题目随机数字运算验证码常规题目常规题目想看正面?那就要看仔细了!常规题目BASE64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据。这是一种可逆的编码方式。编码后的数据是一个字符串,其中包含的字符为:A-Z、a-z、0-9、+、/共64个字符:26+26+10+1+1=64。【注:其实是65个字符,“=”是填充字符】。常规题目女神又和大家见面了CTF.经历线下赛怎么搞•CTF中的线下赛又被称为AWD(attackwithdefence)•对于选手的攻击能力,防御能力以及团队合作能力都有着很高的考验•比赛中有多只队伍,每个队伍维护多台服务器,服务器中存在多个漏洞,利用漏洞攻击其他队伍可以进行得分,修复漏洞可以避免被其他队伍攻击失分CTF.经历比赛信息•一般的线下赛时间在12小时到36小时不等,题目数量会根据有比赛时间有相应的变化•比赛的题目类型分为web和pwn题•提供的主机环境一般是linux,具体的发行版一般以ubuntu和centos为主,正规的主办方会尽可能修补操作系统中存在的漏洞•一般不给root权限,只给一个能修改代码的低权限用户比赛流程•开始入场时,首先配置本地的网络环境。一般IP是静态配置的,每个队都会拿到一个初始的说明材料•主办方可能不给提供外网访问,需要自带外网连接设备,注意可能需要设置静态路由,不然双网可能不能同时访问•比赛开始阶段,选手可能会拿到所有目标(包括靶场和flag服务器)的IP地址和访问端口,以及他们要维护的服务器的ssh用户名和密码比赛流程•比赛开始阶段,选手需要连上自己的服务器做一些基本的安全配置和代码/数据库备份•比赛中期,选手通过审计代码中的漏洞,尝试去攻击其他队伍,获取flag,留好后门•比赛过程中可能遭受到其他队伍的攻击,需要恢复代码/数据库,清除后门。如果flag被其他队伍获得,则减分•在比赛过程中,主办方的checker服务器会定期检查相关服务的可用性,如果服务不可用,则减分比赛流程•比赛过程中,flag每个一定时间进行刷新,刷新的时间一般在5-10分钟左右,重复提交相同的flag不得分。•比赛过程