目录
赛题说明
一、竞赛项目简介
“ 网络安全 ”竞赛共分 A.基础设施设置与安全加固;B.网络安 全事件响应、数字取证调查和应用安全;C.CTF 夺旗-攻击;D.CTF 夺 旗-防御等四个模块。根据比赛实际情况,竞赛赛场实际使用赛题参 数、表述及环境可能有适当修改,具体情况以实际比赛发放赛题为准。竞赛时间安排和分值权重见表 1。
表 1 竞赛时间安排与分值权重
模 块 编 号 | 模块名称 | 竞赛时 间(小 时) | 权值 |
A | 基础设施设置与安全加固 | 1.5 | 20% |
B | 网络安全事件响应、数字取证调查和应 用安全 | 40% | |
C | CTF 夺旗-攻击 | 1.5 | 20% |
D | CTF 夺旗-防御 | 20% | |
总计 | 3 | 100% |
二、竞赛注意事项
1.比赛期间禁止携带和使用移动存储设备、计算器、通信工具及 参考资料。
2.请根据大赛所提供的比赛环境,检查所列的硬件设备、软件清 单、材料清单是否齐全,计算机设备是否能正常使用。
3.在进行任何操作之前,请阅读每个部分的所有任务。各任务之 间可能存在一定关联。
4.操作过程中需要及时按照答题要求保存相关结果。比赛结束后, 所有设备保持运行状态,评判以最后提交的成果为最终依据。
5.比赛完成后,比赛设备、软件和赛题请保留在座位上,禁止将 比赛所用的所有物品(包括试卷等)带离赛场。
6.禁止在提交资料上填写与竞赛无关的标记,如违反规定,可视 为 0 分。
竞赛内容
模块 A 基础设施设置与安全加固
(本模块 20 分)
一、项目和任务描述
假定你是某企业的网络安全工程师,对于企业的服务器系统,根 据任务要求确保各服务正常运行,并通过综合运用登录安全加固、数 据库安全策略、流量完整性策略、事件监控策略、防火墙策略、IP 协议安全配置等多种安全策略来提升服务器系统的网络安全防御能 力。本模块要求根据竞赛现场提供的 A 模块答题模板对具体任务的操 作进行截图并加以相应的文字说明,以 word 文档的形式书写,以 PDF
格式保存,以“赛位号+模块 A ”作为文件名,PDF 格式文档为此模块
评分唯一依据。
二、服务器环境说明
Windows 用户名:administrator,密码:123456
Linux 用户名:root,密码:123456
三、具体任务(每个任务得分以电子答题卡为准)
A-1 任务一 登录安全加固
1.密码策略(Windows,Linux)
a.设置最短密码长度为 15;
b.一分钟内仅允许 4 次登录失败,超过 4 次,登录帐号锁定 1 分钟。
2.用户安全管理
a.设置 user1 用户只能在上班时间(周一至周五的 9:00~18:00可以登录,将 user1 的登录时间配置界面截图;
b.在组策略中只允许管理员账号从网络访问本机;
c.设置操作系统中的关键目录(system32、hosts、Program Files、Perflogs)的权限为最优状态,即仅允许管理员用户进行读取及运行。
A-2 任务二 数据库安全策略
3.以普通帐户 mysql 安全运行 mysql 服务,禁止 mysql 以管理员帐号权限运行;
4.删除默认数据库(test);
5.改变默认 mysql 管理员用户为:SuperRoot;
6.使用 mysql 内置 MD5 加密函数加密用户 user1 的密码为(P@ssw0rd1!)。
A-3 任务三 流量完整性
7.对 Web 网站进行 HTTP 重定向 HTTPS 设置,仅使用 HTTPS 协议访问网站(Windows) (注:证书颁发给 test.com 并通过
https://www.test.comhttps://www.test.com 访问 Web 网站)。
A-4 任务四 事件监控
8.将 Web 服务器开启审核策略登录事件 成功/失败;特权使用成功;策略更改成功/失败;进程跟踪成功/失败。
A-5 任务五 防火墙策略
9.Windows 系统禁用 445 端口;
10.Windows 系统禁用 23 端口;
11.Linux 系统使用 ip tables 禁用 23 端口;
12.Linux 系统使用 ip tables 禁止别人 ping 通。
A-6 任务六 IP 协议安全配置
13.指定触发 SYN 洪水攻击保护所必须超过的 TCP 连接请求数阈值为 5;
14.指定处于 SYN_RCVD 状态的 TCP 连接数的阈值为 500;
15.指定处于至少已发送一次重传的 SYN_RVCD 状态中的TCP 连接数的阈值为 400。
模块 B 网络安全事件响应、数字取证调查和应用安全
(本模块 40 分,每个子任务 4 分)
B-1 任务一:主机发现与信息收集
*任务说明:仅能获取 Server1 的 IP 地址
1.通过渗透机Kali2.0对靶机场景进行TCP 同步扫描 (使用Nmap工具),并将该操作使用命令中必须要使用的参数作为 Flag 值提交;
2.通过渗透机Kali2.0对靶机场景进行TCP 同步扫描 (使用Nmap 工具),并将该操作显示结果中从下往上数第 4 行的服务器信息作为Flag 值提交;
3.通过渗透机 Kali2.0 对靶机场景不 ping 主机进行扫描(使用 Nmap 工具),并将该操作使用命令中必须要使用的参数作为 Flag 值提交;
4.通过渗透机 Kali2.0 对靶机场景不 ping 主机进行扫描(使用 Nmap 工具),并将该操作显示结果中从下往上数第 10 行的“ : ”后的数字作为 Flag 值提交;
5.通过渗透机Kali2.0 对靶机场景进行UDP 扫描渗透测试只扫描 53,111 端口(使用 Nmap 工具),并将该操作显示结果中 111 端口的状态信息作为 Flag 值提交;
6.通过渗透机 Kali2.0 对靶机场景进行滑动窗口扫描渗透测试 (使用 Nmap 工具),并将该操作使用的命令中必须要使用的参数作为Flag 值提交;
7.通过渗透机 Kali2.0 对靶机场景进行 RPC 扫描扫描渗透测试 (使用 Nmap 工具),并将该操作使用命令中必须要使用的参数作为Flag 值提交;
8.通过渗透机 Kali2.0 对靶机场景进行 RPC 扫描扫描渗透测试 (使用 Nmap 工具),并将该操作显示结果中从下往上数第 7 行的服务信息作为 Flag 值提交。
B-2 任务二:数据分析数字取证
*任务说明:仅能获取 Server2 的 IP 地址
1.使用 Wireshark 查看并分析 Server2 桌面下的 attack.pcapng 数据包文件,通过分析数据包 attack.pcapng 找出恶意用户的 IP 地址,并将恶意用户的 IP 地址作为 Flag 值(形式:[IP 地址])提交;
2.继续查看数据包文件 attack.pacapng,分析出恶意用户扫描了哪些端口,并将全部的端口号从低到高作为 Flag 值(形式:[端口名 1,端口名 2,端口名 3… ,端口名 n])提交;
3.继续查看数据包文件 attack.pacapng 分析出恶意用户最终获 得的用户名是什么,并将用户名作为 Flag 值(形式: [用户名])提交;
4.继续查看数据包文件 attack.pacapng 分析出恶意用户最终获得的密码是什么,并将密码作为 Flag 值(形式:[密码])提交;
5.继续查看数据包文件 attack.pacapng 分析出恶意用户连接一 句话木马的密码是什么,并将一句话密码作为 Flag 值(形式:[一句话密码])提交;
6.继续查看数据包文件 attack.pacapng 分析出恶意用户下载了 什么文件,并将文件名及后缀作为 Flag 值(形式:[文件名.后缀名])提交;
7.继续查看数据包文件 attack.pacapng 将恶意用户下载的文件里面的内容作为 Flag 值(形式:[文件内容])提交。
B-3 任务三:SSH 弱口令渗透测试
*任务说明:仅能获取 Server3 的 IP 地址
1.在渗透机 Kali2.0 中使用 Zenmap 工具扫描靶机场景所在网段 (例如:172.16.101.0/24)范围内存活的主机 IP 地址和指定开放的 21、22、23 端口。并将该操作使用的命令中必须要添加的字符串作为 Flag 值提交(忽略 ip 地址);
2.通过渗透机 Kali2.0 对靶机场景进行系统服务及版本扫描渗 透测试,并将该操作显示结果中 SSH 服务对应的服务端口信息作为Flag 值提交;
3.在渗透机 Kali2.0 中使用 MSF 模块对其爆破,使用 search 命令,并将扫描弱口令模块的名称信息作为 Flag 值提交;
4.在上一题的基础上使用命令调用该模块,并查看需要配置的信 息(使用 show options 命令),将回显中需要配置的目标地址,密码 使用的猜解字典,线程,账户配置参数的字段作为 Flag 值(之间以英文逗号分隔,例 hello,test,..,..)提交;
5.在 msf 模块中配置目标靶机 IP 地址,将配置命令中的前两个单词作为 Flag 值提交;
6.在 msf 模块中指定密码字典,字典路径为/root/2.txt,用户名为 test 爆破获取密码并将得到的密码作为 Flag 值提交;
7.在上一题的基础上,使用第 6 题获取到的密码 SSH 到靶机,将 test 用户家目录中唯一一个后缀为.bmp 图片的文件名的字符串作为Flag 值提交。
B-4 任务四:Web 安全应用
*任务说明:仅能获取 Server4 的 IP 地址
1.通过渗透机访问靶机的 HTTP 服务,扫描获取 HTTP 服务中的任 务入口地址(使用字典 directories.txt),并将任务入口的 URL 地址作为 Flag 值(形式:http://172.16.1.1/页面路径)提交;
2.通过渗透机访问靶机的 HTTP 服务,并访问任务入口地址,分析页面内容并获得密码,将密码作为 Flag 值提交;
3.通过渗透机访问靶机的 HTTP 服务,将题目 2 中获得的密码进 行解密,由此访问新的任务入口,分析页面内容并获得密码,将密码作为 Flag 值提交;
4.通过渗透机访问靶机的 HTTP 服务,将题目 3 中获得的密码进行解密,将解密后的密码作为 Flag 值提交;
5. 通 过 渗 透 机 的 火 狐 浏 览 器 访 问 地 址 http:// 靶 机 IP/aredil/taher ice.php,分析页面内容并获得密码,将密码作为Flag 值提交;
6. 通 过 渗 透 机 的 火 狐 浏 览 器 访 问 地 址 http:// 靶 机 IP/secam/erahegi.php,分析页面内容并获得密码,将密码作为 Flag值提交。
B-5 任务五:文件 MD5 校验
*任务说明:仅能获取 Server5 的 IP 地址
1.进入虚拟机操作系统:Server5 中的/root 目录,找到 test.txt 文件,并使用 md5sum 工具来计算出该文件的 md5 值,并将计算该文件 md5 的命令的字符串作为 Flag 值提交;
2.进入虚拟机操作系统:Server5 中的/root 目录,找到 test.txt文件,并使用 md5sum 校验工具来计算出该文件的 md5 值,并将计算该文件得到的 md5 值的字符串中前 6 位作为 Flag 值提交;
3.进入虚拟机操作系统:Server5 中的/root 目录,将 test.txt 文件的文件名称改为 txt.txt,然后再使用 md5sum 工具计算 txt.txt 文件的 md5 值,并将计算该文件得到的 md5 值的字符串中前 5 位数字 和之前 test.txt 文件 md5 值的字符串中前 5 位数字相减的结果作为Flag 值提交;
4.进入虚拟机操作系统:Server5 ,使用 md5sum 工具来计算 /etc/passwd 文件的 md5 值,并将改 md5 值导入到 passwd.md5 文件中,并将该命令的字符串作为 Flag 值提交;
5.进入虚拟机操作系统:Server5,创建一个新的用户,用户名 为 user6,密码为 123456。再次计算/etc/passwd 的 md5 值,并将该 值与 passwd.md5 文件中的值进行对比,并将添加用户后/etc/passwd 文件的 md5 值的字符串中前三位数字和之前/etc/passwd 文件 md5 值的字符串中前三位数字相减的结果作为 Flag 值提交。
B-6 任务六:Windows 系统安全
*任务说明:仅能获取 Server6 的 IP 地址
1.通过本地 PC 中渗透测试平台 Kali 对服务器场景 Server6 进行 系统服务及版本扫描渗透测试,并将该操作显示结果中 21 端口对应的服务状态信息字符串作为 Flag 值提交;
2.将首选 DNS 服务器地址作为 Flag 值提交;
3.找到 Flag1 作为 Flag 值提交;
4.找到 Flag2 作为 Flag 值提交;
5.将系统最高权限管理员账户的密码作为 Flag 值提交。
B-7 任务七:渗透测试
*任务说明:仅能获取 Server7 的 IP 地址
1.通过本地 PC 中渗透测试平台 Kali 对靶机场景 Server7 进行系 统服务及版本扫描渗透测试,以 xml 格式向指定文件输出信息(使用 工具 Nmap),将以 xml 格式向指定文件输出信息必须要使用的参数作为 Flag 值提交;
2.在本地 PC 的渗透测试平台 Kali 中,使用命令初始化 MSF 数据库并将此命令作为 Flag 值提交;
3.在本地 PC 的渗透测试平台 Kali 中,打开 MSF,使用 db_import 将扫描结果导入到数据库中,并查看导入的数据,将查看该数据要使用的命令作为 Flag 值提交;
4.在MSF 工具中用 search 命令搜索搜索MS17010 漏洞利用模块,将回显结果中的漏洞公开时间作为 flag 值(如:2017-10-16)提交;
5.在 MSF 工具中调用 MS17010 漏洞攻击模块,并检测靶机是否存在漏洞,将回显结果中最后一个单词作为 Flag 值提交。
B-8 任务八:JS 文件上传绕过
*任务说明:仅能获取 Server8 的 IP 地址
1.访问靶机网站 http://靶机 IP/scrg/,将文件上传页面完整URL 作为 Flag 值(形式:http://172.16.1.1/页面路径)提交;
2.分析文件上传页面,将验证文件格式的函数名称作为 Flag 值提交;
3.获取靶机 FTP 服务下 php 文件,上传 php 文件,将修改后的Content-Type 信息作为 Flag 值提交;
4.分析文件上传时的数据包,将文件上传后的路径作为 Flag 值(形式:http://172.16.1.1/文件路径)提交;
5.将靶机网站服务所使用的 ServerAPI 值作为 Flag 值提交;
6.将靶机网站服务所使用的版本号作为 Flag 值提交。
B-9 任务九:内存取证
*任务说明:仅能获取 Server9 的 IP 地址
1.从内存文件中找到异常程序的进程,将进程的名称作为 Flag值提交;
2.从内存文件中找到黑客将异常程序迁移后的进程编号,将迁移后的进程编号作为 Flag 值提交;
3.从内存文件中找到受害者访问的网站恶意链接,将网站的恶意链接作为 Flag 值提交;
4.从内存文件中找到异常程序植入到系统的开机自启痕迹,使用 Volatility 工具分析出异常程序在注册表中植入的开机自启项的Virtual 地址,将 Virtual 地址作为 Flag 值提交;
5.从内存文件中找到异常程序植入到系统的开机自启痕迹,将启 动项最后一次更新的时间作为 Flag 值(只提交年月日 ,例如:20210314)提交。
B-10 任务十:Linux 系统安全
*任务说明:仅能获取 Server10 的 IP 地址
1.通过本地 PC 中渗透测试平台 Kali 对服务器场景 Server10 进 行系统服务及版本扫描渗透测试,并将该操作显示结果中 22 端口对应的服务版本信息字符串作为 Flag 值提交;
2.找到/var/www 目录中的图片文件,将文件名称作为 Flag 值提交;
3.找到 Flag1 作为 Flag 值提交;
4.找到 Flag2 作为 Flag 值提交;
5.找到 Flag3 作为 Flag 值提交。
模块 C CTF 夺旗-攻击
(本模块 20 分)
一、项目和任务描述
假定你是某企业的网络安全渗透测试工程师,负责企业某些服务 器的安全防护,为了更好的寻找企业网络中可能存在的各种问题和漏 洞。你尝试利用各种攻击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,从而改善您的防御策略。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录攻击机。
二、操作系统环境说明
客户机操作系统:Windows10
攻击机操作系统:KaliLinux
靶机服务器操作系统:Linux/Windows
三、漏洞情况说明
1.服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
2.靶机服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;
3.靶机服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;
4.靶机服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;
5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;
6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;
7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。
四、注意事项
1.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该
参赛队离场;
2.Flag 值为每台靶机服务器的唯一性标识,每台靶机服务器仅有 1 个;
3.选手攻入靶机后不得对靶机进行关闭端口、修改密码、重启或者关闭靶机、删除或者修改 Flag、建立不必要的文件等操作;
4.在登录自动评分系统后,提交靶机服务器的 Flag 值,同时需要指定靶机服务器的 IP 地址;
5.赛场根据难度不同设有不同基础分值的靶机,对于每个靶机服 务器,前三个获得 Flag 值的参赛队在基础分上进行加分,本阶段个队伍的总分均计入阶段得分,具体加分规则参照赛场评分标准;
6.本环节不予补时。
模块 DCTF 夺旗-防御
(本模块 20 分)
一、项目和任务描述
假定各位选手是某安全企业的网络安全工程师,负责若干服务器 的渗透测试与安全防护,这些服务器可能存在着各种问题和漏洞。你 需要尽快对这些服务器进行渗透测试与安全防护。每个参赛队拥有专 属的堡垒机服务器,其他队不能访问。参赛选手通过扫描、渗透测试 等手段检测自己堡垒服务器中存在的安全缺陷,进行针对性加固,从而提升系统的安全防御性能。每位选手按照发现需要加固点、实施加固和检验加固成效等步骤实施系统防御。完成防护工作后,每队选手需要按照实施步骤必要文 字说明配以关键过程或者关键操作结果截图的形式,自行制作系统防 御实施报告。实施报告以 word 文档的形式书写,以 PDF 格式保存,以 “赛位号+模块 D ”作为文件名,PDF 格式文档为此模块评分唯一依据。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录需要加固的堡垒服务器。
二、操作系统环境说明
客户机操作系统:Windows10
攻击机操作系统:KaliLinux
堡垒服务器操作系统:Linux/Windows
三、漏洞情况说明:
1.堡垒服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
2.堡垒服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;
3.堡垒服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;
4.堡垒服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;
5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;
6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;
7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。
四、注意事项
1.系统加固时需要保证堡垒服务器对外提供服务的可用性;
2.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;
3.本环节不予补时。