一、竞赛时间
9:00-12:00,12:00-15:00,15:00-17:00共计8小时。
二、竞赛阶段
竞赛阶段 |
任务阶段 |
竞赛任务 |
竞赛时间 |
分值 |
第一阶段 基础设施设置与安全加固、网络安全事件响应、数字取证调查 (300分) |
任务一 |
主机发现与信息收集 |
9:00-12:00 |
50 |
任务二 |
应急响应 |
60 |
||
任务三 |
数据分析与取证 |
80 |
||
任务四 |
内存取证 |
60 |
||
任务五 |
操作系统安全加固 |
50 |
||
第二阶段 CTF-夺旗 (400分) |
任务一 |
CTF-Web |
12:00-15:00 |
80 |
任务二 |
CTF-Crypto |
80 |
||
任务三 |
CTF-Reverse |
80 |
||
任务四 |
CTF-Misc |
80 |
||
任务五 |
操作系统渗透测试 |
80 |
||
第三阶段 CTF-攻击 (300分) |
靶机渗透 |
15:00-17:00 |
300 |
四、竞赛任务书
(一)第一阶段任务书(300分)
任务一:主机发现与信息收集(50分)
假定你是A集团的网络安全工程师,对于企业的服务器系统,根据任务要求获取局域网中存活主机,并对这这些主机进行信息收集,分析判断主机安全性。
任务环境说明:
√ 服务器场景:JSsystem0001
√ 服务器场景操作系统:Linux
√ 服务器场景用户名:root 密码:123456
1.通过渗透机Kali2.0对靶机场景进行TCP同步扫描 (使用Nmap工具),并将该操作使用命令中必须要使用的参数作为Flag值提交;(6分)
2.通过渗透机Kali2.0对靶机场景进行TCP同步扫描 (使用Nmap工具),并将该操作显示结果中从下往上数第4行的服务器信息作为Flag值提交;(6分)
3.通过渗透机Kali2.0对靶机场景不ping主机进行扫描(使用Nmap工具),并将该操作使用命令中必须要使用的参数作为Flag值提交;(6分)
4.通过渗透机Kali2.0对靶机场景不ping主机进行扫描(使用Nmap工具),并将该操作显示结果中从下往上数第10行的“:”后的数字作为Flag值提交;(6分)
5.通过渗透机Kali2.0对靶机场景进行UDP扫描渗透测试只扫描53,111端口(使用Nmap工具),并将该操作显示结果中111端口的状态信息作为Flag值提交;(6分)
6.通过渗透机Kali2.0对靶机场景进行滑动窗口扫描渗透测试(使用Nmap工具),并将该操作使用的命令中必须要使用的参数作为Flag值提交;(7分)
7.通过渗透机Kali2.0对靶机场景进行RPC扫描扫描渗透测试(使用Nmap工具),并将该操作使用命令中必须要使用的参数作为Flag值提交;(7分)
8.通过渗透机Kali2.0对靶机场景进行RPC扫描扫描渗透测试(使用Nmap工具),并将该操作显示结果中从下往上数第7行的服务信息作为Flag值提交。(6分)
任务二:应急响应(60分)
A集团的Linux服务器被黑客入侵,该服务器的系统目录被上传恶意软件,域用户凭证被读取,您的团队需要帮助该公司追踪此网络攻击的来源,在服务器上进行全面的检查,包括日志信息、进程信息、系统文件、恶意文件等,从而分析黑客的攻击行为,发现系统中的漏洞,并对发现的漏洞进行修复。
任务环境说明:
√ 服务器场景:JSsystem0001
√ 服务器场景操作系统:Linux
√ 服务器场景用户名:root 密码:123456
1.攻击者通过对服务器场景SSH服务暴力破解成功进入了服务器,将攻击者的IP作为Flag提交;(10分)
2.攻击者通过对服务器场景SSH服务暴力破解成功进入了服务器,将攻击者爆破使用的用户名作为Flag提交;(Flag格式:user1.user2.user...)(10分)
3.攻击者进入服务器后创建了一个后门服务,该后门服务可帮助攻击者在服务器上远程执行命令,将该后门服务的服务描述作为Flag提交;(15分)
4.攻击者进入服务器后创建了一个后门服务,该后门服务进行远程连接时需要密码验证,验证失败时会给予客户端正常服务的回显,增强了隐蔽性;将该后门的连接密码作为Flag提交;(15分)
5.攻击者进入服务器后为了进行内网渗透横向攻击,所以上传了一个内网扫描工具,并定期对内网段进行自动扫描,将该扫描工具扫描时使用的全部命令行作为Flag提交。(10分)
任务三:数据分析与取证(80分)
A集团的网络安全监控系统发现有恶意攻击者对集团官方网站进行攻击,并抓取了部分可疑流量包。请您根据捕捉到的流量包,搜寻出网络攻击线索,并分析黑客的恶意行为。
任务环境说明:
√ 服务器场景:JSsystem0002
√ 服务器场景操作系统:未知
√ 服务器场景FTP用户名:ftp 密码:空
1.攻击者对服务器进行了端口开放扫描,通过分析数据包将服务器开放的端口作为Flag提交;(Flag格式:port1、port2、port3...从小到大排序)(10分)
2.攻击者对服务器的WEB服务进行了漏洞扫描,通过分析数据包将攻击者使用的扫描工具作为Flag提交;(包含版本信息);(10分)
3.攻击者对服务器的WEB服务的登录页面进行了暴力破解,并最终得到了正确的用户名和密码,通过分析数据包将WEB登陆页面正确登录所需的用户名和密码作为Flag进行提交;(Flag格式:[用户名:密码])(10分)
4.攻击者在登录服务器的WEB管理页面之后通过文件上传漏洞上传了一句话木马,通过分析数据包将一句话的文件名称和连接所需的密码作为Flag提交(Flag格式:[文件名称:密码])(10分)
5.通过分析数据包将攻击者通过一句话木马执行的第一条命令作为Flag提交;(10分)
6.攻击者读取了服务器的配置文件,通过分析数据包将该站点连接的数据库名称和所使用的用户名和密码作为Flag提交;(Flag格式:[数据库:用户名:密码])(10分)
7.攻击者在离开服务器前将服务器的WEB日志给清空了,通过分析数据包将服务器的WEB日志在系统中存放的绝对路径作为Flag提交;(10分)
8.通过分析数据包将数据包中的Flag提交。(10分)
任务四:内存取证(60分)
A集团某服务器系统感染恶意程序,导致系统关键文件被破坏,信息被窃取。请分析A集团提供的系统镜像和内存镜像,找到恶意程序及破坏系统的证据信息,分析恶意软件行为。
任务环境说明:
√ 服务器场景:JSsystem0002
√ 服务器场景操作系统:未知
√ 服务器场景FTP用户名:ftp 密码:空
1.对内存镜像进行分析,将管理员的QQ号码作为Flag提交;(10分)
2.管理员访问了一个网站,对内存镜像进行分析,将管理员登录该网站使用的用户名和密码作为Flag提交;(Flag格式:[用户名:密码])(10分)
3.对内存镜像进行分析,将记事本中的Flag提交;(10分)
4.对内存镜像进行分析,分析出黑客通过攻击了哪个进程进入服务器的,将进程名作为Flag提交;(10分)
5.对内存镜像进行分析,分析出黑客进入服务器后执行了哪条命令,将完整命令行作为Flag提交;(10分)
6.黑客进入服务器后留下了一个后门账户,对内存镜像进行分析,将该账户的密码作为Flag提交。(10分)
任务五:操作系统安全加固(50分)
任务环境说明:
√ 服务器场景:JSsystem0008
√ 服务器场景操作系统:Linux
√ 服务器场景用户名:administrator 密码:123456
1.对VSFTPD文件共享服务进行安全加固:修改配置文件使禁止匿名用户登录,将修改后的完整行内容作为Flag提交;(6分)
2.对Apache2万维网服务进行安全加固,修改配置文件使禁止目录列出,将修改后的完整行内容作为Flag提交;(10分)
3.对PHP环境进行安全加固,修改配置文件使PHP脚本只能访问/var/www/html/files目录下的文件,将修改后的完整行内容作为Flag提交;(10分)
4.对SSH远程连接服务进行安全加固,修改配置文件使不允许root账户通过SSH登陆系统,将修改后的完整行内容作为Flag提交;(6分)
5.对MYSQL数据库服务进行安全加固,修改配置文件使MYSQL关闭TCP/IP远程连接,将需要添加的完整行内容作为Flag提交;(8分)
6.在Linux中启用SYN攻击保护:使用命令开启SYN Cookie内核参数,并将完整命令行作为Flag提交。(10分)
(二)第二阶段任务书(400分)
任务一:CTF-Web(80分)
任务环境说明:
√ 服务器场景:JSsystem0009
√ 服务器场景操作系统:未知
√ 服务器场景用户名:未知 密码:未知
1.访问靶机10001端口,获取Flag并提交;(10分)
2.访问靶机10002端口,获取Flag并提交;(20分)
3.访问靶机10003端口,获取Flag并提交;(20分)
4.访问靶机10004端口,获取Flag并提交;(10分)
任务二:CTF-Crypto(80分)
√ 服务器场景:JSsystem0009
√ 服务器场景操作系统:未知
√ 服务器场景用户名:未知 密码:未知
1.根据encode1文件内容,找出FLAG并提交;(10分)
2.根据encode2文件内容,找出FLAG并提交;(10分)
3.根据encode3文件内容,找出FLAG并提交;(10分)
4.根据encode4文件内容,找出FLAG并提交;(10分)
5.根据encode5文件内容,找出FLAG并提交;(20分)
6.根据encode6文件内容,找出FLAG并提交。(20分)
任务三:CTF-Reverse(80分)
任务环境说明:
√ 服务器场景:JSsystem0002
√ 服务器场景操作系统:未知
√ 服务器场景FTP用户名:ftp 密码:空
1.对RE1进行逆向分析,找出文件中的FLAG并提交;(8分)
2.对RE2进行逆向分析,找出文件中的FLAG并提交;(12分)
3.对RE3进行逆向分析,找出文件中的FLAG并提交;(15分)
4.对RE4进行逆向分析,找出文件中的FLAG并提交;(20分)
5.对RE5进行逆向分析,找出文件中的FLAG并提交。(25分)
任务四:CTF-Misc(80分)
任务环境说明:
√ 服务器场景:JSsystem0002
√ 服务器场景操作系统:未知
√ 服务器场景FTP用户名:ftp 密码:空
1.找出文件夹1中的文件,将文件中的隐藏信息作为Flag值提交;(20分)
2.找出文件夹2中的文件,将文件中的隐藏信息作为Flag值提交;(20分)
3.找出文件夹3中的文件,将文件中的隐藏信息作为Flag值提交;(15分)
4.找出文件夹4中的文件,将文件中的隐藏信息作为Flag值提交;(15分)
任务五:操作系统渗透测试(80分)
任务环境说明:
√ 服务器场景:JSsystem0006
√ 服务器场景操作系统:未知
√ 服务器场景用户名:未知 密码:未知
1.通过本地PC中渗透测试平台Kali对靶机进行系统服务及版本扫描渗透测试,并将该操作显示结果中445端口对应的服务版本信息字符串作为FLAG提交;(10分)
2.通过本地PC中渗透测试平台Kali对靶机进行渗透测试,将该场景网络连接信息中的DNS信息作为FLAG提交;(例如114.114.114.114)(10分)
3.通过本地PC中渗透测试平台Kali对靶机进行渗透测试,将该场景桌面上111文件夹中唯一一个后缀为.docx文件最终的文件名称作为FLAG提交;(10分)
4.通过本地PC中渗透测试平台Kali对靶机进行渗透测试,将该场景桌面上111文件夹中唯一一个后缀为.docx文件的文档内容作为FLAG提交;(10分)
5.通过本地PC中渗透测试平台Kali对靶机进行渗透测试,将该场景系统中hacker用户的创建时间作为flag值提交;(例如:xx:xx:xx)(10分)
6.通过本地PC中渗透测试平台Kali对靶机进行渗透测试,将该场景中的当前最高账户管理员的密码作为FLAG提交;(10分)
7.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行渗透测试,将该场景中回收站内文件的文档内容作为FLAG提交。(20分)
(三)第三阶段任务书(300分)
一、项目和任务描述:
假定你是某企业的网络安全渗透测试工程师,负责企业某些服务器的安全防护,为了更好的寻找企业网络中可能存在的各种问题和漏洞。你尝试利用各种攻击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,从而改善您的防御策略。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录攻击机。
二、操作系统环境说明:
客户机操作系统:Windows 10
攻击机操作系统:Kali Linux
靶机服务器操作系统:Linux/Windows
三、漏洞情况说明:
1.服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
2.靶机服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;
3.靶机服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;
4.靶机服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;
5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;
6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;
7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。
四、注意事项:
1.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;
2.Flag值为每台靶机服务器的唯一性标识,每台靶机服务器仅有1个;
3.选手攻入靶机后不得对靶机进行关闭端口、修改密码、重启或者关闭靶机、删除或者修改Flag、建立不必要的文件等操作;
4.在登录自动评分系统后,提交靶机服务器的Flag值,同时需要指定靶机服务器的IP地址;
5.赛场根据难度不同设有不同基础分值的靶机,对于每个靶机服务器,前三个获得Flag值的参赛队在基础分上进行加分,本阶段每个队伍的总分均计入阶段得分,具体加分规则参照赛场评分标准;
6.本环节不予补时。