Skip to content

Latest commit

 

History

History
176 lines (76 loc) · 10.9 KB

【靶机渗透】Vulnhub-Matrix-Ⅰ 通关.md

File metadata and controls

176 lines (76 loc) · 10.9 KB

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

一、环境配置

Matrix-1 是一个中等难度的 boot2root 挑战,选用了电影《黑客帝国》中的一些元素,在练习中可以复习电影中的情节。

靶机下载链接:https://download.vulnhub.com/matrix/Machine_Matrix.zip

文件大小:552 MB

MD5 值:9ECF22AD48AFE814A1F68B808DF706A9

网络连接:NAT 模式,192.168.92.0/24 网段

二、实战演练

1、发现靶机

使用 arp-scan 扫描整个网段可发现靶机 IP 为:192.168.92.135。图中可见扫描出 3 个 IP 地址,其中 192.168.92.2 和 192.168.92.254 是 NAT 模式下的虚拟网络设备的地址。

2、扫描端口

可见靶机开启了 22 端口的 ssh 服务,80 端口和 31337 端口有 http 服务。

3、访问 80 端口

网页中有文字提示:“跟着白兔走。” 这是电影中的台词。在《爱丽丝奇境历险记》中小女孩爱丽丝也是跟着一只兔子掉进了兔子洞,从而开始了奇境之旅。跟着白兔走,暗示一段冒险开始了。通过审查元素,查看网页下方的兔子。

图片名是 “p0rt_31337.png”,看来这条线索指向了 31337 端口。

4、访问 31337 端口

网页中的这段话是电影中的反派角色 Cypher 说的:你知道的… 我知道这块牛排不存在。我知道当我把它放进嘴里时,母体告诉我的大脑它是多汁的,美味的。九年了,你知道我意识到什么吗?无知是福。这句话表明了 Cypher 选择了柏拉图的洞穴,而 Neo 选择了真实的荒漠。拥有真理的人拥有真正的自由与幸福。

Cypher 这个名字有加密的意思,暗示这个页面中有加密信息。所以查看网页源代码。

发现有一串加密字符,貌似 base64 加密,解密后可看到明文信息。

echo 是一种最常用的与广泛使用的内置于 Linux 的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。这里的作用是向 Cypher.matrix 文件中输出了一句话:“然后你会发现,弯曲的不是勺子,而是你自己。” 这句话是电影中一个能弯曲勺子的小和尚告诉 Neo 的,意思是色空相即,要认清世界的真相。

同时也说明网站中存在 Cypher.matrix 文件。所以在浏览器中下载这个文件。

打开后发现是 BrainFuck 代码,Brainfuck 是一种极小化的计算机语言,它是由 Urban Müller 在 1993 年设计的编程语言,只有八种符号,所有的操作都由这八种符号的组合来完成。

通过在线解码网站进行解码,得到一段信息:

5、爆破 ssh 密码

明文信息中说用户名是 guest,密码是 k1ll0rXX,后两位字符忘记了,用 XX 表示。所以使用 crunch 字典生成工具生成待测试密码字典,密码一共是 8 位,后两位字符可能是字母和数字,所以使用 lalpha-numeric 字符集,生成的密码保存在 pass.txt 文件中。

使用 hydra 爆破 ssh 服务的密码,用户名 guest,字典文件是刚才生成的。

几分钟后有结果了,密码是 k1ll0r7n。

6、登录并提权

使用 ssh 登录,发现只有一个 rbash(restricted bash),即受限制的 bash,这些限制包括:

  • 不能使用 cd 命令,即不能切换目录;

  • 不能设置或取消环境变量:SHELL,PATH,ENV,BASH_ENV;

  • 导入功能受限;

  • 不能使用重定向操作符。

然而有的命令能调用外部命令,从而逃逸出受限环境。

使用 compgen 查看所有可执行的命令。

其中有 vi 命令,可以使用这个命令逃逸出受限环境,打开 vi,执行外部命令。

这时就从 rbash 逃逸到了 bash,虽然也有很多命令无法执行,但是可以设置环境变量。

使用 export 设置环境变量,就可以执行命令了。

使用 sudo 命令提升到管理员权限,密码使用 k1ll0r7n。

使用 find 命令在根目录下查找文件名中包含 “flag” 的文件。

显示 flag 文件,通关成功。

三、总结

1、使用 arp-scan 扫描整个网段发现靶机的 IP 地址。

2、使用 nmap 扫描靶机的端口和服务,开启了 22、80 和 31337 端口。

3、根据获取的线索使用 crunch 生成字典,并使用 hydra 爆破。

4、ssh 登录后发现是受限的 rbash 环境,使用 vi 逃逸到 bash 环境。

5、在 bash 中设置环境变量后执行 sudo 命令,获得 Matrix-1 靶机 root 权限。

由于线索比较明显,从开始渗透到最终提权思路都是清晰明确。需要掌握的知识点就是使用 crunch 生成指定格式的密码和 rbash 逃逸。这两个技能点也是渗透实战中会遇到的问题。

往期精选

1

喜|天地和兴成为首批工业互联网安全 “领航” 计划成员单位

2

喜喜|天地和兴荣获 2021 网信自主创新优秀产品 “补天奖”

3

制造业网络安全威胁

点击 “在看” 鼓励一下吧