靶机描述
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: