网络安全练习一

一、竞赛阶段

竞赛阶段任务阶段竞赛任务竞赛时间分值
第一阶段

单兵模式系统渗透测试

任务1ARP扫描渗透测试100分钟100
任务2漏洞扫描与利用100
任务3MSSQL数据库渗透测试100
任务4Windows操作系统渗透测试100
任务5Linux操作系统渗透测试100
任务6网络协议堆栈渗透测试100
任务7Web应用程序渗透测试及安全加固100
备战阶段攻防对抗准备工作20分钟0
第二阶段

分组对抗

系统加固:15分钟60分钟300
渗透测试:45分钟

二、拓扑图

 

PC机环境:

物理机:Windows7;

虚拟机1:Ubuntu Linux 32bit(用户名:root;密码:toor),安装工具集:Backtrack5,安装开发环境:Python3;

虚拟机2:Kali(用户名:root;密码:toor);

虚拟机3:WindowsXP(用户名:administrator;密码:123456)。

三、竞赛任务书

(一)第一阶段任务书(700分)

任务1. ARP扫描渗透测试(100分)

任务环境说明:

  • 服务器场景:server2003(用户名:administrator;密码:空)
  • 服务器场景操作系统:Windows server2003

 

1.通过本地PC中渗透测试平台BT5对服务器场景server2003进行ARP扫描渗透测试(使用工具arping,发送请求数据包数量为5个),并将该操作使用命令中固定不变的字符串作为Flag提交;(16分)

2.通过本地PC中渗透测试平台BT5对服务器场景server2003进行ARP扫描渗透测试(使用工具arping,发送请求数据包数量为5个),并将该操作结果的最后1行,从左边数第2个数字作为Flag提交;(17分)

3.通过本地PC中渗透测试平台BT5对服务器场景server2003行ARP扫描渗透测试(使用工具Metasploit中arp_sweep模块),并将工具Metasploit中arp_sweep模块存放路径字符串作为Flag(形式:字符串1/字符串2/字符串3/…/字符串n)提交;(16分)

4.通过本地PC中渗透测试平台BT5对服务器场景server2003进行ARP扫描渗透测试(使用工具Metasploit中arp_sweep模块),假设目标服务器场景CentOS5.5在线,请将工具Metasploit中arp_sweep模块运行显示结果的最后1行的最后1个单词作为Flag提交;(17分)

5.通过本地PC中渗透测试平台BT5对服务器场景server2003进行ARP扫描渗透测试(使用工具Metasploit中arp_sweep模块),假设目标服务器场景CentOS5.5在线,请将工具Metasploit中arp_sweep模块运行显示结果的第1行出现的IP地址右边的第1个单词作为Flag提交;(16分)

6.通过本地PC中渗透测试平台BT5对服务器场景server2003进行ARP扫描渗透测试(使用工具Metasploit中arp_sweep模块),假设目标服务器场景CentOS5.5在线,请将工具Metasploit中arp_sweep模块的运行命令字符串作为Flag提交;(18分)

 

任务2. 漏洞扫描与利用(100分)

任务环境说明:

  • 服务器场景:server2003(用户名:administrator;密码:空)
  • 服务器场景操作系统:Windows server2003

 

1.通过本地PC中渗透测试平台Kali对服务器场景server2003以半开放式不进行ping的扫描方式并配合a,要求扫描信息输出格式为xml文件格式,从生成扫描结果获取局域网(例如172.16.101.0/24)中存活靶机,以xml格式向指定文件输出信息(使用工具NMAP,使用必须要使用的参数),并将该操作使用命令中必须要使用的参数作为FLAG提交;(12分)

2.根据第一题扫描的回显信息分析靶机操作系统版本信息,将操作系统版本信息作为FLAG提交;(9分)

3.根据第一题扫描的回显信息分析靶机服务开放端口,分析开放的服务,并将共享服务的开放状态作为FLAG提交;(9分)

4.在本地PC的渗透测试平台Kali中,使用命令初始化msf数据库,并将使用的命令作为FLAG提交;(10分)

5.在本地PC的渗透测试平台Kali中,打开msf,使用db_import将扫描结果导入到数据库中,并查看导入的数据,将查看导入的数据要使用的命令作为FLAG提交;(10分)

6.在msfconsole使用search命令搜索MS08067漏洞攻击程序,并将回显结果中的漏洞时间作为FLAG提交;(10分)

7.在msfconsole中利用MS08067漏洞攻击模块,将调用此模块的命令作为FLAG提交;(10分)

8.在上一步的基础上查看需要设置的选项,并将回显中需设置的选项名作为FLAG提交;(10分)

9.使用set命令设置目标IP(在第8步的基础上),并检测漏洞是否存在,将回显结果中最后四个单词作为FLAG提交;(13分)

