打了一天比赛、本来感受颇多,提笔却不知从哪说起,很多比赛时候的切身体验很难用文字来表达出来,就使用流水账的形式简单说下这次的比赛吧 。
2016CNcert网络年会&2016网络安全对抗赛是国家互联网应急中心主办,
比赛模式为线下攻防赛,通过CNcert的初选共有39支队伍在成都参加线下决赛。
比赛共三轮,
每20分钟刷新一波flag,每提交对手一个flag得5分,被对手提交一个flag失10分,每个队伍的flag20分钟只能提交一次,
拓扑图如下:
第一轮 9:00--10:00
漏洞:(题目源码以上传云盘,最后附上)
web1:webftp(mongoadmin 远程命令执行)
EXP:$ curl "http://localhost/moadmin.php?collection=1" -d "object=1;phpinfo();exit"(http://bobao.360.cn/learning/detail/274.html)
web2:joomla(命令执行)
上午9点比赛开始 发现1801端口为webftp 1802为joomla 我们三人迅速做了分工,jack去防守机布置监控代码进行实时防守,防守,刚开始布置php脚本报错,提示没有写权限,代码监控自动删除功能也有问题。改好后步入正轨,我和guangauan进行打点、进行漏洞分析利用,刚进行5分钟,我们发现已有队伍进行攻击并写入了shell,我们拿到shell后本想使用脚本自动化提交flag,但是发现比赛规则中有限制一分钟之内只能向平台提交20次flag请求(好像某支强队自动提交flag被平台封了一段时间不能提交flag),我和guanguan就开始了批量检测shell、获取flag、手工flag提交,第一轮一共四轮flag刷新,通过jack提供的shell“反向”地址以及我和guanguan打点得到的shell,第一轮结束后,我们队伍大约在第8名左右(具体是7、8、9名 忘了~),后来比赛完分析源码,发现还存在一个一句话的小马,不知道是不是官方留的后门。
第二轮 10:10--12:00
漏洞:
web3:webftp 弱口令(admin admin)+越权漏洞+写shell
web4:joomla 弱口令(admin admin888)
第二轮是10:10--12:00 主办方重新更换了端口以及靶机cms,起初我们以为是全新的cms,当我们打开靶机地址时,发现还是webftp&joomla的界面,但是不是第一轮的命令执行漏洞了,我们第一时间想到有可能是弱口令漏洞(2015网络安全攻防赛中有一题弱口令题目),我和jack在疯狂测试、打点的时候,队友jack说我们的cms被植入了小马,(jack写了一套实时监控cms的脚本),然后我们就进行了源码的修改进行加固操作,随着我和guanguan疯狂打点提交flag、jack实时监控防守机,伴随着魔鬼的步伐,第二轮过了一半的时候我们队伍已经升至了第四名,但是出现了一件懵逼的事,主办方的平台扣了我们600分(不详叙细节了,匿。)
第三轮 12:30--17:00
web5: bak文件+phpmyadmin口令(配置文件找到root密码)+后台写可写目录写shell
web6: joomla(没分析)
pwn1:命令执行(ua:2135GFTS cert:shell命令)
pwn2:doublefree漏洞
中午半小时的休息时间之后马上就开始了紧张的第三轮,这轮比赛给了两个web题目和两个漏洞利用题目,下午大赛出现了较大的波动,某些队伍利用权限进行了删除比赛题目、fork炸弹的操作,后来出现了异常,各种目录被删。php环境无法运行,jack写了个bash。进行web题目的自动上传,可是启动时还是有各种异常。后来知道是某支强队的通过web3拿到权限进行溢出,将别的队伍账户权限进行了修改,(用户符号变成~,被玩儿坏了),大大增加了攻防比赛的挑战性,到第三轮比赛中期的时候,我们做出了pwn题目,本地测试以及利用成功,可是在攻击的时候的却无法返回他们的shell,应该是一些队伍攻击成功之后将漏洞代码进行了修改。
上面记录了一下流水账,稍作一个总结吧:
1.线下攻防赛题目要迅速做出来,并尽可能的批量进行获取权限,时间速度决定着你是否占据着主动。
2.在比赛中一定要做好防守,尽量有一名队友实时监控本地的防守机,并根据cms的漏洞进行漏洞防护。
3.在比赛中后期要仔细检查防守机是否被反弹shell、被执行计划任务、
4.比赛中你可以选择fork炸弹等“搅屎”操作,但是这种操作尽量不要使用。
5.比赛开始之前准备好各种自动化脚本,例如常见Cms漏洞exp、批量获取shell自动化脚本、等等。。
6.比赛中 find ps kill ssh 命令可能会更好的帮助你。
比赛web源码下载:http://pan.baidu.com/s/1kV3ydmv 解压密码:inn0team
pwn比赛的源码不再上传,有需要的联系我
文笔不好,不知道再扩展哪些CTF知识,大家对哪方面感兴趣的请留言里回复,我会根据大家的问题在有针对性的介绍。