2020年山东省职业院校网络空间安全技能大赛自己模拟的做题流程,仅参考
2020年山东省职业院校网络空间安全技能大赛自己模拟的做题流程,仅参考
2020 年山东省职业院校技能大赛
2021这次改革后的比赛中,不要去全网段扫主机!容易扫到裁判机,然后出现了有几个人打了裁判机被通报
(中职组)网络安全赛项竞赛
正式赛卷
(B 卷)
(总分 1000 分)
2020 年 11 月 14 日
2020 年山东省职业院校技能大赛
中职组网络安全赛项竞赛试题
(总分 1000 分)
赛题说明
竞赛时间安排与分值权重
模块编号 | 模块名称 | 竞赛时间(小时) | 权值 |
---|---|---|---|
A | 基础设施设置与安全加固 | 1.5 | 20% |
B | 网络安全事件响应、数字取证调查和应用安全 | 1.5 | 40% |
C | CTF 夺旗-攻击 | 1.5 | 20% |
D | CTF 夺旗-防御 | 1.5 | 20% |
总计 | 6 | 100% |
3小时内同时考A,B模块,3小时内同时考C,D模块。 别骂了别骂了代码无法实现上下合并表格QAQ
模块 A 基础设施设置与安全加固
(本模块 200 分)
一、项目和任务描述:
假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求
确保各服务正常运行,并通过综合运用登录和密码策略、数据库安全策略、流量
完整性保护策略、事件监控策略、防火墙策略等多种安全策略来提升服务器系统
的网络安全防御能力。本模块要求对具体任务的操作按照竞赛场地物理主机 E 盘
根目录下提供的报告单模板(网络安全模块 A 报告单)要求进行截图,若需要截
取多个窗口请加以相应的文字说明,以 word 文档形式编辑、PDF 格式保存;以“网
络安全模块 A-XX” 作为文件名保存到 U 盘提交(其中:“XX”代表的是工位号;
比如工位号为“01”,以“网络安全模块 A-01”)。
二、服务器环境说明
LOG:日志服务器(Splunk),操作系统为 windows
Web:apache 服务器,操作系统为 linux
Data:数据库服务器(Mysql),操作系统为 Linux
三、具体任务(每个任务得分以提交的报告单为准)
A-1 任务一 登录安全加固
请对服务器 Log、Web、Data 按要求进行相应的设置,提高服务器的安全性。
1.服务器密码策略(Log、Web、Data)
Linux操作系统操作步骤
(1)服务器最小密码长度不少于 6 个字符、密码的使用期限 7-30 天;
设置linux下的login.defs文件
该文件是设置用户帐号限制的文件/etc/login.defs,这里我们用来对用户的过期时间,密码的最大长度进行修改
vi /etc/login.defs

