iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0

因為本篇篇幅比較少,所以跟Day13一起發佈 /images/emoticon/emoticon07.gif

Yes

docker run --rm -it aeifkz/my-ubuntu:v1.0 bash ;
capsh --print ;

# 出現權限不夠訊息
unshare -UrmC --propagation=unchanged bash ; 

wget https://github.com/genuinetools/amicontained/releases/download/v0.4.9/amicontained-linux-amd64 -O amicontained &&  chmod +x amicontained ;

# 會看到 Seccomp Blocked Syscalls 包含 UNSHARE
./amicontained ; 
  • Seccomp 跟 Apparmor 會在之後的文章中提到相關的防禦機制。但目前先知道 docker 啟動的話要先關掉才有辦法做後續的攻擊行為。那環境如果換到 K8s 會有甚麼差異呢? 以下就來做做實驗看看。

  • non_privileged_pods.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: target-pod
    image: aeifkz/my-ubuntu:v1.0
    securityContext:
      privileged: false
kubectl create -f non_privileged_pods.yaml ;
kubectl exec -it pods/test -- bash ;
capsh --print ;
wget https://github.com/genuinetools/amicontained/releases/download/v0.4.9/amicontained-linux-amd64 -O amicontained &&  chmod +x amicontained ;

# 會發現 Apparmor 跟 Seccomp 居然都沒開!!
./amicontained ; 

# 直接成功
unshare -UrmC --propagation=unchanged bash ; 
  • 後續的攻擊就參考鐵人賽之前的影片吧,看是要用 cgroups 逃逸還是(勘誤:驅動程式逃逸)都可以。與docker 不同,K8s居然預設沒開 Apparmor 與 Seccomp,所以在啟動 K8s pods的時候要知道這件事情/images/emoticon/emoticon21.gif

  • 今日總結 :

    • 本日回顧 :

      • 今日重點在於K8s 預設沒開 Apparmor 與 Seccomp,之後再防禦篇則會說明這兩個機制以及如何打開它們。/images/emoticon/emoticon12.gif
    • 次日預告 :

      • 差不多講完 K8s 一些特有的逃逸手法。接下來要開始探討更重要的另一塊,K8s裡面的 RBAC 機制以及如何濫用它們。/images/emoticon/emoticon08.gif

上一篇
Day13 - (攻擊) k8s Pod log 目錄掛載逃逸手法 (含作業3-1、作業3-2)
下一篇
Day15 - k8s RBAC 介紹及使用
系列文
怕痛的我把 Docker、K8s 攻擊、防禦、偵測力點滿就對了63
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
aeifkz
iT邦新手 3 級 ‧ 2023-10-11 18:01:58

勘誤 : CVE-2022-0492 是針對 cgroup 才能夠利用的漏洞,所以後續無法再利用驅動程式逃逸,故將其加上刪除線。

我要留言

立即登入留言