CTF夺旗赛经验总结及落地实践,零基础入门到精通,收藏这一篇就够了

753 篇文章 36 订阅
258 篇文章 11 订阅

文章来源:绿盟科技博客。 中国是科技人才资源最多的国家之一,但也是人才流失比较严重的国家。世界各国已经把加强人才建设作为抢占网络空间制高点的战略举措。在此背景下,国内外各类CTF比赛越来越多,那么怎样一方面才能准备好比赛,另一方面又怎样才能组织好比赛,小编请两位专家来聊聊。

目录

  • 什么是CTF夺旗赛

  • CTF基础知识

  • CTF比赛模式

  • CTF比赛经验

  • CTF攻防平台

  • 绿盟科技CTF平台

  • 信息安全人才培养,我们在行动

什么是CTF夺旗赛

Capture The Flag(简称CTF),翻译为“夺旗比赛”,起源于1996年举办的DEF CON全球黑客大会,最早是交流安全技术的重要途径,发展至今已有21年的历史,是目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。

随着安全攻防技术的发展,CTF比赛也逐渐演变成为信息安全技术竞赛的一种形式,发展成为全球网络安全圈最流行的一种竞赛模式,其比赛形式与内容拥有浓厚的黑客精神和黑客文化。

近年来,CTF比赛的数量与规模发展迅猛,国内外各类高质量的CTF竞赛层出不穷,CTF已经成为了学习提升信息安全技术,展现安全能力和水平的绝佳平台。

CTF基础知识

语言运用 :计算机语言可以大致分为机器语言,汇编语言,高级语言,计算机每进行的一次动作,一个步骤,都是按照计算机语言编好的程序来执行。而在CTF比赛中,计算机语言的了解与掌握会有事半功倍的效果,进程的动态调试、防护脚本的编写、源代码审计等工作都是建立在对计算机语言有所掌握的基础上进行的。

Web安全 :目前国内大多数CTF比赛都以Web安全为主,但是Web安全涉及的内容非常广泛,就典型的Web服务来说,其安全问题可能来自于Web服务器、数据库、Web程序本身与开发语言等。了解一个Web应用的组成架构、装载与配置、指令操作及组件缺陷,是参赛者知识储备环节中不可或缺的部分。

安全加固 :安全领域的精髓在于攻防,在CTF比赛也是同样的道理,比赛成绩不仅取决于在有效的时间内拿下多少flag,还取决于能抵御多少次外来攻击。有一些比赛队伍不注重或者不善于漏洞加固,即使得到很多分数,但是优势还是会被慢慢的蚕食掉。所以,了解漏洞的产生原因、减小漏洞的影响范围以及行之有效的安全加固也是一个成功队伍的重要能力。

密码算法 :参赛者需要了解主流的密码算法,如对称密码、公钥密码、流密码、哈希密码算法等。在不断的攻防对抗中,一些关键信息或者突破口,往往会通过算法的加解密将它们“隐藏”起来增加解题难度。此外还会伴随着弱口令尝试,密码字典的暴力猜解等。

网络取证 :对于网络攻击行为的溯源分析、漏洞挖掘过程中的抓包分析往往是很多参赛队伍在攻防对抗中忽略的问题,能够在最短的时间内抓到线索并做出行之有效的响应,这方面的能力也就成为了高手和顶尖高手之间的分水岭,古人常说:“天下大事,必作于细;天下难事,必成于易”,我想应该就是这个道理。

CTF比赛模式

解题模式 :大多数为线上比赛,选手自由组队(人数不受限制),出题者把一些信息安全实战中可能遇到的问题抽象成一个题目,比如一个存在漏洞的网站让选手入侵,一个有漏洞的程序让选手分析来写出漏洞利用程序,一段密文让选手解密,一个图片选手你从里面找出隐藏的线索等等。在完成这些出题的题目后,可以获得一串奇怪的字符串,也就是所谓的flag,提交它,就能获得这道题目的分数。

攻防模式 :大多数为线下比赛,参赛队伍人数有限制(通常为3到5人不等),参赛队伍保护自己的服务器,攻击其他队伍的服务器,每个队伍的服务器开始拥有相同的配置和缺陷,比如几个有漏洞的二进制程序、有漏洞的Web应用、某些权限账户弱口令等等,然后队员需要找出这些漏洞并进行加固,同时利用这些漏洞来攻击别人的服务器,拿到其他队伍的权限后,会获取到相应flag后提交,从对方身上赚取相应的分数,每隔一段时间后,可以再次攻击并利用未加固的漏洞获取flag并赚取分数。

混合模式 :解题模式和攻防模式同时进行,解题模式可能会根据比赛的时间、进度等因素来释放需解答的题目,题目的难度越大,解答完成后获取的分数越高;攻防模式会贯穿整个CTF比赛的始终,参赛队伍需不断积累分数,最终参数队伍的名次由两种模式累积的分数总和决定。有些有趣的CTF比赛,还会引入一些情景剧情和现场观众的互动,来增加比赛的趣味性。

CTF比赛经验

交流聆听 :CTF比赛通常强度都很大,少则几小时多则好几天,即使是特别要好的队友,也难免会有意见与思路不统一的时候,这个时候与队友的交流和聆听则显得尤为重要。一句温馨的关怀,一个会心的微笑甚至一个肯定的眼神都会让你的队友倍感温暖,正面的交流与聆听会鼓励大家共同前进,克服困难。

学习能力 :CTF比赛中的题目与攻防手段往往没有特定的规律,因此更看重人临场的快速学习以及把理论付诸实践的能力,而并非大量的知识储备。一定的知识量储备肯定是必要的,但并不能期望完全依靠知识储备来获得胜利。

合作分工 :CTF的成绩主要还是看团队的综合实习。就如学生时代的中考高考一样,考核的总分成绩,往往各个科目都比较好的人才能获得比较高的成绩。如果队伍成员都是只擅长Web安全,其他领域涉及很少,就算研究Web安全研究的再精通也取得不了好名次,一个团队中既要有攻城拔寨的急先锋,也同样需要留守加固的中流砥柱,需要尽可能的面面俱到。

总结分享 :通常专业的CTF队伍人员会比较稳定,如果想通过比赛的历练成为顶尖队伍,除了上述几点外,比赛过后以及日常的分享总结也是非常重要的。无论取得怎样的成绩,相信每一个队员心里都会有困惑或者看法,那么赛后队员坐在一起进行讨论、分析、总结不仅可以拉近队员间的感情,提升团队凝聚力,还可以收获更多的经验与心得。

CTF攻防平台

Facebook CTF平台

Facebook的CTF平台是一套开源比赛平台,包括游戏地图、团队登记和评分系统。还可以按需提供逆向工程逆向工程、Web应用安全、取证、二进制开发和加密等挑战。用户还可以使用Facebook CTF平台定制或自定义挑战项目。

挑战分为以下两类:计算机安全方面的小问题,以及漏洞利用和黑客方面的标记问题。标记挑战要求参与者完成一项诸如转储数据库、获取系统外壳或操纵应用程序等任务。

“通过CTF平台,你可以学习到常规计算机科学项目中学习不到的技巧。此外,这个平台还帮助你进入安全行业。”Facbook威胁基础设施团队的软件工程师Gulshan Singh说。“在开始找全职工作时,我发现安全职位的面试很像CTF挑战,有了后者的经验,我可以更好地展示技能。第一天入职我就让人感觉非同凡响。”

怎么使用FBCTF

可以组织一场比赛,最少2个人,最多数百人。参赛者可以在本地或者在线,或者两种形式均可。按照安装说明来设置平台基础架构,输入challenges进入管理界面。

参赛者可以注册为战队,如果是一场封闭的比赛,那么在管理页面,生成并导出令牌,然后分享给核准的团队,然后引导参赛者到注册页。如果是一场开放的比赛,那么直接引导参赛者到注册页面即可。

Facebook CTF源码下载

CTF平台可以搭建在运行Ubuntu操作系统的系统(物理机或虚拟机)上。Facebook已提供了关于如何安装和使用平台的说明。下载地址在这里:https://github.com/facebook/fbctf/

绿盟科技CTF平台

绿盟科技信息安全攻防实训与竞技产品,包括绿盟科技信息安全实训平台和绿盟科技信息安全竞技平台,如下图所示:

整体框架如上图所示,产品特性说明如下:

整体方案采用B/S架构对外提供新安全课件培训、实验训练和攻防保障服务。使用人员可以结合自身情况,灵活选取远程在线和线下面对面的实时教学形式。 两个平台可以支持进行课件培训、实验训练和攻防保障三大功能。课件培训主要以课件宣讲为主,实现信息安全知识的直接传递;实验训练以安全攻防模拟操作实验为主,使得被培训对象对安全技术的建立直观印象;攻防保则主要为被培训对象提供攻防的虚拟环境,实际检验被培训对象的安全水平。 IT支撑基础资源主要包括安操作系统、数据库、中间件、网络设备和安全设备等,通过与虚拟技术相结合,用以保障上层的实训场景和竞技场景。

绿盟信息安全实训系统

ISTS -Information Security Trainning System,为信息安全培训、教学及科研提供一个完整的、一体化的实验教学环境。打造全方位的专业信息安全实验室。主要建设内容包括以下内容:

