一、前言
主要利用方式:路径扫描及手工探测到robots文件
base64解码后,跳转rips 代码审计平台
一顿扫描后,敏感文件中获取敏感用户
22登录后探测另一个用户的特殊权限文件获取密码
切换用户后,查看历史执行文件
在日志中获取了最初webmin的账号密码
登录后,利用webmin的命令行模式获取root权限下的flag
二、靶机信息
靶场: vulnhub.com
靶机名称: Ripper: 1
难度: 简单-中等
发布时间: 2021 年 6月 4日
下载地址:https://www.vulnhub.com/entry/ripper-1,706/
备注:整体比较绕,来回切换各种账号。
三、虚拟机配置
VirtualBox、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l
2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p- 10.0.2.26
└─$ sudo nmap -p22,80,10000 -sV -A 10.0.2.26
3、常规访问80端口及路径扫描
http://10.0.2.26/
└─$ dirsearch -u 10.0.2.26
4、访问10000端口,存在报错提示,并提供了对应的访问域名
http://10.0.2.26:10000/
5、hosts绑定对应的访问域名,访问并进行目录扫描及手工探测
└─$ sudo vi /etc/hosts
└─$ cat /etc/hosts
https://ripper-min:10000/
https://ripper-min:10000/robots.txt
6、访问网站,解密base64
7、推测存在rips站点,通过拼凑访问,最终发现确实存在
rips是用来扫描php代码的代码审计工具
http://10.0.2.26/rips/
五、漏洞利用(突破边界)
8、点击scan,执行代码扫描,扫描后,出现files按钮
9、发现代码中包含ripper的密码(Gamespeopleplay)
<? echo "user name: ripper"
<? echo "pass: Gamespeopleplay"
10、获取了账号密码,22端口开放,尝试ssh登录,成功登录
└─$ ssh ripper@10.0.2.26
11、进入home目录,获取ripper用户的flag
ripper@ripper-min:/home$ cd /home/
ripper@ripper-min:/home$ ls
ripper@ripper-min:/home$ cd ripper/
ripper@ripper-min:~$ cat flag.txt
六、提权
12、发现还有另外一个用户,先查看是否存在其他用户的权限文件
ripper@ripper-min:~$ find / -user cubes -type f 2>/dev/null
13、查看特殊文件,,获取了一个密码,
ripper@ripper-min:~$ cat /mnt/secret.file
-passwd : Il00tpeople
14、尝试将用户切换成cubes,可以登录成功
ripper@ripper-min:~$ su cubes
Password: (Il00tpeople)
15、查询历史命令,存在操作miniser.log,查看发现存在账号密码
获取webmin的账号密码username=admin&pass=tokiohotel