###### 修改下面的项目值
```kotlin
PASS_MAX_DAYS 30 #最大时间
PASS_MIN_DAYS 7 #最小时间
PASS_MIN_LEN 6 #长度限制
:wq! #保存
Windows操作系统操作步骤
打开本地安全策略组,打开账户策略,打开密码策略
按照题目要求对相应文件进行修改
(2)服务器密码策略必须同时满足大小写字母、数字、特殊字符。
Linux操作系统操作步骤
修改/etc目录下的密码设置及登陆控制文件(system-auth)
vi /etc/pam.d/system-auth
在pam_cracklib.so 后面添加
ucredit=-1 #大写字母
lcredit=-1 #小写字母
dcredit=-1 #数字
ocredit=-1 #特殊字符
password requisite pam_cracklib.so try_first_pass retry=3 type= ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
pam_cracklib.so | 新建密码时会受到该代码限制,新密码复杂度不满足不要 |
---|---|
retry | 尝试次数 |
difok | 最小不同字符 |
dcredit | 数字个数 |
ocredit | 特殊字符个数 |
ucredit | 大写字母个数 |
lcredit | 小写字母个数 |
minlen | 最小长度 |
Windows操作系统操作步骤
打开本地安全策略组,打开账户策略,打开密码策略
进入密码复杂性要求,勾选启用
2. 登录策略(Log、Web、Data)
(1)用户登录服务器系统时,应该有警告标题“warning”内容为“Forauthorized users only”提示信息;
Linux操作系统操作步骤
修改/etc目录下的iisue文件,该文件是Linux系统开机启动时在命令行界面弹出的欢迎语句文件。
vi /etc/issue
添加欢迎标题
-----------warning-------------
For authorized users only
------------------------------
init 3 #验证
编辑sshd_config
不会真有人以为ssh登录不算服务器吧。
vi /etc/ssh/sshd_config
添加下面的代码
Banner /etc/ssh/Banner
在ssh目录下新建一个文件Banner和sshd_config里的对应
vi /etc/ssh/Banner
把标题写进去
重启sshd服务
service sshd restart
成功返回
Windows操作系统操作步骤
打开本地安全策略组,进入本地策略,打开安全选项
对交换式登录:试图登录的用户标题以及试图登录的用户消息文本进行编辑
(2)一分钟内仅允许 5 次登录失败的尝试,超过 5 次,登录帐号锁定 1 分
钟;
Linux操作系统操作步骤
修改文件
vi /etc/pam.d/system-auth
unlock_time #设定普通用户锁定后,多少时间后解锁,单位是秒;
auth required pam_tally2.so deny=5 unlock_time=60
Windows操作系统操作步骤
打开本地安全策略组,进入账户策略,打开账户锁定策略
按照题目要求修改对应文件 在这里插入图片描述
(3)远程用户非活动会话连接超时应小于等于 5 分钟。
Linux操作系统操作步骤
修改sshd_config文件
vi /etc/ssh/sshd_config
修改下面的文件记得去掉#
Windows操作系统操作步骤
打开本地安全策略组,进入账户策略,打开账户锁定策略
打开管理工具,找到远程桌面服务,进入远程桌面会话主机设置
右键RDP-Tcp属性,在会话栏目进行修改
A-2 任务二 数据库加固(Data)
1. 以普通帐户 MySql 安全运行 MySql,禁止 MySql 以管理员帐号权限运行;
修改my.cnf文件
vi /etc/my.cnf
添加下面代码
user=mysql
2. 删除默认数据库(test);
drop databases test;
3. 改变默认 MySql 管理员用户为:SuperRoot;
update user set user='SuerRoot' where user='root';
4. 使用 MySql 内置 MD5 加密函数加密用户 user1 的密码为(P@ssw0rd1!);
update user set password=md5(password) where user="user1";
5. 赋予 user1 用户对数据库所有表只有 select,insert,delete,update 权限;
grant select,insert,delete,update on testdb.* to user1@‘localhost’;
show grants for 'user1'@'localhost';
6. 对忘记 mysql 数据库 SuperRoot 管理员密码进行重置操作;
vi /etc/my.cnf
添加下方代码
skip-grant-tables
update mysql.user set password=password('123456') where user='SuperRoot';
7. 禁用 LOCAL INFILE 命令防止非授权用户访问本地文件;
vi /etc/my.cnf
添加下方代码
set-variable=local-infile=0
8. 为防止数据库操作信息泄露,请禁止使用 MySql 命令行历史记录;
添加下方的代码
rm -f $HOME/.mysql_history
ln -s /dev/null $HOME/.mysql_history
9. 为了分析数据库运行过程中的一些异常活动,请开启 MySql 二进制日志。
vi /etc/my.cnf
添加下面的代码
log-bin=mysql-bin
server mysql restart #重启数据库
A-3 任务三 Web 安全加固(Web)
1. 防止网站信息探测及泄露,隐藏 Apache 版本和操作系统版本相关信息;
ServerTokens Prod #隐藏apach版本
ServerSignature Off #隐藏操作系统版本信息
2. 防止 PHP 版本信息泄露,隐藏 PHP 的 X-Powered-By 信息;
编辑php.ini文件
vi /etc/php.ini
添加下方代码
expose_php = Off
3. 防止网站目录信息泄露,禁用目录列表显示;
编辑http.conf文件
vi /etc/httpd/conf/httpd.conf
将Option 中的 Indexes 去掉
4. 修改 php 配置文件禁用 php 危险函数:Assert、phpinfo、eval、passthru、
exec、system、chroot;
vi /etc/php.ini
添加下方代码
disable_functions=assert,phpinfo,eval,passthru,exec,system,chroot
5. 为了减轻网站负载,设置网站最大并发连接数为 200;
vi /etc/httpd/conf/httpd.conf
将MaxClients的连接数修改成200
MaxClients 200
6 为了保障服务器安全,限制访问 Web 根目录之外的文件;
A-4 任务四 流量完整性保护(Web、Data)
1. 对 Web 网站进行 HTTPS 配置,仅使用 HTTPS 协议访问网站(Web)(利用本
地 host 文件解析域名 访问 Web 网站);
修改host文件
vi /etc/hosts
IP www.test.com
安装ssl组件
yum install mod_ssl
生成私钥
[root@localhost 6]# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
...................................................++++++
.++++++
e is 65537 (0x10001)
[root@localhost 6]# ls
server.key
生成证书
[root@localhost 6]# openssl req -new -x509 -key server.key -out server.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:Cn
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:1
[root@localhost 6]# ls
server.crt server.key
修改下方代码
vi /etc/httpd/conf/httpd.conf
NameVirtualHost 172.16.100.2:443 #修改端口为443
<VirtualHost 172.16.104.2:443>
ServerName www.test.com #设置域名
SSLEngine on
SSLCertificateFile /etc/httpd/.ssl/server.crt #设置证书
SSLCertificateKeyFile /etc/httpd/.ssl/server.key #设置私钥
</VirtualHost>
service httpd restart
2. 为了防止密码在登录或者传输信息中被窃取,仅使用证书登录 SSH
(Data)。
生成私钥和公钥,私钥给客户端,公钥留在服务器
ssh-keygen -t rsa
vim /etc/ssh/sshd_config
StrictModes no #可以避免因为~.ssh/文件夹权限设置不正确导致的无法登陆
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys #公钥文件存放位置
Windows系统
防止文件枚举漏洞枚举网络服务器根目录文件,禁止IIS短文件名泄露,将配置命令截图
fsutil 8dot3name set 1
A-5 任务五 事件监控(Web)
1. Web 服务器开启自定义日志要求记录:客户端 IP、用户、时间、行为、状
态码、大小;
Linux操作系统操作步骤
vi /etc/httpd/conf/httpd.conf
按照下方代码添加和修改
LogFormat "%a %i %t %U %s %b" common # 分别对应客户端ip、用户等等
CustomLog logs/access_log common #日志文件位置
Windows操作系统操作步骤
按照题目要求勾选
2. 配置 splunk 接收 Web 服务器、网站日志、系统日志、CPU 负载、内存、磁
盘空间、网络状态。
A-6 任务六 服务加固 vsFTPd (Data)
1. 修改配置文件,将 ftp 服务预设端口改为 2121,并对 iptables 进行配
置;
vi /etc/vsftpd/vsftpd.conf
修改下方的代码
listen_port=2121
添加防火墙规则
iptables -A INPUT -p tcp -m tcp --dport 2121 -j ACCEPT
2. 修改配置文件,禁止匿名用户登录;
vi /etc/vsftpd/vsftpd.conf
修改下方的代码
anonymous_enable=NO
3. 修改配置文件,关闭 ascii 模式下载,防止被用于 DoS 攻击;
vi /etc/vsftpd/vsftpd.conf
修改下方的代码
ascii_download_enable=NO
4. 修改配置文件,关闭 ls -R 命令,防止服务器被 DoS 攻击;
vi /etc/vsftpd/vsftpd.conf
修改下方的代码
ls_recurse_enable=NO
5. 修改 ftp 默认主目录为/ftp 文件夹,并将用户锁定在主目录内;
vi /etc/vsftpd/vsftpd.conf
修改下方的代码
chroot_local_user=YES
local_root=/ftp
模块 B 网络安全事件响应、数字取证调查和应用安全
(本模块 400 分,每个子任务 80 分)
B-1 任务一 数据库安全加固
任务环境说明:
服务器场景:CentOS6.8(用户名:root;密码:123456)
服务器场景操作系统:CentOS6.8
进入虚拟机操作系统:CentOS 6.8,登陆数据库(用户名:root;密码:
root),查看数据库版本号,将查看数据库版本号的命令作为 flag 提交;
select version();
进入虚拟机操作系统:CentOS 6.8,登陆数据库(用户名:root;密码:
root),查看数据库版本号,将查询到的数据库版本号作为 flag 提交;
select version();
进入虚拟机操作系统:CentOS 6.8,登陆数据库(用户名:root;密码:
root),查看数据库列表,将查看数据库列表的命令作为 flag 提交;
select version();
进入虚拟机操作系统:CentOS 6.8,登陆数据库(用户名:root;密码:
root),进入 mysql 数据库,查看所有用户及权限,找到可以从任意 IP 地址访
问的用户,将该用户的用户名作为 flag 提交;(如有多个可以从任意 IP 地址访
问的用户,提交形式为用户名|用户名|用户名|用户名)
进入虚拟机操作系统:CentOS 6.8,登陆数据库(用户名:root;密码:
root),进入 mysql 数据库,查看所有用户及权限,找到可以从任意 IP 地址访
问的用户,使用 drop 命令将该用户删除,将操作命令作为 flag 提交。
进入虚拟机操作系统:CentOS 6.8,登陆数据库(用户名:root;密码:
root),进入 mysql 数据库,改变默认 mysql 管理员的名称,将系统的默认管理
员 root 改为 admin,防止被列举,将操作命令作为 flag 提交。
B-2 任务二 Web 渗透测试
任务环境说明:
服务器场景:Pysystem2020
服务器场景操作系统:未知(关闭链接)
1. 通过本地 PC 中渗透测试平台 Kali 对服务器场景 PYsystem2020 进行渗透测试,将该场景中 Apache 的版本号作为 FLAG(例如:2.2.3)提交;
nikto -h IP
2. 通过本地 PC 中渗透测试平台 Kali 对服务器场景 PYsystem2020 进行渗透测试,将该场景中 PHP 的版本号作为 FLAG(例如:5.2.14)提交;
nikto -h IP
方法二
rpm -qa|grep php
3. 通过本地 PC 中渗透测试平台 Kali 对服务器场景 PYsystem2020 进行渗透测试,将该场景中数据库的版本号作为 FLAG(例如:5.0.22)提交;
nmap -sV -n IP
方法二
进入mysql
select version();
4. 通过本地 PC 中渗透测试平台 Kali 对服务器场景 PYsystem2020 进行渗透测试,将该场景的内核版本号作为 FLAG(例如:2.6.18)提交;
nmap -O -n IP
方法二
uname -r
5. 通过本地 PC 中渗透测试平台 Kali 对服务器场景 PYsystem2020 进行渗透测试,将该场景中网站后台管理员 admin 用户的密码作为 FLAG 提交;
进入msf(适用于Apache2.2.15)
search apache_mod
apache_mod_cgi_bash_env_exec
set targeturi /cgi-bin/bin
set rhost IP
6. 通过本地 PC 中渗透测试平台 Kali 对服务器场景 PYsystem2020 进行渗透测试,将该场景/var/www/html 目录中唯一一个后缀为 shtml 文件的文件内容作为 FLAG 提交。
B-3 任务三 系统漏洞
任务环境说明:
服务器场景名:Web20200529
服务器场景用户名:未知(关闭链接)
1. 通过本地 PC 中渗透测试平台 Kali 查看目标靶机共享的目录及 IP 地址白名单(将 IP 地址替换为 0.0.0.0),将查看命令作为 Flag 提交;
showmount -e 0.0.0.0
2. 通过本地 PC 中渗透测试平台 Kali 查看目标靶机共享的目录及 IP 地址白名单,将查看命令执行结果的共享目录作为 Flag 提交;
根据上一题即可得出答案
3. 通过本地 PC 中渗透测试平台 Kali 渗透进入目标靶机,将挂载目标靶机文件系统到本地/mnt 的命令(将 IP 地址替换为 0.0.0.0)作为 Flag 提交;
mount -t nfs IP:/tmp/SZYZ /tmp/test
mount -t nfs即挂载nfs共享,后面的ip:/tmp是nfs路径,/tmp/test是自己本地要挂载到的目录
4. 通过本地 PC 中渗透测试平台 Kali 计算目标靶机磁盘可用空间(以 M 或 G为单位)作为 Flag 提交;
df -h
df -h命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况,可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-T 文件系统类型
--help 显示帮助信息
--version 显示版本信息
df -i以inode模式来显示磁盘使用情况。
5. 通过本地 PC 中渗透测试平台 Kali 使用“flag.txt”作为关键词搜索靶机文件系统中该文件的位置,并将搜索所需命令作为 Flag 提交;
find /mnt -name flag.txt
6. 通过本地 PC 中渗透测试平台 Kali 下载 flag.txt 文件,将文件中的 Flag提交;
登上了就直接看,登不上就去挂载目录找
download 文件 /root
B-4 任务四 隐藏信息探索
任务环境说明:
服务器场景:Web20200529
服务器场景操作系统:未知 (关闭链接)
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,找到登录界面中的 FLAG,并将 FLAG 提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,找到登录界面背景中的 FLAG,并将 FLAG 提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,在登录界面中登录,登录成功后在成功的界面中找到 FLAG 并提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,登录成功后找到页面中的月亮,将月亮中的信息解密,并将解密后的信
息作为 FLAG 提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,登录成功后找到页面中的十字星,将十字星中页面内容进行下载,将下
载到的文件解密,并将解密后的文件内容作为 FLAG 提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,在登录界面中登录,登录失败后找到页面中的链接访问连接并下载文件,
将文件中的隐藏文件全称作为 FLAG 提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,在登录界面中登录,登录失败后找到页面中的链接访问连接并下载文件,
将文件中隐藏信息文件的内容作为 FLAG 提交;
通过本地 PC 中渗透测试平台 Kali 对服务器场景 Web20200529 中的网站进
行访问,寻找每页中的隐藏信息,将每条信息按顺序合并,作为 FLAG 提交。
个人见解提示
1.一般是图片隐写或者藏在数据包头和数据包结尾
2.可能要修改cookie
3.也可能给你个文件通过经验分析文件格式(因为会把文件转成其他不可读取的格式),然后转换文件格式或者是通过其他编码进制打开文件
4.可能藏在源代码里面F12找
5.图片的话一种是把文件藏在图片里面,第二种是快速闪烁的图片,截图就行( 别说这个真的有 )。第三种有加密,要把图片解密。第四种图片的长或宽被修改,需要通过修改图片的大小来显示flag(ctf多此类型)
B-5 任务五 Web 安全之综合渗透测试
任务环境说明:
服务器场景名称:PYFile_W
服务器场景操作系统:未知(关闭链接)
使用渗透机场景 Kali2.0 中的工具扫描服务器,通过扫描服务器得到 web
端口,登陆网站(网站路径为 IP/up),找到网站首页中的 Flag 并提交;
使用渗透机场景 windows7 访问服务其场景中的网站,通过上题给的信息
获取本题,并将本题中的 Flag 提交;
使用渗透机场景 windows7 根据第二题的入口继续访问服务器本题场景,
通过提示得到 Flag 并提交;
使用渗透机场景 windows7 根据第三题入口继续访问服务器的本题场景,
通过提示联系前两题上传特定文件名得到 Flag 并提交;
使用渗透机场景 windows7 根据第四题入口继续访问服务器的本题场景,
通过提示得到 Flag 并提交;
使用渗透机场景 windows7 根据第五题入口继续访问服务器的本题场景,
通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/7,对该页面进行渗透测
试,通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/8,对该页面进行渗透测
试,通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/9,对该页面进行渗透测
试,通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/10,对该页面进行渗透
测试,通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/11,对该页面进行渗透
测试,通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/12,对该页面进行渗透
测试,通过提示得到 Flag 并提交;
使用渗透机场景 windows7 访问 http://靶机 IP/13,对该页面进行渗透
测试,通过提示得到 Flag 并提交;
个人见解提示
建议不要批量打,容易打到裁判机。
一般是分为3个层次的靶机,每个层次分数不同,越难的分越高。
每个层次靶机有3个(具体看人数而定,会发生变化)当有人打一个靶机时,一般其他人再打会出现卡顿,或者打不进去。建议不要盲目认为靶机出问题就放过,可以先打其他的最后回来,不要死命和他杠。
模块 C CTF 夺旗-攻击
(本模块 200 分)
一、项目和任务描述:
假定你是某企业的网络安全渗透测试工程师,负责企业某些服务器的安全防
护,为了更好的寻找企业网络中可能存在的各种问题和漏洞。你尝试利用各种攻
击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,
从而改善您的防御策略。
请根据《赛场参数表》提供的信息,在客户端使用本地电脑中的攻击机。
二、操作系统环境说明:
客户机操作系统:Windows 10 或 Windows 7
攻击机操作系统:Kali1.0、Kali2.0、BT5、Windows 7
靶机服务器操作系统:Linux/Windows
三、漏洞情况说明:
服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
靶机服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的
相关漏洞,利用此漏洞获取一定权限;
靶机服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相
关漏洞,利用此漏洞获取一定权限;
靶机服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相
关漏洞,与别的漏洞相结合获取一定权限并进行提权;
操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程
代码执行的服务,并利用此漏洞获取系统权限;
操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢
出漏洞的服务,并利用此漏洞获取系统权限;
操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的
后门直接获取到系统权限。
个人见解提示
自己可以打一遍自己的靶机来看漏洞(别打傻了!)可能会与前面的题目出现的靶机具有类似的漏洞。
你可以和你的同伴商量,即他加固时可以留意一下有那些漏洞,有什么端口开放,有什么后门漏洞。这样可以减少走弯路
建议查看用户密码,远程连接,数据库,ftp,http,ssh等多个服务。然后根据题目提示来进行判断,和寻找漏洞,记得提前截图。不要打完后再截图,最好有个过程,即你如何发现,如何解决,解决完。
四、注意事项:
不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;
flag 值为每台靶机服务器的唯一性标识,每台靶机服务器仅有 1 个;
选手攻入靶机后不得对靶机进行关闭端口、修改密码、重启或者关闭靶机、
删除或者修改 flag、建立不必要的文件等操作;
在登录自动评分系统后,提交靶机服务器的 flag 值,同时需要指定靶机
服务器的 IP 地址;
赛场根据难度不同设有不同基础分值的靶机,对于每个靶机服务器,前三
个获得 flag 值的参赛队在基础分上进行加分,本阶段每个队伍的总分均计入阶
段得分,具体加分规则参照赛场评分标准;
本环节不予补时。
模块 D CTF 夺旗-防御
(本模块 200 分)
一、项目和任务描述:
假定各位选手是某安全企业的网络安全工程师,负责若干服务器的渗透测试
与安全防护,这些服务器可能存在着各种问题和漏洞。你需要尽快对这些服务器
进行渗透测试与安全防护。每个参赛队拥有专属的堡垒机服务器,其他队不能访
问。参赛选手通过扫描、渗透测试等手段检测自己堡垒服务器中存在的安全缺陷,
进行针对性加固,从而提升系统的安全防御性能。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录需要加固
的堡垒服务器。
二、操作系统环境说明:
客户机操作系统:Windows 10 或 Windows 7
攻击机操作系统:Kali1.0、Kali2.0、BT5、Windows 7
堡垒服务器操作系统:Linux/Windows
三、漏洞情况说明:
堡垒服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
堡垒服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的
相关漏洞,利用此漏洞获取一定权限;
堡垒服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相
关漏洞,利用此漏洞获取一定权限;
堡垒服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相
关漏洞,与别的漏洞相结合获取一定权限并进行提权;
操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程
代码执行的服务,并利用此漏洞获取系统权限;
操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢
出漏洞的服务,并利用此漏洞获取系统权限;
操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的
后门直接获取到系统权限。
个人见解提示
自己可以打一遍自己的靶机来看漏洞(别打傻了!)可能会与前面的题目出现的靶机具有类似的漏洞,建议查看用户密码,远程连接,数据库,ftp,http,ssh等多个服务。然后根据题目提示来进行判断,和寻找漏洞,记得提前截图。不要加固完后再截图,最好有个过程,即你如何发现,如何解决,解决完。
四、注意事项:
每位选手需要对加固点和加固过程截图,并自行制作系统防御实施报告,
最终评分以实施报告为准;
系统加固时需要保证堡垒服务器对外提供服务的可用性;
不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;老是有人打,不要拿脚本批量打!
本环节不予补时。