特殊情况下sandbox的bypass

seccomp|绕过沙箱

常见的沙箱绕过思路

ORW

  • Open/openv

  • Read/readv

  • Write/writev

使用开源工具查看seccomp规则 安装链接:https://github.com/david942j/seccomp-tools

特殊的沙箱绕过思路-未检查架构

i386与x86-64下的系统调用号不同

可以利用retq指令修改cs寄存器为0x23

cs==0x23代表32位模式

cs==0x33代表64位模式

特殊的沙箱绕过思路-未检查范围

在x64下还可以直接使用x32-abi绕过

x32为x86-64下的一种特殊模式

使用64位的寄存器和32位的地址,

只需直接加_X32_SYSCALL_BIT(0X40000000)

即原本的syscall number+0x40000000

更多绕过思路

根据具体规则,结合syscall调用表找没被过滤的替代函数,比如execveat openv readv writev



posted @ 2022-03-07 21:45  vi0let  阅读(351)  评论(0编辑  收藏  举报