type
Post
status
Published
date
Aug 4, 2020 22:13
slug
page-1
summary
简单dockers逃逸学习
tags
内网渗透
docker逃逸
category
docker逃逸
icon
password
初学者
1. 目标界面

搞半天,没进去。。。。
经过提示,了解到了一句话执行的原理,
一句话在每次执行时,接收变量cmd传进去的参数
cmd=phpinfo(); 使用eval函数执行 phpinfo(); 命令。了解后就是猜参数名的过程。
2. 提权
连上shell后,
whoami 查看为www-data权限,
通过uname -a 和 cat /etc/*-release 查看内核版本,没有提权exp
!

通过命令查看


3. 反弹shell ,以及获取完全交互式shell
公网nc 监听 端口
bash 反弹
失败。。。
使用 python 反弹shell 到公网
保存为shll.sh ,之后执行

到这里,反弹来的shell还有些问题:
- 一些命令如su和ssh,需要一个正确的终端才能运行
- 通常不显示STDERR
- 无法正常使用vim等文本编辑器
- 没有完成标签
- 没有向上箭头使用历史
- 没有jobcontrol等
接下来使用python获取完全交互式shell
完美了,但是反弹的shell并不是root 用户,接下来执行
find suid -exec /bin/bash -p \;

4. docker 逃逸
使用
ls -alh /.dockerenv 判断服务器是否为docker环境, 非docker环境是没有的
这是没有docker的

或者使用
cat /proc/1/cgroup 查看系统进程的cgroup信息
这是没有的

fdisk -l 查看磁盘文件
新建一个目录, 将/dev/vda1挂载至新建的目录

充满波折,不懂。。。
换个方法,
使用 /etc/passwd 创建root用户,
首先,使用perl语言生成带有盐值的密码:
然后执行下面这条命令,成功将test用户的信息加入 /etc/passwd 文件
su test 切换过去
再执行 mount /dev/vda1 abc

现在能查看宿主机文件,接下来逃逸到宿主机
通过写入计划任务到宿主机
将python 反弹的脚本写进去,同样gg
最终,直接将反弹shell的脚本,写入宿主机的目录下
之后,赋予权限,直接执行反弹回shell
- 作者:yhy
- 链接:https://fireline.fun/article/page-1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。


.png?table=block&id=2f897da5-45e9-80f3-be17-c682d5baa107&t=2f897da5-45e9-80f3-be17-c682d5baa107)
.png?table=block&id=2ed97da5-45e9-8064-bc5e-ea3540aaeb5c&t=2ed97da5-45e9-8064-bc5e-ea3540aaeb5c)


