攻击机:
Linux kali 5.10.0-kali3-amd64 #1 SMP Debian 5.10.13-1kali1 (2021-02-08) x86_64 GNU/Linux
信息收集:
nmap -sS -sV -A -p- 192.168.1.108
主机开放了三个端口。
访问一下80和8080
分别是Apache和Tomcat中间件的界面。没啥发现,开始目录扫描
8080端口有很多的目录。挨个访问一下。
backup.zip
发现了可以下载的文件,看看是啥。
要密码,这里破解一下。
好像很多东西的样子,
cat tomcat-users.xml
拿到密码,这里给了两个manager和admin。登陆一下试试。
这两都是可以登陆的,那账号密码没问题,找到了上传的地方,但试了下没啥反应,就看看MSF上有没有可以利用的:
msfconsole
search tomcat
在Tomcat的exp里找到了这个tomcat_mgr_upload,貌似是哥管理员上传的exp。试试:
USE 18
show options一下看看需求:
这三个都是咱们已经掌握的。
成功获取到shell。
shell进行交互。
当前用户tomcat。
找到了randy目录,看到了note.txt和user.txt。
然后还发现了一个jaye用户,该用户下的文件是进不去的,
然后user.txt的文件内容暂时不知道干嘛的,这里尝试登陆一下randy和jaye密码就用tomcat的密码。
jaye登陆成功,
这里再jaye的目录下发现了look文件,查看一番后,发现他是系统的文件,这里可以进行越权访问,然后cat命令这里是用不了的,看了大佬们的提示,这里需要用到LFILE,该命令等同于file_to_read。读取一下shadow和passwd的文件内容。
LFILE=/etc/shadow
./look '' "$LFILE"
然后手动将shadow和passwd文件的内容复制出来保存。
当然这里也可以直接查看flag。
./look '' /root/root.txt
完成。
这里我们继续使用提权的思路走,可以使用以上方法读取passwd和shadow的文件,也可以再msf的命令界面获取。
将这两个文件里的内容分别保存到文件里,
再使用unshadow命令将这两个文件生成需要破解的文件。
unshadow passwd shadow > password.txt
然后使用john进行爆破,字典就用默认的。
这里我爆破一直报错,
后来我这里就中断了,然后我反应过来,这道题既然是linux的那 CVE-2021-4034的exp肯定可以通用。
然后我测试了一下,
输入python3不报错,那就代表存在python3环境,
vim命令用不了,这里使用nano进行exp代码写入,
运行exp,成功提权,
拿到flag。
这道题的解法很多,本题的重点是学到了look的越权访问。