我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c沙箱与容器-创新互联

c沙箱与容器_orw技术分享

一、 沙箱保护

创新互联是专业的麻江网站建设公司,麻江接单;提供成都网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行麻江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
  1. 文件系统隔离

(1)chroot

chroot的主要功能是指定根目录,如“chroot ‘/home/star’”,会启动一个新的shell,并将‘/home/star’作为该shell的根目录。chroot沙箱可以将文件访问限定在某一特定目录下,但可能会被逃逸。

推荐一个chroot绕过工具:

GitHub - earthquake/chw00t: chw00t - Unices chroot breaking tool

(2)restricted bash

rbash主要限制了部分bash命令,使得bash只执行当前目录下可执行文件,并且不允许改变当前目录,通常与chroot共同使用。

  1. 进程监控

(1)ptrace是一种系统调用,父进程通过ptrace监控和修改子进程运行状态(内存,寄存器等)。由于ptrace可以使子进程处于受控状态,所以可以用于沙箱保护,限制子进程可以使用的系统调用。

(2)seccomp限制程序可以使用或不可使用的系统调用。

  1. 函数保护机制

(1)prctl

prctl()是最原始的沙箱规则实现,决定哪些系统函数可以被调用,那些不可以被调用。

函数原型

int prctl(int option, unsigned long argv2, unsigned long argv3, unsigned long argv4,unsigned long argv3)

二、 容器技术

容器的目的是资源隔离和控制隔离。容器我用的最多就是docker,主要用来部署环境。Docker实现原理自己目前还说不明白,停留在刚好会用阶段,在这里先空着,后面有时间再补上。

三、 ORW技术

  1. Seccomp-tools工具

使用方法:seccomp-tools dump ./文件名

通过该工具可以查看沙箱允许使用的系统调用函数(白名单)

在这里插入图片描述

  1. 常用系统调用号

x86和x64下系统调用号不一样,x86下

read:3 exit:1 write:4 open:5

x64下

read:0 exit: 60 write:1 open:2

  1. 常用利用思路与题型

orw技术常应用于沙箱保护机制(常见标志是prctl()和seccomp()等函数),是一种安全交互方式,通过系统调用(open,write等)与服务器交互(常用于输出flag),与漏洞利用本身无关。(以下orw利用思路以64位为例)

对系统函数的调用通常通过汇编代码的形式,可以手动修改rdi,rsi等寄存器值或内存内容,也可以通过pwntools中的shellcraft模块直接生成(汇编代码,以下演示代码以64位为例)。但注意,最后交互需要使用asm转换。

open

shellcraft.open(‘./flag’)

实际汇编:

xor rsi,rsi;

xor rdx,rdx;

push rdx; #添加\x00,但不会引入\x00

mov rax,{convert_str_asmencode(“././flag”)}; #这里填写对应的文件名,对应hex编码,文件名最好凑到8的整数倍,不然会出现\x00

push rax;

mov rdi,rsp;

xor rax,rax;

mov al,2;

syscall;

read

shellcraft.read(x, y, z)

实际汇编:

mov rdi,rax;#rdi为文件描述符

mov dl,0x40;#长度

mov rsi,{stack_addr}#保存位置

mov al,0;

syscall;

write

shellcraft.write(x, y, z)

实际汇编:

xor rdi,rdi;#使用标准输入

mov al,1;

syscall;

  1. 参考博客

linux中的容器与沙箱初探 — Atum

seccomp escape - 简书 (jianshu.com)

从prctl函数开始学习沙箱规则 - Riv4ille - 博客园 (cnblogs.com)

从prctl函数开始学习沙箱规则 - Riv4ille - 博客园 (cnblogs.com)

CTF wiki

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页标题:c沙箱与容器-创新互联
网页链接:http://shouzuofang.com/article/hpedg.html

其他资讯