10.查看可选项中存在此漏洞的系统版本,判断该靶机是否有此漏洞,若有,将存在此漏洞的系统版本序号作为FLAG提交,否则FLAG为none。(7分)

 

任务3. MSSQL数据库渗透测试(100分)

任务环境说明:

  • 服务器场景:server2003(用户名:administrator;密码:空)
  • 服务器场景操作系统:Windows server2003

 

1.在本地PC渗透测试平台BT5中使用zenmap工具扫描服务器场景server2003所在网段(例如:172.16.101.0/24)范围内存活的主机IP地址和指定开放的1433、3306、80端口。并将该操作使用的命令中必须要使用的字符串作为FLAG提交;(10分)

2.通过本地PC中渗透测试平台BT5对服务器场景server2003进行系统服务及版本扫描渗透测试,并将该操作显示结果中数据库服务对应的服务端口信息作为FLAG提交;(10分)

3.在本地PC渗透测试平台BT5中使用MSF中模块对其爆破,使用search命令,并将扫描弱口令模块的名称作为FLAG提交;(10分)

4.在上一题的基础上使用命令调用该模块,并查看需要配置的信息(使用show options命令),将回显中需要配置的目标地址,密码使用的猜解字典,线程,账户配置参数的字段作为FLAG提交(之间以英文逗号分隔,例hello,test,..,..);(10分)

5.在msf模块中配置目标靶机IP地址,将配置命令中的前两个单词作为FLAG提交;(10分)

6.在msf模块中指定密码字典,字典路径为/root/2.txt爆破获取密码并将得到的密码作为FLAG提交;(14分)

7.在msf模块中切换新的渗透模块,对服务器场景server2003进行数据库服务扩展存储过程进行利用,将调用该模块的命令作为FLAG提交;(14分)

8.在上一题的基础上,使用第6题获取到的密码并进行提权,同时使用show options命令查看需要的配置,并配置CMD参数来查看系统用户,将配置的命令作为FLAG提交;(14分)

9.在利用msf模块获取系统权限并查看目标系统的异常(黑客)用户,并将该用户作为FLAG提交。(8分)

 

任务4. Windows操作系统渗透测试(100分)

任务环境说明:

  • 服务器场景:PYsystem4
  • 服务器场景操作系统:Windows(版本不详)

 

1.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行操作系统扫描渗透测试,并将该操作显示结果“Running:”之后的字符串作为FLAG提交;(6分)

2.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行系统服务及版本扫描渗透测试,并将该操作显示结果中445端口对应的服务版本信息字符串作为FLAG提交;(6分)

3.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行渗透测试,将该场景网络连接信息中的DNS信息作为FLAG提交;(例如114.114.114.114)(13分)

4.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行渗透测试,将该场景桌面上111文件夹中唯一一个后缀为.docx文件的文件名称作为FLAG提交;(14分)

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

6.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行渗透测试,将该场景桌面上222文件夹中唯一一个图片中的英文单词作为FLAG提交;(15分)

7.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行渗透测试,将该场景中的当前最高账户管理员的密码作为FLAG提交;(10分)

8.通过本地PC中渗透测试平台Kali对服务器场景PYsystem4进行渗透测试,将该场景中回收站内文件的文档内容作为FLAG提交。(20分)

 

任务5. Linux操作系统渗透测试(100分)

任务环境说明:

  • 服务器场景:PYsystem5
  • 服务器场景操作系统:未知

 

1.通过本地PC中渗透测试平台Kali对服务器场景PYsystem5进行操作系统扫描渗透测试,并将该操作显示结果“OS Details:”之后的字符串作为FLAG提交;(6分)

2.通过本地PC中渗透测试平台Kali对服务器场景PYsystem5进行系统服务及版本扫描渗透测试,并将该操作显示结果中MySQL数据库对应的服务版本信息字符串作为FLAG提交;(6分)

3.通过本地PC中渗透测试平台Kali对服务器场景PYsystem5进行渗透测试,将该场景/var/www/html目录中唯一一个后缀为.html文件的文件名称作为FLAG提交;(12分)

4.通过本地PC中渗透测试平台Kali对服务器场景PYsystem5进行渗透测试,将该场景/var/www/html目录中唯一一个后缀为.html文件的文件内容作为FLAG提交;(16分)

5.通过本地PC中渗透测试平台Kali对服务器场景PYsystem5进行渗透测试,将该场景/root目录中唯一一个后缀为.bmp文件的文件名称作为FLAG提交;(27分)

6.通过本地PC中渗透测试平台Kali对服务器场景PYsystem5进行渗透测试,将该场景/root目录中唯一一个后缀为.bmp的图片文件中的英文单词作为FLAG提交。(33分)

 