通过各种形式的信息安全意识教育实践、培训及宣传,使得信息安全意识融入到生活工作中,变成一种常态化的工作。 以理论学习为基础,结合最全面最专业的实训,增加被培训对象对信息安全诸多领域的深入理解。提供多个方面的实验、实训及工程实践,涵盖多层次的实验操作,以真实环境的真实案例为操作指南,贴近实际岗位能力要求,提供完整的实验教学环境。

图1.1 信息安全实训平台功能框架图

由于信息安全属于交叉学科,其中包括:网络安全、系统安全、数据安全等等,信息安全实训平台内置800个信息安全实训课程,全面覆盖信息安全各个领域的实训内容。

图1.2 信息安全实训平台选课界面

绿盟信息安全竞技系统

ISCS -Information Security Competition System

是围绕信息安全理论和知识,组建的信息安全对抗技能实战赛。也可以承载信息安全对抗攻防演练项目,考察攻防演练者网络安全理论知识与实际问题处理能力,旨在借助攻防演练培养一批具备信息安全素养的优秀实战专业的安全人员。安全攻防竞赛平的攻防竞赛模式可以分为单兵作战挑战赛、综合靶场及网络混战三种形式。

图1.3 信息安全攻防竞技平台功能模块图

个人挑战模式

个人挑战模式每个赛题(关卡)是一个单独的靶场,并提供了七大类赛题,WEB、密码学、隐写、溢出、逆向、编程、综合,全面考察参赛选手的安全能力,题目由易到难。

图1.4 信息安全攻防竞技平台个人挑战功能界面

图1.5 信息安全攻防竞技平台个人挑战态势展示图

网络混战模式

网络混战模式是多人或者多组互相进行攻击的模式,不仅要加固自己的服务器防止被对手攻陷,同时要尽可能多的攻击对手的服务器以取得更多的得分。

图1.6 信息安全攻防竞技平台网络混战态势展示

综合靶场模式

综合靶场贴近行业用户业务系统,整个综合靶场由多台漏洞靶机,多层网络架构组成。用户可以有多个攻防入口多种攻防路径选择,让参赛选手在大型真实的行业业务系统中进行挑战,难度较高。

图1.7 信息安全攻防竞技平台网络靶场势展示

信息安全人才培养,我们在行动

我们认为针对信息安全人才的培养,需要有一套全面而有效的方案。经过多年行业比赛经验积累,绿盟科技推出信息安全人才培养解决方案,本方案由信息安全实训平台NSFOCUS-ISTS与信息安全竞技平台NSFOCUS-ISCS组成,通过信息安全实训平台建设信息安全人才培养体系,实现网络安全意识培养,实现信息安全实操学习环境。通过信息安全攻防竞技平台进行模拟业务系统安全实践,提高用户信息安全实操能力。同时,通过举办安全技能大赛可进行信息安全能力的检验和信息安全人才的选拔。

信息安全人才培养解决方案已经实际应用到各个行业的多次比赛中,在政府行业支持了2016年湖北网络安全技术竞赛,在教育行业支持了全国大学生电子设计竞赛、北理工ISCC大赛,在交通运输行业支持了第二届长航局网络与信息安全培训演练,在运营商行业支持了电信系统信息安全大比武、2015-2016年两届云南省互联网攻防大赛,在金融行业支持了云南银行业首届网络攻防大赛、辽宁省银行业首届网络安全攻防竞赛,在能源行业支持了国家电网信息安全人才选拔赛等等。

信息安全是国家信息化健康发展的基础,是国家安全的重要组成部分,也是一项涉及面广、渗透性强的系统工程,必须培养社会公民的信息安全意识和引导公民参与。国家信息安全的竞争,归根到底是信息安全人才的竞争,再先进的技术、设备也还需要人来掌控,所以人才是信息安全的关键!

网安接私活的渠道

晒了这么多兼职副业受,想必大家都比较关心我的副业收入来源,其实网安接私活的渠道我常去的就这4个。

1.挖SRC漏洞

很多地方都可以去挖SRC漏洞赚钱,合法挖到漏洞后提交到平台,平台就会给予你奖励,最多一个高危漏洞一万多。

综合性平台比如补天、漏洞盒子和CNVD等等,独家SRC也有很多,比如说华为、阿里、腾讯、360等等。

国外的漏洞也可以去挖,国外给的奖励会更高,但除了技术要过硬之外,你还得会英语能沟通交流。

2.接安全测试委托

在公司允许的情况下去对公司产品进行网安检测和渗透测试,发现漏洞后提交给修复方案和渗透测试报告,这个我经常去程序员客栈和一品威客等IT兼职平台去接。

相比较于个人私下接活,平台会更加方便一些,不用跟乙方扯来扯去,而且不用害怕甲方卷钱跑路。

3.投稿

