jjzjj

第二届全国技能大赛(世赛项目)福建省选拔赛 网络安全项目任务书

落寞的魚丶 2025-02-02 原文

第二届全国技能大赛(世赛项目)福建省选拔赛 网络安全项目任务书

竞赛时间总计:9小时

A模块基础设施设置/安全加固(350分)

一、项目和任务描述:
假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求确保各服务正常运行,并通过综合运用登录和密码策略、流量完整性保护策略、事件监控策略、防火墙策略等多种安全策略来提升服务器系统的网络安全防御能力。
二、服务器环境说明
AServer04(Windows)系统:用户名administrator,密码Ab123456
AServer05(Linux)系统:用户名root,密码123456
三、说明:
1.所有截图要求截图界面字体清晰,并粘贴于相应题目要求的位置;
2.文件名命名及保存:网络安全模块A-XX(XX为工位号),PDF格式保存;
3.文件保存到U盘提交。

A-1:登录安全加固(windows、linux)

请对windows、linux服务器按要求进行相应的设置,提高服务器的安全性。
1.密码策略(windows、linux)
(1)最小密码长度不少于8个字符、密码最短使用期限30天;
(2)密码策略必须同时满足大小写字母、数字、特殊字符。
2. 登录策略
(1)用户登录服务器系统时,应该有警告标题“warning”内容为“For authorized users only”提示信息。(windows)
(2)设置账户锁定阈值为 6 次错误锁定账户,锁定时间为 1 分钟,复位账户锁定计数器为 1 分钟之后。(windows)
(3)一分钟内仅允许5次登录失败的尝试,超过5次登录帐号锁定5分钟。(linux)
3.用户安全管理(Windows)
(1)在组策略中只允许管理员账号从网络访问本机。
(2)禁止发送未加密的密码到第三方 SMB 服务器;
(2)查找并删除服务器中可能存在的后门用户账户hacker。

A-2:数据库加固(Linux)

请对linux服务器按要求进行相应的设置,提高服务器的安全性。
1.删除默认数据库(test);
2.改变默认MySql管理员用户为:SuperRoot;
3.使用MySql内置MD5加密函数加密用户user1的密码为(P@ssw0rd1!);
4.赋予user1用户对数据库所有表只有select、insert、delete、update权限;
5. 对忘记mysql数据库SuperRoot管理员密码进行重置操作;

A-3:服务加固 SSH\VSFTPD(Linux)

请对linux服务器按要求进行相应的设置,提高服务器的安全性。
1.SSH 服务加固
(1)SSH 禁止 root 用户远程登录。
(2)设置 root 用户的计划任务。每天早上 7:50 自动开启 SSH 服务,22:50 关闭;每周六的 7:30 重新启动 SSH 服务。
(3)修改 SSH 服务端口为 2222。
2.VSFTPD 服务加固
(1)设置数据连接的超时时间为 2 分钟、无任何操作的超时时间为5分钟。
(2)设置站点本地用户访问的最大传输速率为1M。
(3)禁止匿名用户登录。
(4)关闭ascii模式下载,防止被用于DoS攻击。

A-4:防火墙策略(Linux)

请对linux服务器按要求进行相应的设置,提高服务器的安全性。
1.只允许转发来自 172.16.0.0/24 局域网段的DNS 解析请求数据包;
2.为确保安全,仅允许 172.16.10.0/24 网段内的主机通过 SSH 连接本机。
3.为防止Nmap扫描软件探测到关键信息,设置iptables防火墙策略对80、3306号端口进行流量处理;

A-5:Windows操作系统安全配置

请对WindowsServer服务器按要求进行相应的设置,提高服务器的安全性。
1.设置密码策略必须同时满足大小写字母、数字、特殊字符,最小密码长度不少于8个字符,密码最长使用期限为15天。将服务器上密码策略配置信息截图;
2.在用户登录系统时,应该有“For authorized users only”提示信息,将登录系统时系统弹出警告信息窗口截图;
3.一分钟内仅允许5次登录失败的尝试,超过5次,登录帐号锁定1分钟,将账号锁定策略配置信息截图;
4.设置远程桌面用户非活动会话连接超时应小于等于5分钟,将RDP-Tcp属性对应的配置界面截图;
5.通过SSL(TLS 1.0)加密服务器的远程桌面服务,将RDP-Tcp属性对应的配置界面截图;
6.仅允许超级管理员账号关闭系统,将关闭系统属性的配置界面截图;
7.开启IIS的日志审计记录,日志文件保存格式为W3C,只记录日期、时间、客户端IP地址、用户名、服务器端口、方法,将W3C日志记录字段的配置界面截图;
8.设置网站的最大并发连接数为1000,网站连接超时为60s,将编辑网站限制的配置界面截图;
9.禁用IIS内核缓存,避免对方利用ms15_034漏洞进行DOS攻击,出现蓝屏的现象,将编辑输出缓存设置的配置界面截图;
10.设置user1用户只能在上班时间(周一至周五的9:00~18:00)可以登录。将user1的登录时间配置界面截图。