任务6. 网络协议堆栈渗透测试(100分)

任务环境说明:

服务器场景:WindowsServer18065

服务器场景操作系统:Windows2003 Server

服务器场景FTP下载服务用户名:anonymous,密码:123456

服务器场景FTP下载服务端口:2121

 

1.通过物理机的ping程序访问靶机,成功访问后,在攻击机中使用arpspoof程序对物理机进行ARP渗透测试,对物理机进行ARP缓存毒化为:靶机IP地址映射攻击机MAC地址;从靶机服务器场景的FTP服务器中下载文件arpspoof.py,编辑该Python3程序文件,使该程序实现同本任务中arpspoof程序一致的功能,填写该文件当中空缺的F1字符串,将该字符串作为Flag值提交;(9分)

2.继续编辑该Python3程序文件,使该程序实现同本任务题1中arpspoof程序一致的功能,填写该文件当中空缺的F2字符串,将该字符串作为Flag值提交;(9分)

3.继续编辑该Python3程序文件,使该程序实现同本任务题1中arpspoof程序一致的功能,填写该文件当中空缺的F3字符串,将该字符串作为Flag值提交;(9分)

4.继续编辑该Python3程序文件,使该程序实现同本任务题1中arpspoof程序一致的功能,填写该文件当中空缺的F4字符串,将该字符串作为Flag值提交;(9分)

5.继续编辑该Python3程序文件,使该程序实现同本任务题1中arpspoof程序一致的功能,填写该文件当中空缺的F5字符串,将该字符串作为Flag值提交;(9分)

6.继续从靶机服务器场景FTP服务器中下载文件icmpflood.py,编辑该Python3程序文件,使该程序实现通过ICMP对物理机进行DOS(拒绝服务)渗透测试的功能,填写该文件当中空缺的F6字符串,将该字符串作为Flag值提交;(9分)

7.继续编辑命名为icmpflood.py的Python3程序文件,使该程序实现通过ICMP对物理机进行DOS(拒绝服务)渗透测试的功能,填写该文件当中空缺的F7字符串,将该字符串作为Flag值提交;(9分)

8.继续编辑命名为icmpflood.py的Python3程序文件,使该程序实现通过ICMP对物理机进行DOS(拒绝服务)渗透测试的功能,填写该文件当中空缺的F8字符串,将该字符串作为Flag值提交;(9分)

9.继续编辑命名为icmpflood.py的Python3程序文件,使该程序实现通过ICMP对物理机进行DOS(拒绝服务)渗透测试的功能,填写该文件当中空缺的F9字符串,将该字符串作为Flag值提交;(9分)

10.继续编辑命名为icmpflood.py的Python3程序文件,使该程序实现通过ICMP对物理机进行DOS(拒绝服务)渗透测试的功能,填写该文件当中空缺的F10字符串,将该字符串作为Flag值提交;(9分)

  1. 在本地PC渗透测试平台BT5中通过Python3程序解释器执行程序文件icmpflood.py,并打开WireShark监听网络流量,分析通过程序文件icmpflood.py产生的ICMP流量,并将该ICMP数据对象中的Code属性值通过MD5运算后返回的哈希值的十六进制结果的字符串作为Flag值提交。(10分)

 

任务7. Web应用程序渗透测试及安全加固(100分)

任务环境说明:

服务器场景:WindowsServer18065

服务器场景操作系统:Windows2003 Server

服务器场景FTP下载服务用户名:anonymous,密码:123456

服务器场景FTP下载服务端口:2121

服务器场景FTP上传服务用户名:anonymous,密码:123456

服务器场景FTP上传服务端口:21

 

1.在攻击机端通过浏览器访问主页http://靶机IP地址,通过Web应用程序渗透测试方法登陆磐石公司模拟产品网站,成功登陆后,将Web页面弹出的字符串通过SHA256运算后返回哈希值的十六进制结果的字符串作为Flag值提交;(7分)

2.从靶机服务器场景FTP服务器中下载文件loginauthentic.php,编辑该PHP程序文件,使该程序实现能够对本任务第1题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F11字符串,将该字符串作为Flag值提交;(7分)

3.继续编辑本任务第2题中的PHP程序文件,使该程序实现能够对本任务第1题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F12字符串,将该字符串作为Flag值提交;(7分)

4.继续编辑本任务第2题中的PHP程序文件,使该程序实现能够对本任务第1题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F13字符串,将该字符串作为Flag值提交;(7分)

5.继续编辑本任务第2题中的PHP程序文件,使该程序实现能够对本任务第1题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F14字符串,将该字符串作为Flag值提交;(7分)

6.继续编辑本任务第2题中的PHP程序文件,使该程序实现能够对本任务第1题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F15字符串,将该字符串作为Flag值提交;(7分)

