《Web安全》http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484238&idx=1&sn=ca66551c31e37b8d726f151265fc9211&chksm=c0e47a12f793f3049fefde6e9ebe9ec4e2c7626b8594511bd314783719c216bd9929962a71e6&scene=21#wechat_redirect
《网安面试指南》http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484339&idx=1&sn=356300f169de74e7a778b04bfbbbd0ab&chksm=c0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene=21#wechat_redirect
开放竞赛全球各地一直都有。此类活动的一个主要举办地是在CTFtime网站。大部分的活动都是解题模式,比如说,2018年的152项活动中,只有16项是攻防模式,占绝大多数的135项都是解题模式。
若说CTFtime是CTF界的ESPN,那么CTF界的超级碗当属DefCon——拉斯维加斯举办的年度黑客盛会。2018年第26届DefCon的CTF胜出者是DEFKOR00T团队。DefCon CTF 的所有过往记录和完整资料都保存在他们的服务器上。另一项著名CTF随年度NorthSec安全大会而生,在蒙特利尔举办。
DefCon这种大会总有个举办地,但大多数CTF是线上赛。国家网络联盟(NCL)组织面向高中生和大学生的解题模式CTF,有明确的赛季和赛程。
CTFTime上的大多数比赛都是小型安全爱好者团体组织的,但也有例外。2018年末就见证了趋势科技的 CTF 2018,决赛在东京举办,其中囊括了山王模式竞赛。另一方面,2019年4月20,托马斯·杰斐逊科技高中的计算机安全俱乐部将在弗吉尼亚州费尔法克斯举行为期6天的比赛。没错,这确实是个高中举办的CTF。美国空军为初高中学生举行网络爱国者(CyberPatriot)竞赛。
DefCon这种主流安全大会上的CTF确实引人注目,因此很多企业也开展了自己的CTF项目。这种活动是很好的学习途径,还能让安全人员从琐碎的企业日常安全工作中切换出来,换换脑子,充盈下身心。
打造自己的CTF
如何组织自己的CTF?作为企业,惯于改进和支持专业产品的你可能会对自己的发现倍感失望。并没有太多现成的CTF供你选择,但你可以收集无数细节,将它们组织成自身独特和颇具挑战性的竞赛。
与CTF靶场最为接近的东西可能是 OWASP Juice Shop (开放网页应用安全计划果汁商店项目)。OWASP是设计工具和指南以帮助开发者及其他IT人员打造安全应用的安全专家组织。
Juice Shop 是虚构的网店,售卖果汁、T恤等东西,不用在意细节,你只需要知道该网站满载各种已知漏洞就行了。该网站是可定制的,你可以根据自己的意愿更换品牌标志,或将产品更改为自己希望的样子。OWASP的 Juice Shop 有多种形式,包括一个Docker镜像,且运行在单一服务器实例上。
Juice Shop 还含有举办比赛所需的记分牌和账户管理功能。
CTF框架
有些CTF框架相当流行,有些则略默默无闻。CTFd是被安全供应商、大型和黑客组织广泛使用的CTF平台,包含比赛所需的记分牌和其他基础设施,只需添加实际的题目和相应的得分供用户赚取即可。
其他主流框架还有:
-
Facebook CTF 框架
-
加州大学圣巴巴拉分校计算机安全实验室iCTF
-
HackTheArch
-
Mellivora
-
NightShade
-
LibreCTF
-
picoCTF
CTF工具
谷歌举办一些重大CTF,虽然没有释出其整个框架,但记分牌代码和大部分竞赛题是已经发布了的。
有用工具的列表很长,此处仅举几例抛砖引玉:
1. 安全场景生成器(SecGen):生成半随机的带漏洞虚拟机。
2. mkctf:以预定义格式创建可输入到框架中的挑战题目。
3. DVWA:用于展示已知及未知漏洞的开源PHP/MySQL网页应用。用户可选择漏洞(如SQL注入),并用UI激活之。DVWA没有 Juice Shop 那种有意思的前端,但有时候简单才是最好的。
CTF报告哪里找?
大部分最佳资源,尤其是解题模式CTF的,都是过往CTF的参与者撰写的报告,描述具体问题和解题方法。报告读得够多,自然也就掌握了一些套路。你可以在 GitHub CTF 页面上找到大量报告存档,以及撰写报告的工具。
这些报告描述足够详细,可以据此改变其中一些变量生成你自己的CTF挑战问题。但主要问题是,很多报道存档都只是“待解”问题列表,而且很多作者的写作水平并不高。
在公共云上举办CTF活动
因为CTF的短期特性,我们可以在公共云上举办——分配资源与事后释放资源都很方便,只需为所用到的东西付费。只要你足够谨慎并且按规则行事,你就可以这么做。
AWS有自己的渗透测试规则,因此你得提交一份申请表,而且只能针对一组固定的服务进行测试,不能使用低配实例。因为亚马逊会查找用户在CTF中展现的那类行为并封禁之,所以,请遵守规则并耐心等待批准。
微软对在Azure上的渗透测试有着严格的规则,但不要求事前核准授权。
谷歌也不要求预先授权,只要遵从谷歌云平台可接受使用政策和谷歌云平台服务条款即可。
CTF或许比传统培训更受员工欢迎,效果也更好。安全职位亟待填补的时代,CTF可能会成为很有价值的招聘工具,帮你以客观的方式找出技术水平最高的未来员工人选。将CTF作为最大化团队技术力量的工具,其中有趣的那部分享受纯属免费附赠。
Awesome-ctf:
https://github.com/apsdehal/awesome-ctf
AnarchoTechNYC:
https://github.com/AnarchoTechNYC/meta/wiki/InfoSec#hacking-challenges
zardus:
https://github.com/zardus/ctf-tools
Didier Stevens 的工具库:
https://github.com/DidierStevens/DidierStevensSuite
CTFtime:
https://ctftime.org/
DefCon历届CTF活动完整存档:
https://media.defcon.org/
NorthSec大会:
https://nsec.io/competition/
国家网络联盟(NCL):
https://www.nationalcyberleague.org/
网络爱国者竞赛:
https://denver.cbslocal.com/2019/02/02/cyber-security-cyber-patriot-competition/
OWASP Juice Shop:
https://www.owasp.org/index.php/OWASP_Juice_Shop_Project
CTFd平台:
https://ctfd.io/
Facebook CTF框架:
https://github.com/facebook/fbctf
加州大学圣巴巴拉分校计算机安全实验室iCTF:
https://github.com/ucsb-seclab/ictf-framework
HackTheArch:
http://hta.mcpa-stl.org/
Mellivora:
https://github.com/Nakiami/mellivora
NightShade:
https://github.com/UnrealAkama/NightShade
LibreCTF:
https://github.com/easyctf/librectf
picoCTF:
https://github.com/picoCTF/picoCTF-Platform-2
谷歌CTF:
https://github.com/google/google-ctf
谷歌CTF计分板代码:
https://github.com/google/ctfscoreboard
SecGen:
https://github.com/cliffe/SecGen
mkctf:
https://github.com/koromodako/mkctf
Damn Vulnerable Web Application:
http://www.dvwa.co.uk/
CTF报告及撰写工具:
https://github.com/ctfs
AWS渗透测试规则:
https://aws.amazon.com/security/penetration-testing/
Azure渗透测试规则:
https://www.microsoft.com/en-us/msrc/pentest-rules-of-engagement
谷歌云平台可接受使用政策及服务条款:
https://cloud.google.com/terms/aup