Vulnhub打靶记录:funbox2
相关信息
kali:10.0.0.9/24
靶机:10.0.0.7/24
靶机下载:https://download.vulnhub.com/funbox/Funbox2.ova
目标:root权限
难度:低
未提及的相关知识点,命令和代码等等可以查看我其他三个blog:
-
渗透相关知识补充 - CC-HL - 博客园 (cnblogs.com)
当然我也只是记录了我认为有必要的。
文字思路
全流程思路:
- 主机发现 端口扫描
- 信息搜集:
ftp的匿名登陆 - FTP服务漏洞:漏洞利用没有成功,关键是里面的隐藏文件发现和下载
- 密码爆破 SSH公钥认证
- rbash逃逸 本地提权:逃逸的同时就进行了本地提权
下意识的操作
- 部分
ssh服务是有用户枚举漏洞的,在端口发现后可以对这个点进行尝试。 - 登陆
ftp后记得尝试../../来看是否能够跳出ftp的根目录。
主要的知识点
rbash提权,非常的简单一个知识点
具体流程
信息搜集
-
主机发现,端口扫描,服务确定。可知
21/ftp服务是允许进行匿名的登陆的,22/ssh的服务版本也是没有大的漏洞,80/http具有一个/logs目录的。
-
通过访问
web页面,目录爬取,非常惊讶的发现没有任何可以渗透的点,就是一个简单的默认的web页面。所以将目标重点放在ftp上,可以直接通过匿名登陆ftp。注意:用户名就是
anonymous
-
同过
ftp命令的使用,发现两个隐藏文件,然后使用mget命令将所有文件包括隐藏文件进行下载,然后进行获取阅读。
-
文件的解读
-
welcome.msg:一个类似于欢迎文本的模板,用来欢迎用户。同时可以发现消息中也说明了这个ftp服务是不安全的。
-
.@admins:是个base64加密的文件。解密后为:保管好你的秘钥,它就在以你命名的压缩文件中。再结合ftp中的众多压缩文件,不难做出联想猜想。
-
边界突破
-
但是解压下载下来的
zip文件时,发现是需要密码的。通过zip2john将压缩文件进行处理:zip2john tom.zip > tom.hash,然后使用john进行爆破.。重复这个步骤,最后只有tom,cathrine能够成功的进行密码破解。
-
通过爆破获取的密码,解压完成后不难发现解压文件名和
ssh公钥进行登陆的私钥密码一样的命名。不妨通过键入ssh -i id_rsa tom@10.0.0.10来进行公钥登陆,果不其然成功的登陆。然后进行基本的信息搜集,发现在.mysql_history中发现tom创建了个数据库,并在其中插入了一个用户和密码:tom : xx11yy22!。注意:通过
mysql命令的特性,不难发现\40可能是个特殊的没有意义的符号。
提权
-
通过获取的
xx11yy22!使用sudo -l进行密码验证,发现改密码就是tom的。同时也分析该用户具有所有的sudo权限,直接sudo -s为root,然后访问/root用户。但是不可思议的是居然被拒绝了,提示我们这是个rbash。(就是功能受限的shell),通过查看环境变量SHELL也能得到验证。
rbash逃逸
技术还是比较简单的,网上资料很多。
-
由于目标靶机上肯定存在
mysql,通过后台程序的查看不难发现是是root用户起的mysql
-
利用刚刚的密码复用尝试登陆
mysql,然后利用mysql直接启用一个bash。可以发现能够成功的进行flag的阅读,完成打靶。但是注意即使环境变量依然为rbash,但是并不意味着目前获取的shell是rbash。
命令
ftp
-
what?
用于连接
ftp服务 -
具体使用
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利用会出现问题,但是并不以为意味着不需要进行尝试。 返回
-
搜索
proftpd相关的漏洞,可以发现三个远程执行的漏洞脚本都是基于一个漏洞mod_copy。通过对36803.py代码的阅读,我们可以大致的了解漏洞的产生原因和条件。
-
36803.py解析:这个漏洞必须在开启
proftpd的同时必须开放web服务。本质上是利用ftp可以在靶机相关文件进行复制,粘贴,从而在web的文件目录中写入后门代码。

21:提示这个脚本的使用格式:ip+web+shell的命令23~25:对输入的参数进行赋值26:利用PHP将shell命令封装成可被PHP执行的命令27:这个代码验证的了21行代码中,需要输入的是ip参数30~35:利用ftp复制,粘贴命令将恶意代码写入到infogen.php中,并将该恶意文件移动到相关web的目录下面41:访问这个恶意的infogen.php文件,进行恶意代码执行。
-
由于不知道网页的具体的根目录是什么,暂且猜测为常见的
/var/www/html,尝试连接后依然是没有任何反应的,尝试失败。
-
更换脚本,使用
msfconsole漏洞利用模块来进行更便捷的渗透测试,很显然4模块是对上面的同一个漏洞利用。use 4后键入info来查看该模块的相关描述,该描述符合我们对36803.py的解读。

-
键入
show payloads查看靶机上可以利用的脚本,由于不确定靶机上的具体环境建议先选择基于系统的反弹脚本/unix/generic。然后键入set payload payload/cmd/unix/generic来确定脚本,在set cmd id为脚本确定参数值
-
运行后依然是无法成功利用漏洞的,至此漏洞
exp利用失败。

浙公网安备 33010602011771号