最能抗的——最佳坦克奖
实际吸收伤害最多的——火力焦点奖
题目短小并且最能抗的——精致奖
人气最旺的——最佳人气奖
*解释:
若获得最佳坦克奖,则不参与火力焦点奖、精致奖评定;
若获得火力焦点奖,则不参与精致奖评定;
同时,该类别奖项将按名次顺延给下一战队。
通知: 从2023年起,KCTF由一年两场(春季赛和秋季赛),调整为一年一次的比赛; 禁止misc类型题目参赛; 赛期内被发现多解的扣分,在此题赛期内直接生效。 KCTF竞赛组委会 2023/3/27
解释: 发题后的第1天6点,若破解次数少于25人,则继续比赛; 发题后的第2天6点,若破解次数少于5人,则继续比赛; 发题后的第3天6点,若破解次数少于1人,则继续比赛; 以上任意一天继续比赛的条件不满足,就中午12点换下一题; (6点至12点之间的破解,依然有效) 发题后的第4天中午12点,此题一定结束
注:攻击者不能攻击自己提交的题目
根据每道防守题的实际被破解时间、次数和多解,评价每道题的相对难度系数。
多解定义:多解是指在某个问题或任务中,存在两个或更多个不同的flag,这些flag都能够满足问题或任务的要求;
被破解次数越少、被破解时间越长、被发现多解的个数越少、挺得赛期越久的防守题, 其难度系数越大;
若被1个攻击方发现多解,则此题多解难度系数 = 原始难度系数*87%;
若被2个攻击方发现多解,则此题多解难度系数 = 原始难度系数*87%*87%=原始难度系数*0.7569;
若被3个攻击方发现多解,则此题多解难度系数= 原始难度系数*87%*87%*87%=原始难度系数*0.658503;
若被4个攻击方发现多解,则此题多解难度系数 = 原始难度系数*87%*87%*87%*87%=原始难度系数*0.57289761;
若被5个及以上攻击方发现多解,则此题多解难度系数 = 原始难度系数*87%*87%*87%*87%*87%=原始难度系数*0.4984209207;
难度系数是相对值,会随着比赛进行而变化。最简单的题难度系数为0,最难的题为1。比赛结束时将得到每道题的最终难度系数。
火力值计分规则鼓励:既具有较高难度又适合于有限赛期的题。难度较高且在赛期之内能够被破解的题,将获得较高火力值积分。
完全无人破解的题目,火力值为0;
(除签到题以外的)最简单的题,其难度系数为0,其火力值也为0;
难度较高 且 有多人破解的题,会得高分。
难度值计分规则鼓励:破解难度最高的题。他们代表着本届比赛的防守最高水平。
最简单的题的出题难度值是:出题基本分;最难的题是:出题基本分+难度加权分;
一血的定义是指:题目第一次被破解;若无人拿下此题一血,则此题获得额外20%加分。
精致度计分规则鼓励:难度高且代码短的防守题。精致度反映了一道题的难度密度。
题目是以CPU指令构成的,或者用自定义语言编写且自带解释器的,可以参评。
用其它解释型语言编写的,不参评。
具有一定难度且代码较短的题目,会得到较高精致度积分;
攻击方下载的题目包:可以是压缩的,压缩格式为ZIP或RAR。由参赛者提供;
题目下载包必须包含题目正常运行所需所有文件;
比赛规则已经指定了多款OS作为运行平台。若题目需要其它软件支持,必须将其带入到题目包中。例如:题目需要一个特殊的lib,则需要带上这个lib。
攻击方计分规则鼓励:破解高难度题目最多最快的团队。他们代表着本届比赛的攻击最高水平。
若攻击方是此题的一血破解者将获得:此题出题难度值的20%的额外加分。其他破解者无一血加分,且得分依破解时间递减,理论上最少将获得此题出题难度值的一半;
如果未破解此题成功,则在此题上不得分;
攻击者在某题上的得分,不因此题出现多解而受影响。
CrackMe在没有被附加调试的情况下运行时,第一次运行时输入正确注册码,必须显示成功提示信息,若是重启验证的,在重启后必须显示。
在CrackMe没有被改动且没有被其他程序干扰的情况下,只要输入了注册码,显示了成功信息,则认为该注册码是正确的,否则设计不合理。
注册成功,要出现成功提示信息。
CrackMe里不允许出现虚假的注册成功提示信息。
在当前技术条件下,序列号从理论上讲,是可逆或可求出来的;
如果破解者必须通过穷举才能得到注册码的,设计文档里一定要描述清楚,并且将穷举代码和程序发给评委验证。评委验证时,在当前主流硬件配置条件下,如果穷举时间超过30分钟则不通过。
如果在当前主流硬件配件条件下,CrackMe的启动时间超过10秒也不通过,需要返回修改。
参赛 CrackMe 必须可以在 WIN10/32、WIN10/64 、WIN7/32、WIN7/64、WINXP其中一种系统正确运行。
参赛 CrackMe 不可使用第三方保护工具来保护CrackMe,例如第三方壳和VM。
参赛 CrackMe不可使用VM来保护,包括第三方VM和自己写的VM(注:若要用自己实现VM参赛,请按 5.2.2方案二 规则提交题目)。
参赛CrackMe执行后,不能干扰破解者正常使用电脑(比如关闭显示器、禁用键盘鼠标、关机、暴力占用内存cpu资源使电脑死机、破坏电脑文件等类似操作不允许),但允许采用技术手段关闭调试器,防止破解者破解。
参赛CrackMe设计的总体原则是绿色安全,不可含木马或 rootkit,没有任何危险或恶意程序,不能对系统进行破坏,可以正常结束,结束后不能给系统留下垃圾(比如临时文件要删除,驱动要卸载干净),不可使系统重启。
参赛CrackMe如果有任何危险或者恶意行为,ban ID。如果有杀软或者360等安全软件报CrackMe有异常的行为,评委有权要求参赛选手解释。
参赛CrackMe 不可以联机到网络,或使用服务器注册,CrackMe必须可以在单机运行。
所提交的参赛CrackMe运行的文件包括.exe.dll.sys等一起在不打包压缩时总大小不超过1M。
如果评审有怀疑,例如怀疑加壳伪装,可以要求队伍提供CrackMe 的源码。
如果评审认为 CrackMe 使用了不合理的设计,或违反比赛精神,便会判定CrackMe无效,取消奖品和名次,并把参赛者提交的技术文件,在论坛公开,让会员公开讨论。
防守方在发布CrackMe时,应向大众公开一组用户名和序列号,即 “ Name/Serial ”。
其中公开的这个用户名“Name“,必须是该CrackMe文件的 hash值。
hash算法指定为SHA256,用户名为hash结果的前64bit的16进制大写文字。
例如:参赛CrackMe.exe文件的hash结果是 50be38745d82d93f3a974701e86c1cafcbc2ec83d1f1913d216079022ba7317f
则用户名 “Name“ 应为 50BE38745D82D93F
如果CrackMe不止一个文件的话,计算hash时应包含CrackMe的所有文件(第三方共享库除外)。参考hash计算工具:https://emn178.github.io/online-tools/sha256_checksum.html
若攻击方找出特定用户名(“KCTF”,不含引号) 的序列号,经KCTF系统自动确认,将认定攻击方获胜;
若攻击方找出特定用户名(“KCTF”,不含引号) 的第二个序列号,经KCTF官方确认,将认定攻击方获胜,且此题多解;
干净环境中,当前主流硬件配置环境下,10秒内出提示且不能虚假提示。
KeyGen算法不能基于“未在CrackMe中公开的秘密信息”;如果需要穷举,则穷举时间在目前主流机型中必须小于30分钟。
不能依赖网络、不能依赖硬件。
禁止使用第三方保护工具、禁止恶意破坏机器。
参赛 CrackMe 允许用自己未公布的壳或VM或其他手工处理的方法来保护程序(VM或壳的嵌套最多2层),但必须将保护该CrackMe所使用的壳或VM或其他手工处理的方法与CrackMe一同提交,评委审核通过后方可参赛。所提交的壳或VM[程序和源码]或其他手工处理的方法将在赛后向广大会员公开。凡违反该比赛规则的CrackMe将作废,设计该CrackMe的会员将取消本届比赛的参赛资格。
关于VM定义:所有掩盖原始程序、以解释方式执行的保护方式都可统称VM。比如 JAVA vm也算VM,其它模拟器也算VM。赛题中,壳内壳外的所有VM加起来,不要超过2层。
文件尺寸不超过10M;
同一用户名不应有多个序列号,否则根据积分规则“3.3 难度值积分”扣分
禁止在Crackme中为特定用户名(“KCTF”)设立独立验证路径,以绕开hash用户名的验证路径 。
序列号字符集限定为['!','~'],即ASCII码范围是[33,126],共94个可选字符。
不限制使用套娃。可以使用任何数据和代码变换。
不限制线索隐藏方式。可以将线索以任何形式置于CrackMe的任何位置。
设计一个存在漏洞的程序。
漏洞包括不限于堆栈溢出、UAF、DOUBLE FREE、OFF BY ONE、格式化、逻辑错误等漏洞。
提供稳定的漏洞利用EXP,攻击者根据漏洞攻击成功后能获得flag,flag格式flag{***}。
题目以docker形式提交,并提供详细的部署方法。
尽量不要出带有爆破,猜测的题目,避免比赛选手使用爆破工具给服务器带来较大压力;
控制解题流程,避免非预期;
带有文件上传或者代码执行的题目控制好权限,避免环境被破坏。
Pwn文件允许用自己未公布的壳或VM或其他手工处理的方法来保护程序(VM或壳的嵌套最多2层),但必须将保护该Pwn文件所使用的壳或VM或其他手工处理的方法与Pwn附件一同提交,评委审核通过后方可参赛。所提交的壳或VM[程序和源码]或其他手工处理的方法将在赛后向广大会员公开。凡违反该比赛规则的Pwn题将作废,设计该Pwn题的会员将取消本届比赛的参赛资格。
Pwn主文件尺寸不超过10M;
dockerfile: 基于官方 docker 镜像生成后需要部署的内容,并且暴露对应端口使用;
attachments:提供给选手分析使用的相关文件。
提供题目可运行docker或者全部文件,包括Dockerfile、attachments等。
设计一个可以运行于模拟器如qemu中基于uboot的arm32位程序。
该程序能够通过uboot引导并稳定执行。
该程序可设计为存在漏洞程序、crackme程序等。
参赛者可以解题成功后获得flag{*********}。
设计者需提供可以运行设计程序的qeum版本信息、以及让uboot成功运行起来的必要信息(如模拟的目标板、内存等等)。
设计者还需要提供已经设计好的uboot二进制文件、比赛程序、以及解题思路及答案。
设计一个存在WEB漏洞的WEB程序
漏洞包括不限于注入、命令执行、文件上传等漏洞
攻击者根据漏洞攻击成功后能获得flag,flag格式flag{***}
题目以docker形式提交,并提供详细的部署方法。
尽量不要出带有爆破,猜测的题目,避免比赛选手使用爆破工具给服务器带来较大压力;
控制解题流程,避免非预期;
带有文件上传或者代码执行的题目控制好权限,避免环境被破坏。
看雪CTF(简称KCTF)是圈内知名度最高的技术竞技之一,从原CrackMe攻防大赛中发展而来,采取线上PK的方式,规则设置严格周全,题目涵盖Windows、Android、iOS、Pwn、智能设备、Web等众多领域。自2007年以来,看雪已经举办十多个比赛,与包括金山、腾讯安全、腾讯TSRC、360、阿里、京东、WiFi万能钥匙、安恒、深信服、众安科技等在内的各大公司共同合作举办赛事。比赛吸引了国内一大批安全人士的广泛关注,历年来CTF中人才辈出,汇聚了来自国内众多安全人才,高手对决,精彩异常,成为安全圈的一次比赛盛宴,突出了看雪论坛复合型人才多的优势,成为企业挑选人才的重要途径,在社会安全事业发展中产生了巨大的影响力。
球分享
球点赞
球在看
点击阅读原文查看更多