LabHub

KCSA — 쿠버네티스 보안 어소시에이트 · 진짜 클러스터에서 훔쳐 보기 · 실습

공격자의 눈으로 클러스터를 연다

LabHub 에서 이어서 보기

이 실습은 진짜 클러스터에서 돕니다

KCSA 는 위협 모델과 공격 표면입니다. 그것을 배우려면 실제로 훔쳐 봐야
합니다 — 저장소에서 평문을 꺼내고, 권한이 없는데도 시크릿을 읽어 내고,
감사 로그에 그 흔적이 남는 것을 봅니다.

가짜 클러스터에는 저장소도 apiserver 인증 체인도 감사 로그도 없어서, 이
전부가 글로만 남아 있었습니다. base64 는 암호화가 아니다 를 말로 듣는
것과 저장소에서 평문을 꺼내 보는 것은 다릅니다.

CKS 와 겹치지 않게 합니다. CKS 는 막는 실습이고, 여기 KCSA 는 **왜
막아야 하는지**를 공격으로 보여 줍니다.

처음 뜨는 데 2분쯤 걸립니다.

단계

1. 시크릿을 만들고 저장소에서 평문으로 꺼내 /root/kcsa/plaintext.txt 에 담으세요.
2. 저장 데이터 암호화를 켜고, 평문이 사라지는 것을 /root/kcsa/encrypt.txt 에 담으세요.
3. 옛 시크릿은 다시 써야 암호화되는 것을 /root/kcsa/rewrite.txt 에 담으세요.
4. 시크릿 권한이 없는 SA 가 파드로 시크릿을 훔치는 것을 /root/kcsa/escalate.txt 에 담으세요.
5. 익명·기본 SA 로 apiserver 를 두드려 인증 경계/root/kcsa/anon.txt 에 담으세요.
6. 감사 정책을 켜고 위 공격이 로그에 남는 것을 /root/kcsa/audit.txt 에 담으세요.
7. 지금까지를 4C 와 STRIDE 로 정리해 /root/kcsa/model.txt 에 담으세요.
8. /root/kcsa/report.mdplaintext_found=yes, encrypted=yes, audit_lines= 세 줄과 설명을 쓰세요.

참고

단계 8개

  1. base64 는 암호화가 아니다
  2. 저장 데이터 암호화를 켠다
  3. 옛 시크릿은 다시 써야 바뀐다
  4. 권한이 없어도 파드면 읽는다
  5. 인증 경계를 두드린다
  6. 남기지 않으면 없었던 일이 된다
  7. 4C 와 STRIDE 로 정리한다
  8. 무엇을 배웠나