A-6:Linux操作系统安全配置

请对LinuxServer服务器按要求进行相应的设置,提高服务器的安全性。
1.设置最小密码长度不少于8个字符,密码最长使用期限为15天。将/etc/login.defs配置文件中对应的部分截图;
2.设置在用户登录系统时,会有“For authorized users only”提示信息,将登录系统时系统弹出提示信息界面截图;
3.设置root用户的计划任务。每天早上7:50自动开启vsftpd服务,22点50时关闭;每周六的7:30时,重新启动vsftpd服务。使用crontab –l 查看计划任务,将回显结果截图;
4.禁止匿名用户登录vsftpd服务,将/etc/vsftpd/vsftpd.conf配置文件中对应的部分截图;
5.限制客户端连接vsftpd服务时,同一个IP最多只能打开两个连接,将/etc/vsftpd/vsftpd.conf配置文件中对应的部分截图;
6.将SSH服务的端口号修改为2222 ,使用命令netstat -anltp | grep sshd查看SSH服务端口信息,将回显结果截图;
7.禁止root用户通过SSH远程登录,将/etc/ssh/sshd_config 配置文件中对应的部分截图;
8.禁止mysql服务以管理员权限的账号运行,将/etc/my.cnf配置文件中对应的部分截图;
9.删除默认数据库test, 然后使用show databases;命令查看当前的数据库信息,将回显结果截图;
10.将数据库用户user1的密码使用MD5加密,然后在数据库中使用select password from user where user=’user1’;命令查看user1的密码,将回显结果截图。

B模块安全事件响应/网络安全数据取证/应用安全(350分)

B-1:Windows操作系统渗透测试

任务环境说明:
服务器场景:Server2003(开放链接)
服务器场景操作系统:Windows7
1.通过本地PC中渗透测试平台Kali对服务器场景Windows进行系统服务及版本扫描渗透测试,并将该操作显示结果中Telnet服务对应的端口号作为FLAG提交;
2.通过本地PC中渗透测试平台Kali对服务器场景Windows进行渗透测试,使用kali中hydra对服务器Telnet服务进行暴力破解(用户名为teltest),将hydra使用的必要参数当做FLAG进行提交(例:nmap -s -p 22);(字典路径/usr/share/wordlists/dirb/small.txt)
3.通过本地PC中渗透测试平台Kali对服务器场景Windows进行渗透测试,使用kali中hydra对服务器Telnet服务进行暴力破解(用户名为teltest),将破解成功的密码当做FLAG进行提交;(字典路径/usr/share/wordlists/dirb/small.txt)
4.通过本地PC中渗透测试平台win7对服务器场景Windows进行渗透测试,取得的账户密码有远程桌面权限,将该场景系统中sam文件使用reg相关命令提取,将完整命令作为FLAG提交;
5.通过本地PC中渗透测试平台win7对服务器场景Windows进行渗透测试,取得的账户密码有远程桌面权限,将该场景系统中system文件使用reg相关命令提取,将完整命令作为FLAG提交;
6.通过本地PC中渗透测试平台win7对服务器场景Windows进行渗透测试,将sam文件与system文件提取到本地,使用桌面mimikatz工具提取teltest密码信息,将提取信息的命令作为FLAG提交;
7.通过本地PC中渗透测试平台win7对服务器场景Windows进行渗透测试,将sam文件与system文件提取到本地,使用桌面mimikatz工具提取administrators密码信息,将提取到的hash值作为FLAG提交;

B-2:Linux操作系统渗透测试

任务环境说明:
服务器场景:Server18-2(关闭链接)
服务器场景操作系统:Linux(版本不详)
1.通过本地PC中渗透测试平台Kali对服务器场景Linux进行系统服务及版本扫描渗透测试,并将该操作显示结果中MySQL数据库对应的服务版本信息字符串作为FLAG提交;
2.通过本地PC中渗透测试平台Kali对服务器场景Linux进行渗透测试,将该场景/var/www/html目录中唯一一个后缀为.html文件的文件名称作为FLAG提交;
3.通过本地PC中渗透测试平台Kali对服务器场景Linux进行渗透测试,将该场景/var/www/html目录中唯一一个后缀为.html文件的文件内容作为FLAG提交;
4.通过本地PC中渗透测试平台Kali对服务器场景Linux进行渗透测试,将该场景/root目录中唯一一个后缀为.bmp文件的文件名称作为FLAG提交;
5.通过本地PC中渗透测试平台Kali对服务器场景Linux进行渗透测试,将该场景/root目录中唯一一个后缀为.bmp的图片文件中的英文单词作为FLAG提交。

B-3:Linux系统渗透提权

任务环境说明:
服务器场景:Server2204(关闭链接)
用户名:hacker 密码:123456
1.使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交;
2.使用渗透机对服务器信息收集,并将服务器中主机名称作为flag提交;
3.使用渗透机对服务器信息收集,并将服务器中系统内核版本作为flag提交;
4.使用渗透机对服务器管理员提权,并将服务器中root目录下的文本内容作为flag提交;
5.使用渗透机对服务器管理员提权,并将服务器中root的密码作为flag提交;
6.使用渗透机对服务器管理员提权,并将服务器中root目录下的图片内容作为flag提交。

