靶机描述
Difficulty: Medium
Hint: Enumeration is key.
信息搜集
确认目标
攻击机kali IP:192.168.93.131
靶机IP:192.168.93.135

靶机信息搜集

目录扫描

80端口下没有什么有价值的信息。
8080是Apache Tomcat/9.0.53


东西不少,看一下:
readme.txt

嘿 randy!我是你的系统管理员。我在你的服务器上留下了一个文件,我保证没人能找到它。
要记得使用我留给你的密码。
/backup.zip

攻击开始
登录信息
需要密码?那就爆破一下
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u backup.zip

很幸运在tomcat-users.xml中就能找到登录信息

但是。。。Tomcat不让登录。。。

Msfconsole利用
msf 上有个 Tomcat 上传webshell的模块,有用户名和密码就可以使用:

选择载荷,设定信息:

一发入魂,直接打通:

输入 shell 后就获得了 Tomcat 用户,查看一下系统文件,发现/home目录下有一些信息

note.txt 文件里说更改了 randy 对主目录的权限,不能进行删除和添加。
尝试切换用户jaye,密码还是 Tomcat 密码,如果不方便的话,可以用ssh连接登录

发现一些文件,查看一下,发现 Files 文件夹下有个 look 文件:

-
系统look命令:It reads data from files, it may be used to do privileged reads or disclose files outside a restricted file system.
它从文件中读取数据,它可用于进行特权读取或在受限文件系统之外公开文件。
用法:
LFILE=file_to_read
./look '' "$LFILE"

利用这种方法,可以获取到/etc/shadow,把文件复制下来保存,/etc/passwd也可以在MSF中拿到。

使用 unshadow 命令生成需要破解的密码:
unshadow passwd shadow > pass.txt
利用john进行破解
john --wordlist=/usr/share/wordlists/rockyou.txt ./pass.txt


爆破了好几个小时,爆出来两个用户:
- melehifokivai (jaye)
- 07051986randy (randy)
第一个是已知的,登录下第二个:

提权

发现不能更改该文件,但是他会用python程序运行,我们直接在python程序 base64 模块里面写入shell,先找到python中的base64脚本:

发现有权限修改,那我们直接写入shell,vim用不了,用的nano编辑器:


因为我改的是 python3.8 ,所以要指明 python3.8 运行 randombase64.py 脚本:

获得了root权限,查看flag:

