Vulnhub打靶记录:funbox2

相关信息


kali:10.0.0.9/24

靶机:10.0.0.7/24

靶机介绍:Funbox: Rookie ~ VulnHub

靶机下载:https://download.vulnhub.com/funbox/Funbox2.ova

目标:root权限

难度:低

未提及的相关知识点,命令和代码等等可以查看我其他三个blog:

文字思路


全流程思路:

  • 主机发现 端口扫描
  • 信息搜集:ftp的匿名登陆
  • FTP服务漏洞:漏洞利用没有成功,关键是里面的隐藏文件发现和下载
  • 密码爆破 SSH公钥认证
  • rbash逃逸 本地提权:逃逸的同时就进行了本地提权

下意识的操作

  1. 部分ssh服务是有用户枚举漏洞的,在端口发现后可以对这个点进行尝试。
  2. 登陆ftp后记得尝试 ../../来看是否能够跳出ftp的根目录。

主要的知识点

  1. rbash提权,非常的简单一个知识点

具体流程


信息搜集

  1. 主机发现,端口扫描,服务确定。可知21/ftp服务是允许进行匿名的登陆的,22/ssh的服务版本也是没有大的漏洞,80/http具有一个 /logs目录的。

    Snipaste_2023-06-30_10-54-1-1
  2. 通过访问web页面,目录爬取,非常惊讶的发现没有任何可以渗透的点,就是一个简单的默认的web页面。所以将目标重点放在ftp上,可以直接通过匿名登陆ftp

    注意:用户名就是anonymous

    proftpd的试错尝试

    image-20230702212445759
  3. 同过ftp命令的使用,发现两个隐藏文件,然后使用mget命令将所有文件包括隐藏文件进行下载,然后进行获取阅读。

    image-20230702212512836 image-20230702212655006
  4. 文件的解读

    • welcome.msg:一个类似于欢迎文本的模板,用来欢迎用户。同时可以发现消息中也说明了这个ftp服务是不安全的。

      image-20230702212830701
    • .@admins:是个base64加密的文件。解密后为:保管好你的秘钥,它就在以你命名的压缩文件中。再结合ftp中的众多压缩文件,不难做出联想猜想。

      image-20230702213001412

边界突破

  1. 但是解压下载下来的zip文件时,发现是需要密码的。通过zip2john将压缩文件进行处理:zip2john tom.zip > tom.hash,然后使用john进行爆破.。重复这个步骤,最后只有tom,cathrine能够成功的进行密码破解。

    image-20230702213502235
  2. 通过爆破获取的密码,解压完成后不难发现解压文件名和ssh公钥进行登陆的私钥密码一样的命名。不妨通过键入 ssh -i id_rsa tom@10.0.0.10来进行公钥登陆,果不其然成功的登陆。然后进行基本的信息搜集,发现在 .mysql_history中发现tom创建了个数据库,并在其中插入了一个用户和密码:tom : xx11yy22!

    注意:通过mysql命令的特性,不难发现 \40可能是个特殊的没有意义的符号。

    image-20230702214428267

提权

  1. 通过获取的 xx11yy22!使用 sudo -l进行密码验证,发现改密码就是tom的。同时也分析该用户具有所有的sudo权限,直接sudo -sroot,然后访问 /root用户。但是不可思议的是居然被拒绝了,提示我们这是个rbash。(就是功能受限的shell),通过查看环境变量SHELL也能得到验证。

    image-20230702214558402

rbash逃逸

技术还是比较简单的,网上资料很多。

  1. 由于目标靶机上肯定存在mysql,通过后台程序的查看不难发现是是root用户起的mysql

    image-20230702215822160

  2. 利用刚刚的密码复用尝试登陆mysql,然后利用mysql直接启用一个bash。可以发现能够成功的进行flag的阅读,完成打靶。但是注意即使环境变量依然为rbash,但是并不意味着目前获取的shellrbash

    image-20230702220045149

命令


ftp

  1. what?

    用于连接ftp服务

  2. 具体使用

    • ftp 10.0.0.1:直接连接目标服务的ftp

mget

相当于wget,是用来下载ftp中文件的

cpfr / cpto

linux登陆ftp的用来复制,链贴文件的命令,eg:

cpfr /etc/1.txt		# 复制1.txt
cpto /tmp	# 将1.txt链贴到 /tmp目录

复盘/相关知识


复盘

ftp的exp试错

我们搜索的proftpd版本是1.3.5和靶机上真实的1.3.5e是有一定区别的,基本上注定exp利用会出现问题,但是并不以为意味着不需要进行尝试。 返回

  1. 搜索proftpd相关的漏洞,可以发现三个远程执行的漏洞脚本都是基于一个漏洞 mod_copy。通过对 36803.py代码的阅读,我们可以大致的了解漏洞的产生原因和条件。

    image-20230704151125498
  2. 36803.py解析:

    这个漏洞必须在开启proftpd的同时必须开放web服务。本质上是利用ftp可以在靶机相关文件进行复制,粘贴,从而在web的文件目录中写入后门代码。

    image-20230702201951199

    image-20230702205713547

    • 21:提示这个脚本的使用格式:ip + web + shell的命令
    • 23~25:对输入的参数进行赋值
    • 26:利用PHPshell命令封装成可被PHP执行的命令
    • 27:这个代码验证的了21行代码中,需要输入的是ip参数
    • 30~35:利用ftp复制,粘贴命令将恶意代码写入到 infogen.php中,并将该恶意文件移动到相关web的目录下面
    • 41:访问这个恶意的infogen.php文件,进行恶意代码执行。
  3. 由于不知道网页的具体的根目录是什么,暂且猜测为常见的 /var/www/html,尝试连接后依然是没有任何反应的,尝试失败。

    image-20230702210302780

  4. 更换脚本,使用msfconsole漏洞利用模块来进行更便捷的渗透测试,很显然4模块是对上面的同一个漏洞利用。use 4后键入info来查看该模块的相关描述,该描述符合我们对 36803.py的解读。

    image-20230702210633759

    image-20230702211201708

  5. 键入 show payloads查看靶机上可以利用的脚本,由于不确定靶机上的具体环境建议先选择基于系统的反弹脚本 /unix/generic。然后键入 set payload payload/cmd/unix/generic来确定脚本,在set cmd id为脚本确定参数值

    image-20230702211338694

    image-20230702211527667
  6. 运行后依然是无法成功利用漏洞的,至此漏洞exp利用失败。

    image-20230702212021014

posted @ 2023-07-04 21:25  C_CHL  阅读(90)  评论(0编辑  收藏  举报