一、 沙箱保護(hù)

(1)chroot
chroot的主要功能是指定根目錄,如“chroot ‘/home/star’”,會(huì)啟動(dòng)一個(gè)新的shell,并將‘/home/star’作為該shell的根目錄。chroot沙箱可以將文件訪問(wèn)限定在某一特定目錄下,但可能會(huì)被逃逸。
推薦一個(gè)chroot繞過(guò)工具:
GitHub - earthquake/chw00t: chw00t - Unices chroot breaking tool
(2)restricted bash
rbash主要限制了部分bash命令,使得bash只執(zhí)行當(dāng)前目錄下可執(zhí)行文件,并且不允許改變當(dāng)前目錄,通常與chroot共同使用。
(1)ptrace是一種系統(tǒng)調(diào)用,父進(jìn)程通過(guò)ptrace監(jiān)控和修改子進(jìn)程運(yùn)行狀態(tài)(內(nèi)存,寄存器等)。由于ptrace可以使子進(jìn)程處于受控狀態(tài),所以可以用于沙箱保護(hù),限制子進(jìn)程可以使用的系統(tǒng)調(diào)用。
(2)seccomp限制程序可以使用或不可使用的系統(tǒng)調(diào)用。
(1)prctl
prctl()是最原始的沙箱規(guī)則實(shí)現(xiàn),決定哪些系統(tǒng)函數(shù)可以被調(diào)用,那些不可以被調(diào)用。
函數(shù)原型
int prctl(int option, unsigned long argv2, unsigned long argv3, unsigned long argv4,unsigned long argv3)
二、 容器技術(shù)
容器的目的是資源隔離和控制隔離。容器我用的最多就是docker,主要用來(lái)部署環(huán)境。Docker實(shí)現(xiàn)原理自己目前還說(shuō)不明白,停留在剛好會(huì)用階段,在這里先空著,后面有時(shí)間再補(bǔ)上。
三、 ORW技術(shù)
使用方法:seccomp-tools dump ./文件名
通過(guò)該工具可以查看沙箱允許使用的系統(tǒng)調(diào)用函數(shù)(白名單)

x86和x64下系統(tǒng)調(diào)用號(hào)不一樣,x86下
read:3 exit:1 write:4 open:5
x64下
read:0 exit: 60 write:1 open:2
orw技術(shù)常應(yīng)用于沙箱保護(hù)機(jī)制(常見(jiàn)標(biāo)志是prctl()和seccomp()等函數(shù)),是一種安全交互方式,通過(guò)系統(tǒng)調(diào)用(open,write等)與服務(wù)器交互(常用于輸出flag),與漏洞利用本身無(wú)關(guān)。(以下orw利用思路以64位為例)
對(duì)系統(tǒng)函數(shù)的調(diào)用通常通過(guò)匯編代碼的形式,可以手動(dòng)修改rdi,rsi等寄存器值或內(nèi)存內(nèi)容,也可以通過(guò)pwntools中的shellcraft模塊直接生成(匯編代碼,以下演示代碼以64位為例)。但注意,最后交互需要使用asm轉(zhuǎn)換。
open
shellcraft.open(‘./flag’)
實(shí)際匯編:
xor rsi,rsi;
xor rdx,rdx;
push rdx; #添加\x00,但不會(huì)引入\x00
mov rax,{convert_str_asmencode(“././flag”)}; #這里填寫對(duì)應(yīng)的文件名,對(duì)應(yīng)hex編碼,文件名最好湊到8的整數(shù)倍,不然會(huì)出現(xiàn)\x00
push rax;
mov rdi,rsp;
xor rax,rax;
mov al,2;
syscall;
read
shellcraft.read(x, y, z)
實(shí)際匯編:
mov rdi,rax;#rdi為文件描述符
mov dl,0x40;#長(zhǎng)度
mov rsi,{stack_addr}#保存位置
mov al,0;
syscall;
write
shellcraft.write(x, y, z)
實(shí)際匯編:
xor rdi,rdi;#使用標(biāo)準(zhǔn)輸入
mov al,1;
syscall;
linux中的容器與沙箱初探 — Atum
seccomp escape - 簡(jiǎn)書 (jianshu.com)
從prctl函數(shù)開(kāi)始學(xué)習(xí)沙箱規(guī)則 - Riv4ille - 博客園 (cnblogs.com)
從prctl函數(shù)開(kāi)始學(xué)習(xí)沙箱規(guī)則 - Riv4ille - 博客園 (cnblogs.com)
CTF wiki
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:c沙箱與容器-創(chuàng)新互聯(lián)
本文地址:http://chinadenli.net/article16/hpedg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)、做網(wǎng)站、軟件開(kāi)發(fā)、定制網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容