网络安全练习一

网络安全练习一

2018年06月29日 22:22:05 wz_cow 阅读数:2530

一、竞赛阶段

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

单兵模式系统渗透测试

任务1 ARP扫描渗透测试 100分钟 100
任务2 漏洞扫描与利用 100
任务3 MSSQL数据库渗透测试 100
任务4 Windows操作系统渗透测试 100
任务5 Linux操作系统渗透测试 100
任务6 网络协议堆栈渗透测试 100
任务7 Web应用程序渗透测试及安全加固 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)。

扫描二维码关注公众号,回复: 5982529 查看本文章

三、竞赛任务书

(一)第一阶段任务书(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分的评判成绩保持不变。

猜你喜欢

转载自blog.csdn.net/zheng_ruiguo/article/details/89234675