7.将编辑好后的loginauthentic.php程序文件上传至靶机FTP服务,在攻击机端通过浏览器访问主页http://靶机IP地址,通过本任务第1题所使用的Web应用程序渗透测试方法登陆磐石公司模拟产品网站,将此时Web页面弹出的字符串通过SHA256运算后返回的哈希值的十六进制结果的字符串作为Flag值提交;(7分)

8.成功登陆磐石公司模拟产品网站后,继续点击超链接进入磐石公司产品信息页面,通过Web应用程序渗透测试方法获得靶机根路径下的文件flaginfo中的字符串,并将该字符串通过SHA256运算后返回哈希值的十六进制结果的字符串作为Flag值提交;(8分)

9.从靶机服务器场景FTP服务器中下载文件product.php,编辑该PHP程序文件,使该程序实现能够对本任务第8题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F16字符串,将该字符串作为Flag值提交;(7分)

10.继续编辑本任务第9题中的PHP程序文件,使该程序实现能够对本任务第8题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F17字符串,将该字符串作为Flag值提交;(7分)

11.继续编辑本任务第9题中的PHP程序文件,使该程序实现能够对本任务第8题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F18字符串,将该字符串作为Flag值提交;(7分)

12.继续编辑本任务第9题中的PHP程序文件,使该程序实现能够对本任务第8题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F19字符串,将该字符串作为Flag值提交;(7分)

13.继续编辑本任务第9题中的PHP程序文件,使该程序实现能够对本任务第8题中的Web应用程序渗透测试过程进行安全防护,填写该文件当中空缺的F20字符串,将该字符串作为Flag值提交;(7分)

14.将编辑好后的product.php程序文件上传至靶机FTP服务,并在攻击机端通过本任务第8题中使用的Web应用程序渗透测试方法获得靶机根路径下的文件flaginfo中的字符串,将此时Web页面弹出的字符串通过SHA256运算后返回的哈希值的十六进制结果的字符串作为Flag值提交。 (8分)

 

(二)第二阶段任务书(300分)

假定各位选手是某电子商务企业的信息安全工程师,负责企业某些服务器的安全防护,该服务器可能存在着各种问题和漏洞。你需要尽快对该服务器进行安全加固,15分钟之后将会有其它参赛队选手对这些服务器进行渗透。

根据《赛场参数表》提供的第二阶段的信息,请使用PC的谷歌浏览器登录实战平台。

 

靶机服务器环境说明:

场景1:CentOS2018065(用户名:root;密码:123456),服务器操作系统:CentOS(版本不详);

场景2:Windows2018065(无法打开控制台操作该靶机,只能获取到该靶机的IP,选手需要通过其他方法进入靶机才能进行加固),服务器场景操作系统:Windows(版本不详)。

 

注意事项:

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

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

3.靶机服务器的FLAG值存放在/root/flagvalue.txt文件或C:\ flagvalue.txt文件中;

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

  1. CentOS2018065靶机服务器如下服务及端口不允许关闭:21、22、23、80、555、3306、7000-7999;Windows2018065靶机服务器如下服务及端口不允许关闭:HTTP 80、FTP 21、Telnet 23、7000-7999;

6.系统加固时需要保证靶机对外提供服务的可用性,服务只能更改配置,不允许更改内容;

7.本环节是对抗环节,不予补时。

 

可能的漏洞列表如下:

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

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

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

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

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

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

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

 

评分说明:

规则1:每提交1次对手靶机服务器的FLAG值增加2分,每当被对手提交1次自身靶机服务器的FLAG值扣除2分,每个对手靶机服务器的FLAG值只能提交一次;

规则2:系统自动启动违规检测和扣分机制,如发现如下违规行为,系统均给予自动扣分,每检测到一次违规行为扣除一次分数,扣分明细显示在违规记录中,计算在第二阶段总成绩中:

1)攻防阶段启用FLAG检测机制,如发现FLAG异常(譬如:删除、修改、移动、杀进程),记为一次违规行为,每次扣分3分;

2)攻防阶段启用服务端口检测机制,如发现关闭题目要求开启的端口,记为一次违规行为,每端口每次扣分1分;

3)攻防阶段靶机服务器IP地址为DHCP自动获取,不允许修改,如修改触发上述所有检测机制;

4)在加固时间后,选手自己关闭靶机服务器或被他人关闭,触发上述所有检测机制,且裁判员不予帮助重启。

规则3:第二阶段总分为300分,初始分为100分。在实际得分和大屏显示中,某选手得分可能会显示负分或者超过300分;凡是负分的,本阶段评判成绩一律为0分;凡是超过300分的,本阶段评判成绩一律为300分;0-300分的评判成绩保持不变。


  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值