一、靶机介绍

靶机下载地址:Ripper: 1 ~ VulnHub

攻击方法:

  • 主机发现
  • 端口扫描
  • WEB信息搜集
  • 内部系统泄露
  • 代码审计
  • 备份文件泄密
  • Webmin漏洞利用
  • Measploit
  • CVE-2021-3493

二、主机发现

arp-scan -l

发现靶机ip地址为10.0.2.17

image-20240823134511971

三、端口扫描

nmap -p- 10.0.2.17 
nmap -p22,80,10000 -sV -sC 10.0.2.17

发现22,80,10000端口都在开放

image-20240823134758933

四、WEB信息搜集

访问80端口是个默认的apache2页面

然后访问10000端口,发现提示使用https访问

image-20240823135022451

使用https协议重新访问10000端口,发现是个webmin启动服务,是一个登录页面,没用获取到更多信息和突破口

image-20240823135042343

五、目录扫描

dirsearch -u https://10.0.2.17:10000 

扫描目录时,一开始速度非常慢,后来尝试增加进程扫描,扫描速度很快,但是没用扫描出来任何有用信息,使用gobuster和feroxbuster扫描直接显示失败,所以就耐心等了

发现存在robot.txt文件

image-20240823153122303

https://10.0.2.17:10000/robots.txt

发现存在一个bas64编码的字符串

image-20240823140446036

解码查看信息

echo 'd2Ugc2NhbiBwaHAgY29kZXMgd2l0aCByaXBzCg==' |base64 -d

image-20240823140513795

六、rips-代码审计

搜索rips php发现rips是个代码审计工具,工具网站如下:

https://rips-scanner.sourceforge.net/

在工具网站发现信息,大概意思是工具一般直接在ip或者域名下的/rips目录下

image-20240823140812516

尝试在10000端口后面访问这个路径,发现还是这个登录页面

image-20240823140856737

在80端口下尝试访问,发现跳转到工具页面了

dirsearch字典中应该rips这词,我刚开始扫过80端口,没有获得任何有用信息

image-20240823140902602

指定一些路径,我这里填的是默认路径

但是发现扫描出来的文件太多了

image-20240823140949305

使用关键词筛选一下,将关键词设置成了pass

发现一个账号和密码

image-20240823141412392

image-20240823141427702

账号密码:

ripper
Gamespeopleplay

七、ssh连接

账号密码登录web页面失败

尝试登录ssh,发现登录成功

image-20240823141731248

获得第一个flag

image-20240823142109054

八、提权

8.1、CVE-2021-3493

uname -a
lsb_release -a

发现内核版本和hard_socnet2的打靶靶机内核一样

image-20240823142739963

参考文章:

CVE-2021-3493:Linux kernel特权提升漏洞复现-腾讯云开发者社区-腾讯云 (tencent.com)

将源码下载到kali中,编译好后使用SCP传输到靶机中

8.1.1、SCP传输文件

scp exp ripper@10.0.2.17:~/

:后面的~是指路径

image-20240823143016725

但是发现由于gcc版本不同,在kail中编译好后没法再靶机中运行,

靶机中没有gcc,也没有安装权限,可以再docker中起一个Ubuntu的靶机,再里面编译好后拉到再传输到靶机中运行,这里由于virtualbox我并不常用,这个kali只是为了打vulnhub靶机所弄的,没有搞docker,所以懒得弄了。

image-20240823143708822

8.2、信息搜集提权

发现靶机中存在其他用户

image-20240823143853303

find / -user cubes -type f -exec ls -la {} \; 2>/dev/null

查找文件属于另一个用户的的文件

/ :根目录开始查找

-user cubues: 文件所有者为cubues

-type f:查找类型是文件,不是目录或者链接那一类的

-exec ls -al {} ; 对找的每个文件执行ls -la命令,{}是find命令找的文件占位符,;是 -exec选项的结束标识符。

2 >/dev/null 隐藏报错信息

image-20240823144937890

发现一个命名为秘密的文件,查看类型是字符串,发现是一个密码

Il00tpeople

切好到cubes用户尝试登录,发现登录成功

su cubes

image-20240823145115554

然后有找不到其他有用信息了,故技重施,继续查找

find / -user cubes -type f -exec ls -la {} \; 2>/dev/null | grep -v "/proc"``| grep -v ".png"

| grep -v “/proc”``| grep -v “.png” 是指使用grep过滤带哦/proc和.png的搜索结果

image-20240823145329194

这里标记错了,应该是下面那一行日志文件,查看日志

cat /var/webmin/backup/miniser.log
admin
tokiohotel

发现貌似是个登录日志,再其中找的了一个账号和密码

8.3、Webmin漏洞利用

再web页面尝试登录,发现登录成功,再功能列表中有个命令行,直接进去也是root权限

image-20240823145731461

image-20240823145752500

8.4、MSF利用

如果登录进去没找到那个命令行选项,也可以用msf提权

nmap扫描中看的10000端口对应的服务是webmin,版本号是1.910

使用searchsploit查找一下webmin是否存在漏洞

searchsploit webmin

image-20240823150031729

发现存在一个rce漏洞,并且可以利用msf攻击

启动msf,查找漏洞

msfdb run
search webmin

发现确实存在payload,选一个最新的rce,这里我选的3

image-20240823150152234

use 3 
show options

查看运行需要知道的前提条件,发现这个利用条件是需要知道web页面的账号和密码,服务对应的端口,这里默认的是10000,ssl也默认是true所以不用更改了,指定一下密码和用户,靶机地址和本地地址就行了

image-20240823151549351

image-20240823151611648

设置完成后重新查看一下有没有错误

image-20240823151641889

没有错误,直接run

攻击成功

image-20240823151708834

参考:打靶记录15——Ripper-CSDN博客