Penetration-Matrix_1 打靶记录
确认靶机地址为192.168.91.134
看看这两个主页先
在31337端口源码中发现一串base64加密后的代码
<div class="service">
<!--p class="service__text">ZWNobyAiVGhlbiB5b3UnbGwgc2VlLCB0aGF0IGl0IGlzIG5vdCB0aGUgc3Bvb24gdGhhdCBiZW5kcywgaXQgaXMgb25seSB5b3Vyc2VsZi4gIiA+IEN5cGhlci5tYXRyaXg=</p-->
</div><!-- End / service -->
解码一下看看:
echo ZWNobyAiVGhlbiB5b3UnbGwgc2VlLCB0aGF0IGl0IGlzIG5vdCB0aGUgc3Bvb24gdGhhdCBiZW5kcywgaXQgaXMgb25seSB5b3Vyc2VsZi4gIiA+IEN5cGhlci5tYXRyaXg= | base64 -d
echo "Then you'll see, that it is not the spoon that bends, it is only yourself. " > Cypher.matrix
Cypher.matrix ? 他把这句话输入了这个文件,看看能不能打开这个文件
打开是这样的:
这应该是代码混淆后的内容,解码一下:
这人好离谱,无语子。。
扫描一下目录看看有没有什么信息:
东西很少,上去看了一下没啥能用的,只发现了一个.gitkeep文件:
扫扫另一个:
没啥区别
看来只能爆破一下这个密码先了:
先生成一个字典:
crunch 8 8 -f /usr/share/crunch/charset.lst lalpha-numeric -t k1ll0r@@ > pass.dic
爆破一下:
hydra -l guest -P pass.dic ssh://192.168.91.134 -f -vV -o hydra.ssh
得到密码:k1ll0r7n
登录到主机后发现在rbash模式
rbash
`rbash`(restricted bash)是一种限制性的 Unix shell,它是 Bash shell 的一种变体。`rbash` 提供了一种受限的环境,用于限制用户在系统上执行的操作和访问的资源。
当用户被配置为使用 `rbash` 作为其默认 shell 时,它会强制执行一些安全限制,包括以下内容:
1. 限制命令搜索路径:`rbash` 会忽略用户的 `PATH` 环境变量,只使用内部定义的路径来搜索可执行命令。这样可以防止用户执行系统上的某些命令。
2. 禁用命令别名:`rbash` 不允许用户定义自己的命令别名。
3. 禁用 Shell 函数:`rbash` 禁止用户定义和执行自己的 Shell 函数。
4. 限制修改 Shell 变量:`rbash` 限制用户对特定 Shell 变量进行修改,例如 `SHELLOPTS`、`BASH_ENV`、`ENV` 等。这样可以防止用户通过修改这些变量来绕过限制。
5. 禁用 `cd` 到斜杠:`rbash` 禁止用户使用 `cd` 命令切换到根目录 (`/`)。
通过应用这些限制,`rbash` 提供了一种更加安全和受控的 Shell 环境,适用于那些需要限制用户访问权限和操作能力的场景,例如共享计算机、受限账户等。
要将用户配置为使用 `rbash`,可以将其登录 shell 更改为 `/bin/rbash`,或者通过修改用户的 `/etc/passwd` 文件中的 shell 配置来实现。
(146条消息) 【渗透测试】— rbash逃逸方法简述_rbash 命令_通地塔的博客-CSDN博客
这里vi命令可以使用,在末行模式下输入:!/bin/bash
进入bash
但是还有一些命令无法使用
这里查一下gpt:
如果在 Bash shell 中执行 id
命令时出现 “bash: id: command not found” 错误,这可能是由于系统的环境变量配置问题导致 Bash 无法找到 id
命令。
id
命令通常位于 /usr/bin
目录下,这个目录通常包含在系统的 PATH
环境变量中。PATH
环境变量定义了用于查找可执行文件的路径列表。
以下是一些可能导致 id
命令无法被找到的原因和解决方法:
检查
PATH
环境变量:运行echo $PATH
命令来查看当前的PATH
环境变量设置。确保/usr/bin
或包含id
命令的路径被正确地包含在PATH
中。如果缺少/usr/bin
,你可以使用export
命令来添加它:export PATH=$PATH:/usr/bin
检查命令是否存在:确认
/usr/bin
目录中是否存在id
命令。你可以运行ls /usr/bin/id
来验证它是否存在。如果不存在,可能是由于系统配置或软件包问题导致命令缺失。检查文件权限:确保
/usr/bin/id
文件的权限设置正确,使其可执行。你可以运行ls -l /usr/bin/id
命令来查看文件的权限设置。如果权限不正确,可以使用chmod
命令进行更改:sudo chmod +x /usr/bin/id
系统路径配置问题:如果你的系统存在其他路径配置问题,可能需要对系统的环境进行进一步检查和修复。这可能涉及到检查
/etc/profile
、~/.bash_profile
、~/.bashrc
等文件中的配置,以确保正确设置了PATH
环境变量。
如果以上方法仍然无法解决问题,可能需要进一步检查系统配置或与系统管理员联系以获取支持。
ok,设置一下环境变量:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
现在可以直接用密码进入root用户,但是我们看到/bin/cp是有sudo权限的,学习一下怎么提权:
[(146条消息) Linux提权之SUID提权_安全小菜鸡的博客-CSDN博客](https://blog.csdn.net/weixin_51692662/article/details/126464004#::text=根据上面的话理解,那么我们理解cp在有suid权限使用时具有root权限,那我们可以用此命令 提权,,大致步骤查看cp有没有suid权限——>将 %2Fetc%2Fpasswd文件cp到本目录——>使用命令生成新的root用户和密码——>vim添加此用户并wq! 强制保存——>将本目录cp到%2Fetc%2Fpasswd。)
后来发现没有权限,g