像比较大的网安平台会不定期举办有奖投稿活动,比如说freebuff和CSDN等等平台,CSDN我没弄过,但freebuff我倒是经常由投稿,奖金有几百到几千不等。

做了那么多年网安,只要我想说,那绝对有很多故事可以讲的。

提醒大家一个点:网安的私活不是一次性的,很多以前合作过的甲方都会在后面有事的时候有偿来找我,所以人脉这一块也很重要。

4.参加CTF

通俗易懂的讲,CTF也叫作网络安全攻防大赛。这类大赛一般都是由政府安全部门、从事信息安全的企业、高校等等单位主办的。目的也很简单,一般都是为了加强国家网络信息安全建设,挖掘网络信息安全人才。当然你夺旗之后,也会有对应的奖金。
.
但关键是你的技术得学得到位!

接下来我给大家讲讲黑客/网安这一块该学哪些东西。

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如何定价

很多刚开始做的小伙伴可能还不清楚如何给报价。

一般建议是自己的时薪*工期,工资是月薪 1 万元,那么我的时薪就是 10000 / 21.75 / 8 = 58 元,比如一个单子,你觉得三天可以做完,就可以报价 (58 * 8) * 3,但是定价可以是上下浮动的,如果客户比较大方,可以定高一些,如果是学生可以打折少要一些。

明确需求

接单的时候,首先和客户明确需求,然后根据需求定工时,然后按照公时来报价。

明确需求,多沟通,才能多了解对方的真实需求。很多程序员可能不太会和用户沟通,比如用户说就要做个淘宝,报价一千,专业的都知道不可能,所以要有耐心去详细的沟通,沟通后发现有可能客户想做的只是一个电商平台,GitHub 上找一个开源的改改就可以用。

沟通后,如果客户有明确的需求,就按照需求来写,如果客户没有明确的需求,就按照自己的想法来写。

如果需求很复杂的话可以把需求落到文档上,并让客户确认,需求一但确认了,就按照这个做,后期有更改可以酌情收费。

对有一些比较大的功能,如果一个人完成不了的话,比如你是前端,但是客户需要通过 Java 构建一套系统,可以找我,我这边有一个接单互助群(也欢迎经验丰富的朋友加入),可以帮你找合适的人协作完成。

定金

除非特别小几十元的单子,可以弄完让他给全款,否则都要交定金。

因为我们首先投入了时间,完成后甲方如果不给钱就血亏了,不给定金不开工。

建议

  • 100 以内的单子:这种一两个小时就搞定的我都不收定金,弄完结账,也可以加强双方的信任,方便以后在合作。
  • 100-500 的单子:5-5,先交一半,完成后交另外一半。
  • 500-10000 的单子:4-5-1,先交 40%定金,完成后付 50%,一周解答期,解答期没问题付款剩余的 10%。
  • 如果你有幸接单了上万的单子,建议还是签个简单的合同。线上可以通过腾讯电子签去拟定合同,当然距离合适的话也可以去线下签,这样对双方都有个保障。

技术选型

选择自己熟悉的

为了保证时间和效率,肯定是选择自己熟悉的技术去完成,进来不要去用不熟悉的技术,比如我熟悉 Vue,那就尽量别去用 React,万一遇到一些坑耽误了进度就不好了。

选择自己感兴趣的

对于不复杂的需求,比如就是几个静态页面,可以考虑使用自己感兴趣的技术去完成。

比如我一直在工作中用 Vue,但是我学习过 React,想通过这个机会去熟悉一下,方便以后跳槽,这样也是可以的。

注意

我总结了接单三要素:需求报价工期

三要素有一个搞不清楚就不要接单,大概率有坑。

还有一些其他的小建议也分享给大家:

  • 量力而行:同时接的单子不建议超过两个,两个以上就会分心,影响完成质量
  • 学会拒绝:如果确实超出自己能力之外的需求,不想做可以明确拒绝
  • 调整情绪:难免遇到烦心的客户,不要因为一两个客户就影响整个接单的状态
  • 维护关系:比如可以适当给客户打折,让他去闲鱼、小红书给自己留个好评
  • 保证作息:不管多忙,一定要保证休息和三餐,身体才是最重要的本钱

有些单子谈不成是很正常的事情,任何事情总会有一些意外,我们能做的就是单子来了,在现有的条件下提高成交的概率,要保持平常心,时常反思才能持续进步。

总结

其实接单这件事情,可以锻炼我们从创业者角度去思考。

因为我们要从获客到交付中间的整个过程,这个过程里包括和客户沟通需求、如何谈价格、如何交付等行为,其实和一个小公司的流程就很相近了,在跟进的过程中可以锻炼自己的沟通能力、协调能力、时间管理能力等,如果以后打算创业,这些也都是必备的条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值