有感于韩国队勇夺defcon CTF大赛,其实BH前我司内部也举行了一年一度的HW CTF大赛,虽然只是内部比赛,但同样体现出漏洞挖洞与防守的攻防兼备精髓。且听我们的团队的参赛小伙伴shine慢慢道来。
8月1日,天气很晴,深圳地面温度40℃,华为F区温度80℃,我的胸腔温度100℃。没办法,气氛很热烈,内心很激动。
在美女队长“肥安娜”的号召下、利诱下、带领下,shine,也就是我,第一次参加了HW CTF安全技术大赛。
今年是第二届由我司安全能力中心办的HW CTF,公司搞安全的人几乎倾巢出动,群贤毕赛,初赛142只队伍逐鹿华为,那真是一片一片的白帽子,而今25只队伍突出重围,相聚一堂,做最后的决斗。
由偶像俞科技亲自出题,决赛不仅仅限于挖漏洞,而是夺旗赛,拿旗加分、丢旗减分,攻防兼备,是一场技巧赛,极其考验战术素养。
个人感觉决赛的题目偏重逆向和脚本能力,咱们团队里面5个人从第一天上午10:00比赛开始至第二天14:00比赛结束,不眠不休,既耗血又耗蓝,但在美女队长的鼓励下,在黑客精神的支持下,最终拿到77个flag,失掉22个flag,以5500分的成绩获得第三名,得了二等奖,也算不虚此行。
过程简述:
下面简单介绍下我们莲子百合Team整体的解题过程。
题目说明:比赛队伍只能连接服务器 2015端口,而权限认证都是服务器发到本地 2000端口进行认证。
漏洞1:命令 flagname n,当n为负数时,会返回服务端内存镜像,以此获取完整PE。
漏洞2:逆向PE发现存在隐藏命令,使用每个队伍独有的key登陆,可获取一个flag,但key会被存储在全局变量里,如果不重启服务,自己的key会被其他队伍利用漏洞1 dump到。
漏洞3:另外一个隐藏命令在进行认证时存在认证结果溢出覆盖,设计输入覆盖认证返回值后可获取权限拿到1个flag(这个漏洞通杀,能拿到所有25个队伍的1个flag)。然后漏洞2和漏洞3组合权限可获取另外2个flag。至此如果能通过漏洞1获取到其他队伍的key,组合起来就可以拿到对方至少5个flag。
漏洞4:命令getflag filename 可溢出覆盖返回eip,这个在比赛规定时间内没有调试成功,所以没有拿到更多的flag
过程总结:
在最后评分时了解到,还没有队伍成功利用了漏洞4拿到flag得分,所以本届比赛最关键的是漏洞2发现的快慢。我们队伍成功拿到了其他12个队伍的key,最终拿到77个flag,由于漏洞4没利用成功,无法防守,被其他队伍共拿走22个flag(每个flag ±100分),最后获得5500分排名第三。佩服第一名和第二名的团队,漏洞挖得快,拿旗速度也是飞起。身处IT安全部门,与黑客面对面,也算是安全一线部队,所以我们从最开始就立足于防,防守反击,为了防止被别的队窃取Key,我们最后5分钟才提交答案。从最终结果来看,只有第一名的团队成功拿到了我们的5个key(公布结果时,这个队伍扣了我们500分),其他队伍没有拿到更多的,说明我们防御尚可,但也尚待升级。整个IT部门的队伍在本次比赛中也发挥不错,展现了实力(总算跻身了前15),当然,向产品线、向安全能力中心专家学习的道路,是无止境的。
总而言之,言而总之,第一次参加比赛的感觉挺刺激的,小心脏是duang duang的,最关键是拿到了二等奖的奖金,嗯,我不知道别人是不是,我就是奔着钱来的,我太俗了,脸有点红,先去洗洗……上班去了。
排名居前15的战队如下,IT的4个队伍也算跻身了前15。
PS:最近华为商城招安全攻城狮。点击下方的"阅读原文",或回复关键字“招聘”查看详情。
欢迎关注zsfnotes的公众号
本文始发于微信公众号(张三丰的疯言疯语):HW CTF决赛参赛感想
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论