B-4:私钥暴力破解攻击

任务环境说明:
服务器场景:Server2211(关闭链接)
FTP用户名:匿名用户
1.通过渗透机访问靶机FTP服务,获取FTP服务中的Python文件,将Python文件的文件名作为Flag值提交;
2.完善获取的Python文件,填写该文件当中空缺的Flag1 字符串,并将该字符串作为 Flag 值提交;
3.继续完善Python文件,填写该文件当中空缺的Flag2字符串,并将该字符串作为 Flag 值提交;
4.继续完善Python文件,填写该文件当中空缺的Flag3字符串,并将该字符串作为 Flag 值提交;
5.继续完善Python文件,填写该文件当中空缺的Flag4字符串,并将该字符串作为 Flag 值提交;
6.继续完善Python文件,填写该文件当中空缺的Flag5字符串,并将该字符串作为 Flag 值提交;
7.将完善好的Python文件在 Kali上执行,将执行成功后的“Success”后面的内容作为 Flag 值提交。

B-5:逆向分析及隐写

任务环境说明:
服务器场景:FTPServer20220509(关闭链接)
FTP用户名:PE01密码:PE01
C语言:渗透机Windows7(Embarcadero Dev-C++)
1.从靶机服务器的FTP上下载PE01文件,对PE01.exe二进制文件进行静态调试,将main函数的入口地址作为Flag值提交;
2.对PE01.exe二进制文件进行静态调试,将该二进制文件中检查许可证的关键函数作为Flag值提交;
3.对PE01.exe二进制文件进行静态调试,找到Flag1值并提交;
4.对PE01.exe二进制文件进行静态调试,尝试破解该二进制文件,将注册成功后的回显信息作为Flag值提交;
5.对PE01.exe二进制文件进行静态调试,将该激活所需的许可证码作为Flag值提交;

B-6:Web安全绕过

任务环境说明:
服务器场景名称:Server2201(关闭链接)
服务器场景操作系统:centos5.5
1.使用渗透机场景kali中工具扫描服务器,将服务器上apache版本号作为flag提交;
2.使用渗透机场景windows7访问服务其场景中的网站(网站路径为IP/javascript),找到网站首页中flag并提交;
3.使用渗透机场景windows7根据第二题的入口继续访问服务器本题场景,通过提示得到flag并提交;
4.使用渗透机场景windows7根据第三题入口继续访问服务器的本题场景,通过提示得到flag并提交;
5.使用渗透机场景windows7根据第四题入口继续访问服务器的本题场景,通过提示得到flag并提交;
6.使用渗透机场景windows7根据第五题入口继续访问服务器的本题场景,通过提示得到flag并提交;

C模块CTF 夺旗-攻击(本模块300分)

一、项目和任务描述:
假定你是某企业的网络安全渗透测试工程师,负责企业某些服务器的安全防护,为了更好的寻找企业网络中可能存在的各种问题和漏洞。你尝试利用各种攻击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,从而改善您的防御策略。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录答题平台。
二、操作系统环境说明:
客户机操作系统:Windows 10/Windows7
靶机服务器操作系统:Linux/Windows
三、漏洞情况说明:
1.服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
2.靶机服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;
3.靶机服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;
4.靶机服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;
5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;
6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;
7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。
四、注意事项:
1.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;
2.flag值为每台靶机服务器的唯一性标识,每台靶机服务器仅有1个;
3.选手攻入靶机后不得对靶机进行关闭端口、修改密码、重启或者关闭靶机、删除或者修改flag、建立不必要的文件等操作;
4.在登录自动评分系统后,提交靶机服务器的flag值,同时需要指定靶机服务器的IP地址;
5.赛场根据难度不同设有不同基础分值的靶机,对于每个靶机服务器,前三个获得flag值的参赛队在基础分上进行加分,本阶段每个队伍的总分均计入阶段得分,具体加分规则参照赛场评分标准;
6.本环节不予补时。

1.0有问题私信博主 需要环境可以查看左下角主页联系

有关第二届全国技能大赛(世赛项目)福建省选拔赛 网络安全项目任务书的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  5. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  6. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  7. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  8. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  9. ruby - 如何跳过 CSV 文件的第一行并将第二行作为标题 - 2

    有没有办法跳过CSV文件的第一行,让第二行作为标题?我有一个CSV文件,第一行是日期,第二行是标题,所以我需要能够在遍历它时跳过第一行。我尝试使用slice但它会将CSV转换为数组,我真的很想将其读取为CSV,以便我可以利用header。 最佳答案 根据您的数据,您可以使用另一种方法和skip_lines-option此示例跳过所有以#开头的行require'csv'CSV.parse(DATA.read,:col_sep=>';',:headers=>true,:skip_lines=>/^#/#Markcomments!)do|

  10. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

随机推荐