计算机技能大赛安全攻防项目
任务一:IIS 安全加固与证书签发(30分)任务环境说明:•Web 服务器操作系统:windows2003 server;•安装服务/工具1:Web 服务,版本是IIS-6.0;•安装服务/工具2:F
任务一:IIS 安全加固与证书签发(30分)
任务环境说明:
•Web 服务器操作系统:windows2003 server;
•安装服务/工具1:Web 服务,版本是IIS-6.0;
•安装服务/工具2:FTP 服务,版本是IIS-6.0;
•win-wireshark 操作系统:windows2003 server;
•安装服务/工具1:抓包工具,wireshark ;
1. 配置Windows 防火墙,使IIS Web服务能够被访问,对配置进行截屏。(3分)
2. 加固IIS Web服务器的安全配置,使得Web 服务只能被内网用户所在的网段访问,对加固配置进行截屏。(3分)
3. 为IIS Web服务器申请服务器证书,对申请摘要进行截屏。(3分)
4. 为IIS Web服务器颁发一年期服务器证书,对颁发过程进行截屏。(3分)
5. 将IIS 服务器启动SSL 安全通信,并安装服务器证书。使用win-wireshark 虚拟机中的浏览器访问该Web 服务进行测试。由于cn 和IIS 的域名不一致,所以一定有警报弹出窗,请将该窗口截屏。(3分)
6. 将IIS 服务器启用客户端证书设置。使用客户端浏览器访问该Web 服务进行测试。将要求客户端提供证书的弹出页面截屏。(6分)
7. 为PC 申请CA 证书。颁发该证书。对申请和颁发过程截屏。(6分)
8. 在PC 上安装CA 证书。使用PC 浏览器访问该Web 服务进行测试,对操作过程截屏。(3分)
任务二:数据库攻防与加固 (40分)
任务环境说明:
•xserver-mysql 服务器操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
1. 进入xserver-mysql, 加固MySQL 服务器,使所有的访问能被审计,要求通过对mysqld 的启动项进行加固,对加固操作进行截屏。(4分)
2. 配置linux-mysql 防火墙,允许MySQL 服务能够被访问,要求规则中只包含端口项,对防火墙规则列表进行截屏。(4分)
3. 进入xserver-mysql ,查看所有用户及权限,找到可以从任何IP 地址访问的用户,对操作过程进行截屏。(8分)
4. 对题号3中的漏洞进行加固,设定该用户只能从公司PC 访问,用grants 命令进行管理,并将加固过程截屏。(8分)
,5. 检查xserver-mysql 中的是否存在匿名用户,如果存在匿名用户,则删
除该用户,将发现的匿名用户信息以及删除过程进行截屏。(4分)
6. 改变默认MySQL 管理员的名称,将系统的默认管理员root 改为admin ,
防止被列举,将执行过程进行截屏。(4分)
7. 禁止MySQL 对本地文件进行存取,对mysqld 的启动项进行加固,将加
固部分截屏。(4分)
8. 限制一般用户浏览其他用户数据库,对mysqld 的启动项进行加固,将
加固部分截屏。(4分)
任务三:CSRF 攻击(40分)
任务环境说明:
•xserver 操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
•metas2-lab-1操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
•安装服务/工具5:telnet 服务端,版本0.17-39-el5;
•安装服务/工具6:telnet 客户端,版本0.17-39-el5;
•win-wireshark 操作系统:windows2003 server;
•安装服务/工具1:抓包工具,wireshark ;
1. 访问metas2-lab-xss "/"->"csrf",分析登录的页面源程序,找到提交
的变量名,并截屏。(4分)
2. 启动win-wireshark ,启动桌面程序csrfp ,设置完成后,启动wireshark
设定过滤条件包含协议和端口,并对抓取的数据包信息进行截屏。(8分)
3. 在监听数据中分析得到用户名和密码,并截屏。(8分)
4. 根据用户名和密码,登录进入“csrf ”页面,进入"csrf 攻防" 页面,点
击“源程序”,分析需要提交的引用变量名称,并截屏。(4分)
5. 在xserver 中存在csrf 恶意攻击程序test.php ,请修改该恶意程序,
使得登录用户密码为12erfgbn ,对test.php 修改过程进行截屏。(8分)
6. 在PC 上执行csrf 攻击,并截屏。(4分)
7. 在win-wireshark 中启动csrpcheck 程序,输入metas2-lab-1的地址,
点击“测试”将返回结果截屏。(4分)
,任务四:XSS 攻击(40分)
任务环境说明:
•xserver 操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
•metas2-lab-1操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
•安装服务/工具5:telnet 服务端,版本0.17-39-el5;
•安装服务/工具6:telnet 客户端,版本0.17-39-el5;
•win-wireshark 操作系统:windows2003 server;
•安装服务/工具1:抓包工具,wireshark ;
1. 使用PC 访问metas2-lab-1,"/"->"xss注入" ,然后利用用户名"admin" 、密码"password" 登录。点击xxs 存储,进入注入页面,然后做简单注入,使得能够弹出js 对话框"444" ,确认存在xss 漏洞,并截屏。(4分)
2. 在xserver 上有一段简单的php 程序,名字为accept_cookie.php,接受cookie ,请读懂并找到存放接收cookie 的文件并用命令ls -l 列表,并截屏。(12分)
3. 对metas2-lab-1进行xss 注入,注入可以窃取cookie 的代码,该代码将所有浏览“xss 存储”的用户访问cookie 上传到xserver ,由accept_cookie.php 负责接收,将导入代码及反馈信息截屏。(8分)
4. 启动win-wireshark, 启动桌面程序是xssp, 输入metas2-lab-1 的IP 地址,进入每隔6秒钟的一次访问,该访问其实就是先登录后浏览metas2-lab-1 的“xss 存储”页面。通过xserver 的accept_cookie 程序,得到自动页面访问的cookie 。将过程及结果进行截屏。(8分)
5. 通过修改PC 的cookie ,不输入用户名和密码直接进入http://x.x.x.x/dcn/vulnerabilities/xss_s/?mpage=xss,然后并截屏。要求本题截屏中包括自动浏览程序的用户名,否则无效,x.x.x.x 是Web 服务器的IP 地址。(8分)
任务五:密码嗅探(40分)
任务环境说明:
•虚拟机metas2-lab 操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
,•安装服务/工具4:Nmap 服务,版本4.11;
•安装服务/工具5:telnet 服务端,版本0.17-39-el5;
•安装服务/工具6:telnet 客户端,版本0.17-39-el5;
•安装服务/工具7:Vsftpd ,版本2.0.5;
•虚拟机win-wireshark 操作系统:windows2003 server;
•安装服务/工具1:抓包工具,wireshark ;
1. 在win-wireshark 启动wireshark ,并且设定过滤条件为telnet ,并启
动telnetp 程序,每1分钟访问1次metas2-lab 的telnet 服务器,将过程进行截屏。(4分)
2. 在win-wireshark 用抓包工具捕获自动连接软件使用的telnet 用户和
密码,然后退出telnetp 程序,对整个执行过程进行截图。(8分)
3. 在win-wireshark 设定wireshark 的过滤条件是ftp 。(4分)
4. 运行win-wireshark 桌面上的ftp 自动连接软件ftpp ,在win-wireshark
中用抓包工具捕获ftp 的用户名和密码并截图。(8分)
5. 在win-wireshark 用浏览器访问tomcat 的8180服务的/admin页面, 分
析该页面的源码, 指出用户名数据和密码数据提交的方法以及相应的变量名。(4分)
6. 在win-wireshar 设定wireshark 的过滤条件,包括协议和目标地址,截
屏。(4分)
7. 运行在win-wireshar 桌面上的tomcat 自动连接软件httpp ,用抓包工
具捕获输入的管理用户名和密码并截图。(8分)
任务六:文件包含攻击(40分)
任务环境说明:
•xserver 操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
•虚拟机metas2-lab-1操作系统:Redhat Linux AS5;
•安装服务/工具1:Web 服务,版本Apache 2.2.23;
•安装服务/工具2:MySQL 服务,版本5.0.22;
•安装服务/工具3:PHP 服务,版本5.0.48;
•安装服务/工具4:Nmap 服务,版本4.11;
•安装服务/工具5:telnet 服务端,版本0.17-39-el5;
•安装服务/工具6:telnet 客户端,版本0.17-39-el5;
•虚拟机win-wireshark 操作系统:windows2003 server;
•安装服务/工具1:抓包工具,wireshark ;
1. Web 访问metas2-lab-1,"/"->"文件包含" ,进入登录页面,分析登录的
页面源程序,找到提交的变量名,并截屏。(4分)
,2. 在winxp-wireshark ,启动桌面程序fileip ,输入metas2-lab-1 的IP
地址,点击“访问”,每隔6秒钟的一次访问登录,启动Wireshark ,设定过滤条件包含协议和端口,并截屏。(8分)
3. 在监听数据中分析得到用户名和密码,并截屏。(4分)
4. 根据用户名密码,登录进入“文件包含”页面,通过文件包含漏洞获得
metas2-lab-1的用户文件passwd ,截屏必须包含URL 。(8分)
5. 根据获得的用户名列表,从社会工程学密码破解原理,破解test1,
test2,test3的密码,并截屏。(8分)
6. 进入“命令执行”攻击页,获得当前的网络连接信息并截屏。(8分)
任务七:SQL 注入攻击(40分)
任务环境说明:
•操作系统:Windows 2003 Server;
•安装服务/工具1:Web 网站;
•安装服务/工具2:数据库,版本SQL Server 2005;
1. 访问网站,并通过Acunetix Web Vulnerability Scanner 扫描器对其
进行扫描,识别存在SQL 注入风险以及注入点的URL ,并截图。(4分)
2. 通过对注入点手工判断,根据报错信息或者输入’and 1=1 以及’and
1=2 比对返回不同结果确定是注入点 并截图。(4分)
3. Get 型注入,使用sqlmap 对注入点的URL 进行注入测试,获得当前的数
据库名称,并截图。(8分)
4. POST 型注入,使用sqlmap 对注入点的URL 以及POST 数据进行注入测试,
获得所有数据库的名称及个数,并截图。(8分)
5. 登录认证型,在网站注册任意帐号,对后台指定的URL 进行SQL 注入测
试,通过SQLMAP 工具dump 到管理员帐号admin 的加密密码并截图 。(12分)
6. 对第五步获取的加密密码进行md5破解,破解成功后的使用admin 帐号
进行登录,并截图。(4分)
任务八:linux 操作系统安全防护 (30分)
任务环境说明:
•操作系统:Redhat Linux AS5;
1. 修改ssh 的配置文件,禁止root 直接登录,退出所有账号,使用root
直接ssh 登录操作系统,将提示信息截图。(3分)
2. 修改密码策略配置文件,确保密码最小长度为8位,然后创建新账号,
并赋予密码低于8位,将错误提示信息截图。(3分)
3. 修改/etc/pam.d/ system-auth 文件,确保错误登录10次,锁定此账户
10分钟,将配置截图。(3分)
,4. 配置至少三个配置文件的umask 值为027,将配置截图并说明是哪个配
置文件。(3分)
5. 自编脚本,查找本机存在SUID 与SGID 的文件,并截图。(3分)
6. 自编脚本,查找本机存在的所有人均有写权限的目录,并截图。(3分)
7. 修改配置文件,将登录超时设置为10分钟,并截图。(3分)
8. 修改syslog.conf 配置文件,将认证日志、邮件日志,备份存储到指定
服务器,并截图。(3分)
9. 使用root 帐号登录系统,创建一个UID 为0的帐号,然后使用一行命令
查找本系统UID 为0的帐号有哪些,并截图。(6分)
第三阶段:分组对抗(400分)
假定各位选手是某公司的系统管理员,负责服务器(受保护服务器IP 、管理员账号见现场发放的参数表)的维护,该服务器可能存在着各种问题和漏洞(见漏洞列表)。你需要尽快对服务器进行加固,十五分钟之后将会有很多黑客对这台服务器进行猛烈地攻击。
提示1:该题不需要保存文档;
提示2:服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
提示3:加固常规漏洞取得KEY 值并提交到裁判服务器中(裁判服务器网址见现场发放的参数表);
提示4:加固系统漏洞取得FLAG 值并提交到裁判服务器。
十五分钟之后,各位选手将真正进入分组对抗环节。
在这个环节里,各位选手需要继续保护你的服务器免受各类黑客的攻击,你可以继续加固你的服务器,你也可以选择攻击其他组的保护服务器(其他服务器网段见现场发放的参数表)。如果你的服务器FLAG 被他人取得并提交到裁判服务器,那么只能马上结束比赛,离开赛场。
注意1:任何时候不能关闭80端口,否则将判令停止比赛,第三阶段分数为0分;
注意2:不能对裁判服务器进行攻击,否则将判令停止比赛,第三阶段分数为0分。
漏洞列表
1. Web 服务器包含SQL 注入的漏洞,用户通过SQL 注入的漏洞获取数据库
表单KEY 的内容。
2. Web 服务器包含跨站的漏洞,用户通过跨站漏洞获取KEY 的内容。
3. Web 服务器包含表单提权漏洞,用户通过表单提权的漏洞进行获取KEY
并进行提权。
4. Web 服务器包含COOKIE 漏洞,用户通过COOKIE 的漏洞进行获取KEY 并
进行提权。
5. Web 服务器包含文件上传漏洞,用户通过文件上传进行获取KEY 并进行
提权。
6. Web 服务器包含文件包含漏洞,用户通过文件包含进行获取KEY 并进行
提权。
7. Web 服务器提供用户下载相关已经抓获的数据包,要求攻击者通过分析
,获取KEY 。
8. Web 服务器提供用户下载相关加密文件,要求攻击者通过破解文件来获
取KEY 的内容。
9. Web 服务器包含BASH 漏洞,通过BASH 漏洞进行提权获取KEY 。
10. 操作系统提供的服务包含了远程代码执行的漏洞,要求用户找到远程代
码执行的服务。
11. 操作系统提供的服务包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出
漏洞的服务。
12. 操作系统提供SAMBA 服务,要求用户找到服务的远程溢出的漏洞。
13. 操作系统提供VSFTPD 服务,要求用户找到服务的远程溢出的漏洞。
14. AS5的ROOTKIT 查杀,用户可以通过预留的rootkit 远程渗透。
15. SSHD 的后门,用户可以通过预留的SSH 后门进行远程渗透。
16. 系统提供mysql 服务,要求用户能够对root 口令进行暴力破解获取弱口
令,并进行提权。
17. 系统提供弱口令用户,要求用户能够检出弱口令用户,并根据描述提供
相关的KEY 。
,第二阶段:系统安全攻防加固
任务一:指纹发现
1. xclient 利用扫描工具探测metas1 机器的所能提供的服务
2. xclient 利用扫描工具发现ftp 服务指纹
3. xclient 使用终端工具发现ftp 服务指纹
4. xclient 利用扫描工具发现telnet 服务指纹
5. xclient 使用终端工具发现telnet 服务指纹
6. xclient 利用 扫描工具发现http 服务指纹
7. xclient 使用终端工具发现http 服务指纹方法
8. xclient 使用浏览器发现http 服务指纹方法
9. xclient 用扫描工具发现mysql 服务指纹
10. xclient 使用终端工具发现mysql 服务指纹
11. xclient 用扫描工具发现ssh 服务指纹
12. xclient 使用终端工具发现ssh 服务指纹
13. xclient 用nmap 扫描发现metas1 操作系统指纹
14. xclient 用浏览器找到tomcat(8081端口) 服务信息
15. 根据获得的http 信息, 对http 进行加固, 不再能获得http 的指纹信息, 并
进行验证
任务二:密码猜测
xclient 中有medusa 和john 以及nmap 工具。
1、 在xclient 使用namp 扫描metas1 机器的所能提供的服务
2、 在xclient 利用/game 下的字典passwd.txt 暴力破解metas1 系统root
用户密码
3、 在xclient 通过ssh 破解获得的root 用户密码,获得metas1的系统的口令
文件 ,并破解系统口令,并截屏破解结果
4、 在xclient 以用户名user 登录ftp 服务
5、 在xclient 以用户名service 登录telnet 服务
6、 根据获得的用户列表, 猜测登录pgsql 用户, 进入metas1并登录pgsql 截屏
7、 在xclient 暴力破解metas1 的 mysql 系统的密码
,8、 通过ssh 破解获得的root 密码,进入metas1 ,修改mysql 的用户root 密
码为123456, 执行select user,password from user 语句截屏mysql 相应密码字段
9、 查找ftp user 登录成功的一行日志, 通过tail 或cat 命令截屏 10、
11、 查找service 登录和登出metas1的2行日志 以root 用户登录metas1,进入目录 /root/test,已知包含明文123456
的文件clear.txt,123456加密后的密文在文件cry.txt, 加密算法是不含盐的3des, 密码字典为0-999的数字. 编写1个shell 程序,字典破解加密密钥。程序和破解结果截屏
任务三:错配攻防
1、 使用namp 攻击探测metas2 机器的所能提供的服务
2、 在metas2上设定xclient 的主机别名为hh
3、 在xclient 使用rlogin 无密码登陆metas2
4、 登陆后找到metas2 误配, 分别通过.rhosts 文件, 限制访问终端,linux 防火
墙限制rlogin 服务方法分别加固,并验证登录
5、 使用著名的“ingreslock ”后门无密码登陆
6、 通过ssh 登陆系统, 通过防火墙(通过端口拦截方式, 防火墙规则里只有协议
和端口选项) 对系统加固防止ingreslock 后门登录并验证, 用iptables 列表截屏
7、 xclient 使用著名的ftp 笑脸后门获得metas2的shell 权限后, 使用ls 命
令得到metas2 的根目录列表
8、 通过ssh 登陆系统, 通过防火墙的端口控制对系统加固,并登录验证
9、 截屏上述操作rlogin 的1次认证成功日志和1次失败日志;ftp 的1次连接
动作日志