请对服务器Log、Web、Data 按要求进行相应的设置,提高服务器的安全性。
1.密码策略(Log,Web,Data)
a. 最小密码长度不少于8个字符;
windows:
Linux:
b. 密码策略必须同时满足大小写字母、数字、特殊字符。
Windows:
Linux:
2. 登录策略(Log,Web,Data)
a.在用户登录系统时,应该有“For authorized users only”提示信息;
Windows:
Linux:
/etc/issue
/etc/issue.net
/etc/motd
Banner /etc/issue
b.一分钟内仅允许5次登录失败的尝试,超过5次,登录帐号锁定1分钟;
Windows:
Linux:
auth required pam_tally2.so deny=5 onerr=fail even_deny_root unlock_time=60
c.远程用户非活动会话连接超时应小于等于5分钟。
3. 用户安全管理(Web)
a.对服务器进行远程管理安全性SSL加固,防止敏感信息泄露被监听;
b.查找并删除服务器中可能存在的帐号hacker;
Windows:
c.普通用户进行最小权限管理,对关闭系统仅限管理员帐号。
Windows:
Linux:
2.删除默认数据库(test);
过程:
3.改变默认MySql管理员用户为:SuperRoot;
过程:
4.使用MySql内置MD5加密函数加密用户user1的密码为(P@ssw0rd1!);
过程:
5.赋予user1用户对数据库所有表只有select,insert,delete,update权限;
过程:
6. 对忘记mysql数据库SuperRoot管理员密码进行重置操作;
过程:
7.禁用LOCAL INFILE命令防止非授权用户访问本地文件;
过程:
8.为防止数据库操作信息泄露,请禁止使用MySql命令行历史记录;
过程:
9.为了分析数据库运行过程中的一些异常活动,请开启MySql二进制日志。
过程:
1.为了防止web中.mdb数据库文件非法下载,请对Web配置文件进行安全加固;
过程:
2.限制目录执行权限,对picture和upload目录设置执行权限为无;
过程:
3.开启IIS的日志审计记录(日志文件保存格式为W3C,只记录日期、时间、客户端IP地址、用户名、方法);
过程:
4.为了减轻网站负载,设置网站最大并发连接数为1000;
过程:
5.防止文件枚举漏洞枚举网络服务器根目录文件,禁止IIS短文件名泄露;
过程:
6.关闭IIS的WebDAV功能增强网站的安全性
过程:
1.对Web网站进行HTTP重定向HTTPS设置,仅使用HTTPS协议访问网站(Web)(注证书颁发给test.com 并通过https://www.test.com访问Web网站);
2.为了防止密码在登录或者传输信息中被窃取,仅使用证书登录SSH(Data)。
1.将Web服务器开启审核策略
登录事件 成功/失败;
特权使用 成功;
策略更改 成功/失败;
进程跟踪 成功/失败;
过程:
2.配置splunk接收Web服务器,安全日志,系统日志,CPU负载,内存,磁盘空间,网络状态。
过程:
1.修改ssh服务端口为2222;
过程:
2.ssh禁止ROOT用户远程登录;
过程:
3.vsFTPd禁止匿名用户上传;
过程:
4.激活vsFTPd上传下载日志;
过程:
5.vsFTPd同一个IP只能连接两个;
过程:
6.vsFTPd将使客户端连接时的端口范围在50000和60000之间;
过程:
7.vsFTPd使本地用户登录活动范围限制在home目录。
过程:
所有服务器开启防火墙,为防止勒索病毒攻击对防火墙进行加固策略:
1.Windows系统禁用445端口;
过程:
Iptables
3.Linux系统禁止别人ping通;
4.Linux系统为确保安全禁止所有人连接ssh除了192.168.1.1这个ip。
任务环境说明:
服务器场景:server1
服务器场景用户名、密码:未知(关闭链接)
1.通过URL访问http://靶机IP/1,对该页面进行渗透测试,将完成后返回的结果内容作为flag值提交;
2.通过URL访问http://靶机IP/2,对该页面进行渗透测试,将完成后返回的结果内容作为flag值提交;
3.通过URL访问http://靶机IP/3,对该页面进行渗透测试,将完成后返回的结果内容作为flag值提交;
4.通过URL访问http://靶机IP/4,对该页面进行渗透测试,将完成后返回的结果内容作为flag值提交;
5.通过URL访问http://靶机IP/5,对该页面进行渗透测试,将完成后返回的结果内容作为flag值提交。
*任务说明:仅能获取Server4的IP地址
1.获取PHP的版本号作为flag值提交;(例如:5.2.14)
2.获取MySQL数据库的版本号作为flag值提交;(例如:5.0.22)
3.获取系统的内核版本号作为flag值提交;(例如:2.6.18)
4.获取网站后台管理员admin用户的密码作为flag值提交;
5.找到/root目录中的txt文件,将文件内容作为flag值提交。
*任务说明:仅能获取Server1的IP地址
1.黑客成功进入了Server1中并且创建了多个用户,将黑客创建的用户名作为flag值提交{名字1-名字2-……};
2.黑客是通过上传页面进行上传木马,将上传页面找到,上传页面文件名作为flag值提交;
3.找到对应的木马后门,将木马文件名作为flag值提交;
4.查看木马文件,将木马文件的登录密码进行提交;
5.在任务计划中找到黑客所创建的任务计划(具有危险操作的任务计划),任务计划名为flag值提交。
6.黑客在系统某处中留下一个测试文件,请将该文件中内容作为flag值提交。
*任务说明:仅能获取Server3的IP地址
1.黑客是通过上传页面进行上传木马,将上传页面找到,上传页面文件名作为flag值提交;
2.找到对应的木马后门,将木马文件名作为flag值提交;
3.查看木马文件,将木马文件的登录密码进行提交;
4.在任务计划中找到黑客所创建的任务计划(具有危险操作的任务计划),任务计划名为flag值提交;
5.找到任务计划所对应执行程序将分析代码将密码处作为flag值提交。
*任务说明:仅能获取Server4的IP地址
1.使用Wireshark查看并分析Server4桌面下的capture.pcapng数据包文件,telnet服务器是一台路由器,找出此台路由器的特权密码,并将密码作为flag值提交;
2.使用Wireshark查看并分析Server4桌面下的capture.pcapng数据包文件,FTP服务器已经传输文件结束,将建立FTP服务器的数据连接的次数作为flag值提交;
3.使用Wireshark查看并分析Server4桌面下的capture.pcapng数据包文件,web服务器地址是192.168.181.250,将web服务器软件的版本号作为flag值提交;
4.使用Wireshark查看并分析Server4桌面下的capture.pcapng数据包文件,这些数据中有非常多的ICMP报文,这些报文中有大量的非正常ICMP报文,找出类型为重定向的所有报文,将报文重定向的数量作为flag值提交;
5.使用Wireshark查看并分析Server4桌面下的capture.pcapng数据包文件,这些数据中有ssh报文,由于ssh有加密功能,现需要将这些加密报文的算法分析出来,将ssh服务器支持的第一个算法的密钥长度作为flag值提交。
*任务说明:仅能获取Server2的IP地址
1.使用Wireshark查看并分析Server2桌面下的capture.pcapng数据包文件,找出telnet服务器的用户名和密码,并将密码作为flag值提交;
2.使用Wireshark查看并分析Server2桌面下的capture.pcapng数据包文件,FTP服务器已经传输文件结束,将登陆服务器后的第一条指令作为flag值提交;
3.使用Wireshark查看并分析Server2桌面下的capture.pcapng数据包文件,web服务器地址是192.168.181.250, 其使用的脚本语言为php,将服务器使用php的版本号作为flag值提交;
4.使用Wireshark查看并分析Server2桌面下的capture.pcapng数据包文件,这些数据中有非常多的ICMP报文,其中有一个设备是路由器,IP地址为192.168.181.25,将路由器上主动发出的ping请求的数量作为flag值提交;
5.使用Wireshark查看并分析Server2桌面下的capture.pcapng数据包文件,这些数据中有ssh报文,由于ssh有加密功能,现需要将这些加密报文的算法分析出来,将ssh客户端支持的第一个算法的名称作为flag值提交。
*任务说明:Server1用户名:administraotr,密码:123456
1.分析注册表,将黑客添加的启动项字符串作为flag值提交;
2.检查系统的常规启动项,将黑客设置的自启动恶意程序文件名作为flag值提交;
3.清除操作系统上存在漏洞的应用程序,将该应用程序所在的路径作为flag值提交;
4.在命令行界面中清除隐藏的管理员用户,将隐藏的管理员账户名称作为flag值提交;
5.清除黑客在系统上添加的Webshell木马,将连接木马的密码作为flag提交。
*任务说明:仅能获取Server1的IP地址
1.黑客通过网络攻入本地服务器,在Web服务器的主页上外挂了一个木马链接,请你找到此链接并删除链接,将删除链接后的主页第一排标题栏显示的第三个单词,作为flag提交。
2. 黑客攻入本地服务器的数据库服务器,并添加了除admin以外的具有一个管理员权限的超级用户,请你找到此用户并删除用户,将此用户的密码作为flag提交。
3. 黑客攻入本地服务器,在本地服务器建立了多个超级用户,请你删除除了Administrator用户以外的其他超级管理员用户,在命令行窗口输入net user,将Administrator右边第一个单词作为flag提交。
4. 黑客修改了服务器的启动内容,请你删除不必要的启动内容,打开任务管理器的“启动”标签栏,将名称列中所有的名称作为flag提交。(提交形式:名称1,名称2,名称3)
5. 黑客在服务器某处存放了一个木马程序,请你找到此木马程序并清除木马。打开任务管理器的“进程”标签栏,将应用名称中的第三个单词作为flag提交。
*任务说明:仅能获取Server3的IP地址
1.黑客通过网络攻入本地服务器,在Web服务器的主页上外挂了一个木马链接,请你找到此链接并删除链接,将删除链接后的主页第一排标题栏显示的第三个单词,作为flag提交;
访问靶机web界面,第三个就是flag
2.黑客攻入本地服务器的数据库服务器,并添加了除admin以外的具有一个管理员权限的超级用户,请你找到此用户并删除用户,将此用户的密码作为flag提交;
3.黑客攻入本地服务器,在本地服务器建立了多个超级用户,请你删除除了Administrator用户以外的其他超级管理员用户,在命令行窗口输入net user,将Administrator右边第一个单词作为flag提交;
在cmd或者计算机管理里面按照题目进行删除用户,删完之后,再次枚举用户得出flag
4.黑客修改了服务器的启动内容,请你删除不必要的启动内容,打开任务管理器的“启动”标签栏,将名称列中所有的名称作为flag提交;(提交形式:名称1,名称2,名称3)
Msconfig查看启动项
5.黑客在服务器某处存放了一个木马程序,请你找到此木马程序并清除木马。打开任务管理器的“进程”标签栏,将应用名称中的第三个单词作为flag提交。
*任务说明:Server8用户名:administrator,密码:123456
1.将黑客成功登录系统所使用的IP地址作为flag值提交;
2.黑客成功登录系统后修改了登录用户的用户名,将修改后的用户名作为flag值提交;
3.黑客成功登录系统后成功访问了一个关键位置的文件,将该文件名作为flag值提交;
4.黑客对数据库进行了暴力破解,将最后一次暴力破解的时间作为flag值提交;
5.黑客在系统中隐藏了某个批处理文件,将该文件内容作为flag值提交。
*任务说明:仅能获取Server4的IP地址
1.从内存中获取到用户admin的密码并且破解密码,以flag{admin,password}形式提交(密码为6位);
过程:
2.获取当前系统ip地址及主机名,以flag{ip:主机名}形式提交;
过程:
3.获取当前系统浏览器搜索过的关键词,作为flag提交;
过程:
4.当前系统中存在挖矿进程,请获取指向的矿池地址,以flag{ip:端口}形式提交;
5.恶意进程在系统中注册了服务,请将服务名以flag{服务名}形式提交。
*任务说明:Server5用户名:administrator,密码:123456
1.找出文件夹1中的文件,将文件中的隐藏信息作为flag值提交;
2.找出文件夹2中的文件,将文件中的隐藏信息作为flag值提交;
3.找出文件夹3中的文件,将文件中的隐藏信息作为flag值提交;
4.找出文件夹4中的文件,将文件中的隐藏信息作为flag值提交;
5.找出文件夹5中的文件,将文件中的隐藏信息作为flag值提交。
B-13任务十三:Python代码分析(一,三)
*任务说明:仅能获取Server5的IP地址,在Server5服务器桌面找到flag.py文件并完成以下任务。
1.完善文件flag.py文件,填写该文件当中空缺的flag1字符串,并将改字符串作为flag提交;
2.完善文件flag.py文件,填写该文件当中空缺的flag2字符串,并将改字符串作为flag提交;
3.完善文件flag.py文件,填写该文件当中空缺的flag3字符串,并将改字符串作为flag提交;
4.完善文件flag.py文件,填写该文件当中空缺的flag4字符串,并将改字符串作为flag提交;
5.将完善好的文件执行,将执行成功后的回显内容作为flag值提交。
*任务说明:仅能获取Server2的IP地址,在Server2服务器桌面找到PHP文件夹并完成以下任务。
1.分析PHP源代码找到会造成漏洞的危险函数1作为flag值提交;
2.分析PHP源代码找到会造成漏洞的危险函数2作为flag值提交;
3.分析PHP源代码找到会造成漏洞的危险函数3作为flag值提交;
4.分析PHP源代码找到会造成漏洞的危险函数4作为flag值提交;
5.分析PHP源代码找到会造成漏洞的危险函数5作为flag值提交。
*任务说明:仅能获取Server5的IP地址
1.通过本地PC中渗透测试平台Kali对服务器场景Server5进行系统服务及版本扫描渗透测试,并将该操作显示结果中445端口对应的服务状态信息作为flag值提交;
Nmap -sV -p445 ip
17-010p/e 渗透进去然后查看
3.找到桌面上111文件夹中后缀为.docx的文件,将文档内容作为flag值提交;
渗透进去爆破密码直接查看
在上一题基础上面做
5.获取系统最高账户管理员的密码,将密码作为flag值提交。
爆破hash值得出密码
*任务说明:仅能获取Server4的IP地址
1.通过本地PC中渗透测试平台Kali对服务器场景Server4进行系统服务及版本扫描渗透测试,并将该操作显示结果中21端口对应的服务版本信息字符串作为flag值提交;
Nmap -sV -p21 ip
2.找到/var/www目录中的图片文件,将文件名称作为flag值提交;
通过枚举漏洞并渗透进去,然后查看文件名称
3.找到/var/www目录中的图片文件,将图中的英文单词作为flag值提交;
通过枚举漏洞并渗透进去,然后查看文件内容
4.找到/home/guest目录中的txt文件,将文件内容作为flag值提交;
通过枚举漏洞并渗透进去,然后查看文件内容
5.找到/root目录中的txt文件,将文件内容作为flag值提交。
通过枚举漏洞并渗透进去,然后查看文件内容
*任务说明:仅能获取Server5的IP地址
1.获取PHP的版本号作为flag值提交;(例如:5.2.14)
使用扫描工具,nikto nmap sqlmap进行探测扫描
2.获取MySQL数据库的版本号作为flag值提交;(例如:5.0.22)
3.获取系统的内核版本号作为flag值提交;(例如:2.6.18)
4.获取网站后台管理员admin用户的密码作为flag值提交;
5.找到/root目录中的txt文件,将文件内容作为flag值提交。
*任务说明:仅能获取Server9的IP地址,Server9 FTP服务器用户名:admin,密码:123456
1.从靶机服务器场景FTP服务器中下载文件BO.py,编辑该Python程序文件,使该程序实现对Server9进行缓冲区溢出渗透测试的功能,填写该文件当中空缺的F1字符串,将该字符串作为flag值提交;
2.继续编辑命名为BO.py的Python程序文件,使该程序实现对Server9进行缓冲区溢出渗透测试的功能,填写该文件当中空缺的F2字符串,将该字符串作为flag值提交;
3.继续编辑命名为BO.py的Python程序文件,使该程序实现对Server9进行缓冲区溢出渗透测试的功能,填写该文件当中空缺的F3字符串,将该字符串作为flag值提交;
4.继续编辑命名为BO.py的Python程序文件,使该程序实现对Server9进行缓冲区溢出渗透测试的功能,填写该文件当中空缺的F4字符串,将该字符串作为flag值提交;
5.继续编辑命名为BO.py的Python程序文件,使该程序实现对Server9进行缓冲区溢出渗透测试的功能,成功渗透后找到Server9回收站内的文档,将文档内容作为flag值提交。
*任务说明:仅能获取Server10的IP地址,Server10 FTP服务器用户名:admin,密码:123456
1.从靶机服务器场景FTP服务器中下载文件RCE.py,编辑该Python程序文件,使该程序实现对Server10进行远程代码执行渗透测试的功能,填写该文件当中空缺的F1字符串,将该字符串作为flag值提交;
2.继续编辑命名为RCE.py的Python程序文件,使该程序实现对Server10进行远程代码执行渗透测试的功能,填写该文件当中空缺的F2字符串,将该字符串作为flag值提交;
3.继续编辑命名为RCE.py的Python程序文件,使该程序实现对Server10进行远程代码执行渗透测试的功能,填写该文件当中空缺的F3字符串,将该字符串作为flag值提交;
4.继续编辑命名为RCE.py的Python程序文件,使该程序实现对Server10进行远程代码执行渗透测试的功能,填写该文件当中空缺的F4字符串,将该字符串作为flag值提交;
5.继续编辑命名为RCE.py的Python程序文件,使该程序实现对Server10进行远程代码执行测试的功能,成功渗透后找到Server10桌面上的文档,将文档内容作为flag值提交。
*任务说明:仅能获取Server10的IP地址
1.在MSF工具中用search命令搜索MS15034HTTP.SYS漏洞拒绝服务攻击模块,将回显结果中的漏洞披露时间作为flag值提交;(如:2015-10-16)
flag: 2015-10-16
2.在MSF工具中调用MS15034HTTP.SYS漏洞的辅助扫描模块,将调用此模块的命令作为flag值提交;
flag: use 或者 use auxiliary/scanner/http/ms15_034_http_sys_memory_dump
3.使用set命令设置目标IP,并检测漏洞是否存在,运行此模块,将回显结果中倒数第2行的最后一个单词作为flag值提交;
flag: complete
4.在MSF工具中调用并运行MS15034HTTP.SYS漏洞的拒绝服务攻击模块,将运行此模块后回显结果中倒数第1行的最后一个单词作为flag值提交;
flag: completed
5.进入靶机在IIS网站下的编辑输出缓存设置中禁止启用内核缓存,再次运行MS15034HTTP.SYS漏洞的拒绝服务攻击模块,运行此模块并将回显结果中倒数第2行的最后一个单词作为flag值提交。
flag: complete
*任务说明:仅能获取Server9的IP地址
1.在MSF工具中用search命令搜索MS12020 RDP拒绝服务攻击模块,将回显结果中的漏洞披露时间作为flag值提交;(如:2012-10-16)
flag: 2012-03-16
2.在MSF工具中调用MS12020 RDP拒绝服务漏洞的辅助扫描模块,将调用此模块的命令作为flag值提交;
flag: use 或者 use auxiliary/scanner/rdp/ms12_020_check
3.使用set命令设置目标IP,并检测靶机是否存在漏洞,运行此模块,将回显结果中倒数第2行的最后一个单词作为flag值提交;
flag: complete
4.在MSF工具中调用并运行MS12020 RDP拒绝服务漏洞的攻击模块,将运行此模块后回显结果中倒数第1行的最后一个单词作为flag值提交;
flag: completed
5.进入靶机关闭远程桌面服务,再次运行MS12020 RDP拒绝服务漏洞的攻击模块,运行此模块并将回显结果中倒数第2行的最后一个单词作为flag值提交。
flag: Unreachable
*任务说明:仅能获取Server8的IP地址
1.通过本地PC中渗透测试平台Kali对靶机场景Server8进行系统服务及版本扫描渗透测试,以xml格式向指定文件输出信息(使用工具Nmap),将以xml格式向指定文件输出信息必须要使用的参数作为flag值提交;
flag: -oX
2.在本地PC的渗透测试平台Kali中,使用命令初始化MSF数据库并将此命令作为flag值提交;
flag: msfdb init
3.在本地PC的渗透测试平台Kali中,打开MSF,使用db_import将扫描结果导入到数据库中,并查看导入的数据,将查看该数据要使用的命令作为flag值提交;
flag: hosts
4.在MSF工具中用search命令搜索搜索MS17010漏洞利用模块,将回显结果中的漏洞公开时间作为flag值提交;(如:2017-10-16)
flag: 2017-03-14
5.在MSF工具中调用MS17010漏洞攻击模块,并检测靶机是否存在漏洞,将回显结果中最后一个单词作为flag值提交。
flag: completed
*任务说明:仅能获取Server9的IP地址
1.通过本地PC中渗透测试平台Kali对靶机场景Server9进行系统服务及版本扫描渗透测试,以xml格式向指定文件输出信息(使用工具Nmap),将以xml格式向指定文件输出信息必须要使用的参数作为flag值提交;
flag: -oX
2.在本地PC的渗透测试平台Kali中,使用命令初始化MSF数据库并将此命令作为flag值提交;
flag: msfdb init
3.在本地PC的渗透测试平台Kali中,打开MSF,使用db_import将扫描结果导入到数据库中,并查看导入的数据,将查看该数据要使用的命令作为flag值提交;
flag: hosts
4.在MSF工具中用search命令搜索搜索MS08067漏洞利用模块,将回显结果中的漏洞公开时间作为flag值提交;(如:2017-10-16)
flag: 2008-10-28
5.在MSF工具中调用MS08067漏洞攻击模块,并检测靶机是否存在漏洞,将回显结果中最后一个单词作为flag值提交。
flag: completed