关于2022年某系统网络安全大比武河北税务队的异常表现:事实整理及其他
0 一些声明
-
本文仅为记录一些事实和想法,不作为任何人试图提出任何诉求的依据存在,同理,这并不是在试图投诉和举报任何人。
-
除非特别注明,否则文中任何以事实口吻所作的叙述,都得到了至少三名身在现场且来源/类型不相同的亲历者的说法交叉确认。
-
由于赛场和会场都无法拍照摄像,且本人并不在现场,因此本文并不包含任何图像或视频类型的旁证,若有不同看法,欢迎以现场其他亲历者的说法为依据提出疑议。
-
为排除转述事实中的个人看法和失真部分,尽可能撷取了多个转述内容中的共同部分,因此不免会存在以大意形式存在的内容,同上,若认为大意概括有误,欢迎提出疑议。
-
同上,欢迎任何现场亲历者补充可靠说法与证据,尤其欢迎与其他说法意见不一的坚实证据,本文并不意在一边倒地攻击任何人,唯一的目的是解决相关人等尤其是现场亲历者的疑惑,尽可能厘清更多的事实。
-
基于比赛性质,部分亲历者说法中出现了对“考试”和“比赛”的混用,在此尽可能统一称呼为“比赛”。
1 事件背景
-
2022年9月6日-7日,某系统举办网络安全条线业务大比武,各省局和计划单列市市局参加,合计35队,每队5人。
-
比赛分两天,6日8:30-12:00为175人参与的个人赛,形式为CTF,7日9:00-12:00为35队各3人参与的团队赛,形式为AWDP。
-
个人赛共30题,其中10题为选择题形式的政治素养题,各110分共1100分。剩下20题为10题web、10题其他(密码、隐写、取证、逆向等,其中日志分析/流量分析/内存取证/硬盘取证占一半左右)。
-
选择题以外的20题按难度分为1-9,分值依次为1-3难度105左右,4-6难度155左右,7-9难度215左右。所有30题均有前五血加分,一血10%,依次递减至五血2%。
-
由于所有的flag均为中文,因此个人赛有一部分附件类题目的实际形式是:提供一个附件和一个加密的zip格式压缩包,在附件中找到需要的答案后,以其为密码解压压缩包,从中获取flag。
-
最终计分规则是以第一名折算为100分的比例,同样折算其他人的得分,最后每队计算五名参赛者平均分作为个人赛成绩。
-
团体赛即常见的AWDP模式,含加固、应急响应、溯源反制等题型,完成题目按轮加分,服务不可用按轮扣分,与后续内容关联不大,不作详表。
-
比赛规则第13条包含如下内容:“比赛过程中如有参赛人员对题目、环境有疑问或发现其他人员或参赛队有作弊行为,可通过截屏等举证方式,对相关细节进行留存,并举手示意现场工作人员……中略……原则上比赛结束后不再接受举报。”。尚未得知是否有参赛人员在比赛中途使用了这一条款,但基于该规则最后一句,本文的目的并不是对任何参赛队伍进行举报。何况,论及细节和证据,相信比赛后台能获得的应该比参赛者在紧张的比赛中途、于仓促之中从前台取得的截屏更准确、更有说服力。
2 异常表现-个人赛部分
- 多名参赛者称,个人赛开场约40分钟-1小时左右,河北税务5名参赛者的分数均已达到2000分以上,而3个半小时赛程结束后,全场也仅有42人分值在2000以上,其中仅河北2人分值在3000以上。河北税务队的大部分得分都在前40分钟左右获得,同时,他们中至少一部分人当时尚未提交全部选择题分数,详情见下。
- 场外大屏记分板与场内大屏内容有所区别,会显示更详细的答题状态表格,有在场外观赛的人员称,大量题目的前五血被河北税务5名参赛者获取(原话如“河北那几个人后面一排全是皇冠”“(某个时间点)皇冠基本全在河北那里”),比例异常高。虽然来自场外观赛者的说法较少,但这与上一条的前期集中得分是相符的,因此也予以记录。
- 多名参赛者称,上述时间点之后,河北税务5名参赛者的flag提交速度开始放缓,但基本一直保持包揽前五。中途曾有其他单位参赛者短时间进入前五,但河北税务均能够及时得分,维持优势。例如,基本上所有参赛者都提及,江西税务一名参赛者曾短暂冲到过第一,河北两名参赛者则迅速提交了flag将其重新压到第三。
- 有场外观赛者称,场外记分板附近有人向观战的河北税务队伍其他人员(由于疫情原因,举办场所对进入人员有所限制,因此可以判断该人员为河北税务领队或类似身份)就此情况提出河北税务5名参赛者是否手中握有答案却不提交的疑问,河北给出的答案是“他们对答案不太确定还需要检查一下”,显然对CTF比赛形式以及正常的答题策略、比赛节奏毫无了解。
- 多名参赛者称,由于比赛平台首页左侧有框体实时显示所有参赛者的正确提交情况,他们注意到河北税务有部分参赛者选择在比赛结束前短时间内集中提交选择题的flag,从而压过了原本保持总分第一的队友,最终获得前两名。
- 根据前述的计分规则,最终折算后,河北税务的平均分为九十分以上,从第二名开始即仅有六十几分,实质上已经提前锁定网络安全线乃至整场比武竞赛多条线合计成绩的第一(即使团体赛和其他线的比赛在第二天才进行)。
3 异常表现-团体赛部分
- 河北税务参与团体赛的3名参赛者全场几乎没有任何操作,且中途出现了服务不可用仅在接近结束前完成了部分题目,最后获得团体赛倒数第二名。
- 但由于团体赛分差整体来看较个人赛小得多,因此河北税务的团体赛成绩对其两场比赛总分排名基本毫无影响。
4 异常表现-复盘会议部分
- 团体赛结束后,当日13:00-14:00召开复盘会议,主办方、所有参赛者及领队,可能还有出题组参加了会议。河北税务2名参赛者分别作为个人赛分数最高、个人赛答出题目最多者上台发表感想,并回答台下提问。
- 多名现场参会者称,感想部分发言内容基本为“我本人多么努力-单位对此多么重视-备赛期间保障多么完善”的套话,没有实质性内容,仅在发言者发表“每晚都学到11点非常辛苦”以及“本来没打算来参赛”等言论时出现了一定嘘声。关键性内容大多在之后的提问和回答环节,综合现场参会者的叙述总结和摘录如下:
- 提问能否现场演示一下如何在40分钟内获得2500分左右的分数,未回答。
- 提问某特定题目的比赛当时解答思路及情况,回答大意为:这题我一看知道考点是某某某,就用常用payload打了一下,没打通,我就懵逼了,然后我就去做其他题,然后我回来换了一下payload,就打通了。
- 部分现场参会者称,场下有人提出“换payload”部分的具体描述是否混淆了题目中的XXE和SSRF部分,可能由于现场较嘈杂,声音过小,台上未回答。由于赛后无法重新复现web类赛题,回答中实际是否存在混淆无法确证,仅作记录。
- 提问某特定题目的比赛当时解答思路及情况,回答大意为:我刚好有两个脚本,一个可以把日志里类似注入的payload都提取出来,一个可以把状态码200的都提取出来,这样就拿到了账号和密码,但登陆后只给了一个不知道在哪用的密码,然后我懵逼了,然后我刚好看到有一条POST记录,找到了站上原来就有的马,连上马就得到结果了。
- 部分现场参会者称,场下有人提出“盲注结果的提取脚本不需要根据题目改,直接就能跑的吗”“怎么会刚好和日志里的盲注payload类型对应上的”,可能是转述者本人的疑惑,也可能声音过小,从其他转述者的说法来看,台上并未就此类疑问进行回答。
- 提问,请求介绍一下对附件极大的取证类和日志分析类题型能够迅速找到正确路线,在短时间内拿走前五血的经验,回答大意为:你们都不收集脚本的吗?我们培训结束前最后一个老师觉得已经教不了我们了,于是临时换了一位复旦的老师,他给我们准备了一套脚本,刚好对应这几题可以用上。
- 部分现场参会者称,场下有人存在疑问,脚本怎么可能刚好和题目给出数据的形式一模一样,改脚本不需要时间吗,同上,该疑问并未作为提问进行回答。
- 场下有人提问这位“复旦的老师”来自复旦六星战队还是白泽战队,或其他队伍,想去问这位老师要一下全套刚好对应赛题的脚本,台上回答称“这个……不清楚”。场下追问称“说一下名字也可以”,台上回答称“这个不知道”,追问“有ID也可以”,回答“这个……也不知道”。
- 插入一点题外话,9月8日早上9:00左右,一名来自复旦六星战队的师傅在CTFshow交流QQ群1群称,六星战队和白泽战队均没有人去河北税务进行过培训。当然我们知道“复旦的老师”不一定要出自这两支战队,也未必一定是现役选手,但就此也许可以缩小一点这位做好事不留名的培训讲师的身份范围。
- 同上,后续发言大意为:我学的不太好,所以看到题目就没有想太多,就拿手上的脚本一个一个试过去,有些就试成功了。
- 部分现场参会者称对于一个一个试脚本是否可能有这样的解题速度,正常脚本应该对应题目考点、为何存在需要一个一个试的可能性,以及为何脚本能与题目完美对应不需要现场调整修改等方面问题存在疑问,同上,这些疑问现场并未被提出和回答,很可能仅为转述者的个人观点,在此仅作记录。
- 河北税务某参赛者全场解出25题(含选择题),讲述了一道数据较庞大的取证/日志分析题的解题过程后,场下有人提问:请问你这题做了多久?回答:大约40分钟吧。
- 比赛全程210分钟,该参赛者共解出25题。由于选择题在解题时同样需要手动开启靶机、解题并手动关闭靶机,10道选择题按10分钟计,则剩下14题合计仅用了160分钟,完全不成比例。结合河北税务参赛者在40分钟左右均已经达到2000分以上的情况,可以得出有部分题目每题仅花了几分钟的结论。当然此处仅为理论推算,若现场参赛者保留了比赛平台左侧的全场解题记录,或许可以推翻这一计算的准确性。
5 异常表现-其他
- 河北税务一名参与了比赛命题工作的人员,在CTFshow交流QQ群1群和CTFshow VIP交流群中,于赛前和赛后陆续发表了一些发言,其中内容包括:
- 他所出的题目大部分并未入选,但有部分入选的题目是由他提供设想和思路,或确定考点,此后由其他命题人具体实现的。
- 他提供的设想和思路中,有部分是在未告知CTFshow的前提下,直接从CTFshow平台的已有题目中选取的。
- 此类题目的数量,根据其一开始的说法仅有三个:出神入化、冰蝎流量、黑客的挑战书。但后来又提及图片info信息注入和order by注入也是他从CTFshow平台的已有题目中提供的考点。因此,目前无法判定这类题目的总数,但应该为4-5个,希望现场参赛者予以指正。
- 他并未透题。
- 他命题前参与了河北税务网络安全大比武的培训工作,且实际负责了一部分培训。
- 由于与他相关的题目数量并不足以支持河北税务5名参赛者的前期解题速度,以及对组织方的信任,我个人倾向于他作为命题工作参与者,确实不可能透题。
- 9月7日傍晚,CTFshow群内一名未知身份者发言称:“都是自己做的,心虚啥啊,碰对老师了也只能说运气好,(组织方名称)也不可能透题啊”,因此被群内部分在场者认为是河北税务5名参赛者之一。但在其他在场者对其发言进行回应后,此人又改口称“我没在现场,省赛都没过,就是觉得不会透题,你要是有主观判断感觉讲的不清楚啥的我也不知道,也不用阴阳怪气,跟我没必要”,之后停止发言。
- 次日早上,此人又发言称:
- 酸了一天了差不多得了
- 不是我啊,我在单位干活
- 我没啥心虚的
- 我也没参赛
- 打比赛得分,也不一定要会吧
- 难道不是吗,学习和比赛不一样吧
- 打比赛出结果就完了
- 本节的内容与事件主体关系不大,仅作为相关事实记录。也希望大家在阅读时考虑到,QQ群的发言并不能作为判断事情真相的依据。
6 另一些声明
- 我认为必然存在一种或多种不涉及任何违规行为的方式,能够解释2-4节中的所有异常情况。即便5个人同时在多道题目上成功实现这些行为的概率可能会随着独立事件个数的增加而急剧减少,但由于目前所有的总结都依赖于多名现场亲历者的描述,不可否认其中存在失实、偏颇和误会的可能性。
- 因此,若能够提供更多的关于事情经过的旁证,不限于可合理公开的截图与录屏、现场允许拍摄场合的照片、更多现场亲历者的说法,尤其是与上述内容相悖、能够令其更接近真实情况的旁证,在此无任欢迎。
- 再次重申,本文不作为任何人试图提出任何诉求的依据,不进行任何的投诉与举报,也不以任何情形的达成作为撤除的条件。但如果得到了更准确的旁证,将会第一时间对表述错误和不清晰之处进行修改,并保证一切修改都能够通过历史版本查看。