打靶记录15——Ripper
靶机:
https://www.vulnhub.com/entry/ripper-1,706/
KaliIP地址:192.168.0.102
靶机IP地址:192.168.0.103
VirtualBox设置为桥接模式
难度:
- 低->中
目标:
- 取得 root 权限 + 2 Flag
涉及攻击方法:
- 主机发现
- 端口扫描
- Web信息收集
- 内部系统泄露
- 代码审计
- 备份文件泄密
- Webmin漏洞利用
- Metasploit
- CVE-2021-3493
主机发现
arp-scan -l

端口扫描和服务发现
nmap -p- 192.168.0.103

nmap -p22,80,10000 -sV 192.168.0.103

查看80端口,没有什么信息

80端口的Web服务的robots.txt没有东西

那我们访问一下10000端口的Web服务,发现WebMin的登录界面。Webmin:Webmin是一个开源的、基于Web的服务器管理工具,可用于管理各种Unix和Linux系统。


查看10000端口的robots.txt文件,发现有一串Base64

echo "d2Ugc2NhbiBwaHAgY29kZXMgd2l0aCByaXBzCg==" | base64 -d
提示我们使用rips扫描php代码
rips是一个php代码审计系统

在80端口下发现rips服务http://192.168.0.103/rips/
官网:RIPS - free PHP security scanner using static code analysis

在path / file:输入/var/www/,对该目录进行代码审计

192.168.0.103/rips/windows/code.php?file=/var/www/html/rips/windows/code.php可以进行文件读取,但是无法获取目标权限

发现一个secret.php,里面有账号密码:ripper``Gamespeopleplay


尝试SSH登录ripper账号成功

据错误提示,你需要从 known_hosts 文件中移除旧的主机密钥。你可以使用 ssh-keygen 命令来执行此操作:
ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.0.103"
这个命令会从 /root/.ssh/known_hosts 文件中移除与 192.168.0.103 相关的旧密钥。
尝试重新连接
现在,可以再次尝试通过 SSH 连接到远程主机:

获得第一个flag

提权-1(CVE-2021-3493):

漏洞利用代码地址:CVE-2021-3493/exploit.c at main · briskets/CVE-2021-3493 (github.com)

前面由于GCC版本不一样导致exp文件无法再靶机运行,所以换了个ubuntu18.04的docker镜像,用它的gcc来生成exp文件就可以用了


提权-2:
ls /home发现另外一个用户cubes

cd到该目录没发现可用的信息

find / -user cubes -type f -exec ls -la {} \; 2>/dev/null
/:从根目录开始搜索。-user cubes:查找所有所有者为cubes的文件。-type f:查找类型为文件(不是目录、链接等)的条目。-exec ls -la {} \;:对找到的每一个文件执行ls -la命令。{}是find命令找到的每个文件的占位符,\;是-exec选项的结束标识符。2>/dev/null:将错误输出重定向到/dev/null,以隐藏权限被拒绝的错误信息。

发现了secret.file,获得一个密码Il00tpeople

直接用这个密码,切换成cubes账号了

| grep -v "/proc"``| grep -v ".png"使用grep过滤掉包含/proc.png的行。
发现/var/webmin/backup/miniser.log文件

vi /var/webmin/backup/miniser.log查看该日志文件,发现账号密码admin``tokiohotel

使用该账号密码直接登录进来了

发现一个Command Shell命令行可以直接是root权限


searchsploit webmin发现有RCE漏洞
还可以使用msf来操作

msfdb run启动msf
search webmin搜索webmin

use 2,然后show options看一下,发现都没用办法直接使用,因为前提是必须知道登录的账号和密码才行。


获得root权限!打靶完毕!
学习记录:
- 对于渗透测试来说,熟练度是非常关键的能力。
- 如果仅仅从打靶这一个角度,一上来就使用CVE-2021-3493的POC,拿到root权限就完事了,但是仅仅是针对打靶环境而言是正确的,但如果是参加一个护网比赛、一个渗透测试比赛或者是一个授权的渗透测试项目的话,这种实战的、实际的工作场景的话,建议大家即便已经取得了root权限,那也同样需要去关注应用层可能存在的漏洞,它系统的控制区、系统的账号以及密码,我们要把所有的账号密码,所有的权限全都拿到,无论是应用层的权限,还是操作系统的权限,还是数据库的权限,还是任何中间层面的软件组件的权限,只要是有权限的部分都要拿,因为尤其像在护网比赛过程当中,你拿到任何一个系统的权限,都是有单独加分的。

浙公网安备 33010602011771号