323. 내부 확장·측면 이동 — 컨테이너·오케스트레이션 측면 이동 탐지

changseop lee·2026년 10월 8일

시스템 보안 · 취약점

목록 보기
323/450

시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 23/50편 (전체 323/450)
학습 단계: 원격 실행·서비스 악용
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

컨테이너·오케스트레이션 환경은 고유한 측면 이동 경로를 가집니다. 공격자는 컨테이너 탈출(호스트 접근)·오케스트레이터 API 악용·파드 간 이동으로 노드와 클러스터를 확산 장악합니다.

컨테이너·오케스트레이션 측면 이동
 컨테이너 탈출: 특권 컨테이너·마운트 악용 → 호스트 노드
 오케스트레이터 API: kubelet·API 서버 악용 → 파드 생성·명령
 파드 간 이동: 같은 노드/네임스페이스 파드로 확산
 서비스 어카운트 토큰: 탈취해 클러스터 API 접근

핵심: 컨테이너 → 호스트 → 다른 파드/노드 → 클러스터

컨테이너에서 호스트로의 탈출(특권·docker.sock·호스트 마운트)과 쿠버네티스 API·서비스 어카운트 토큰 악용이 핵심 경로입니다.

2. 왜 중요한가

  • 컨테이너 탈출은 격리를 깨고 호스트 노드를 장악해 다른 컨테이너로 확산합니다.
  • docker.sock 노출·특권 컨테이너·호스트 경로 마운트가 탈출 경로입니다.
  • 쿠버네티스 서비스 어카운트 토큰 탈취는 클러스터 전체 API 접근으로 이어집니다.

3. 핵심 명령어 / 설정

경로악용위험
특권 컨테이너--privileged 탈출높음
docker.sock호스트 Docker 제어매우 높음
호스트 마운트/ 마운트 접근높음
SA 토큰클러스터 API높음
파드 간 이동네임스페이스 확산높음

4. 실습 (실습 예시)

# 컨테이너·오케스트레이션 이동 탐지 (분석 방법)
# docker.sock 접근·특권 컨테이너 실행
sudo ausearch -k lateral,proc_exec -i --start recent 2>/dev/null | grep -E 'docker\.sock|--privileged|-v /:' | tail
# 서비스 어카운트 토큰 접근(쿠버네티스)
sudo ausearch -k cred_access,lateral -i --start recent 2>/dev/null | grep -E 'serviceaccount/token|/var/run/secrets'
# kubectl/API 비정상 사용
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'comm="(kubectl|crictl|docker)"' | tail

5. 정상 상태

$ (docker.sock·특권) (없음)
$ (SA 토큰 접근) (정상 파드 자신의 토큰만)

docker.sock·특권 컨테이너 악용이 없고, 서비스 어카운트 토큰이 정상 용도로만 쓰이는 상태가 정상입니다.

6. 이상 상태

$ (docker.sock·특권)
proctitle="docker -H unix:///var/run/docker.sock run -v /:/host --privileged ..."
$ (SA 토큰 접근)
cat /var/run/secrets/kubernetes.io/serviceaccount/token (타 파드 토큰 사용)
  • docker.sock + 호스트 / 마운트 + --privileged → 컨테이너 탈출(호스트 장악)
  • 서비스 어카운트 토큰 접근 → 클러스터 API로 파드 생성·확산
  • 컨테이너 탈출·토큰 악용 → 노드·클러스터 측면 이동 → 정탐

7. 로그 분석 (분석 방법)

컨테이너·오케스트레이션 측면 이동 분석입니다(가상의 예시).

[침투 파드] web 컨테이너 장악
   ↓ (탈출)
docker.sock + 호스트 마운트 → 노드 호스트 접근
   ↓ (API 악용)
SA 토큰으로 쿠버네티스 API → 다른 파드 명령·생성
   ↓ (확산)
다른 네임스페이스·노드 파드로 이동
 = 컨테이너 → 호스트 → 클러스터 확산
경로해석
docker.sock호스트 제어
호스트 마운트탈출
SA 토큰클러스터 API
파드 간확산

컨테이너 탈출 + 토큰 악용이 클러스터 확산의 지표입니다.

8. SOC 관제 포인트

  • 컨테이너·오케스트레이션은 탈출(호스트)·API 악용·파드 간 이동의 고유 측면 이동 경로를 가집니다.
  • docker.sock·특권 컨테이너·호스트 마운트가 탈출 경로, SA 토큰이 클러스터 API 경로입니다.
  • 컨테이너 탈출·토큰 악용·파드 간 확산을 감시합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
  <rule id="106220" level="13">
    <if_sid>106000</if_sid>
    <field name="audit.proctitle" type="pcre2">docker\.sock|--privileged|-v\s+/:/|serviceaccount/token</field>
    <description>컨테이너 탈출·오케스트레이터 토큰 악용(측면 이동)</description>
    <mitre><id>T1611</id><id>T1610</id></mitre>
  </rule>
</group>

쿠버네티스 감사 로그(API 서버)·컨테이너 런타임 로그와 상관해 파드·노드 간 확산을 포착합니다. 정상 오케스트레이션은 예외 처리합니다.

10. 대응 방법

  1. 초기 확인 — 컨테이너 탈출(docker.sock·특권·마운트)·SA 토큰 접근을 확인합니다.
  2. 범위 확인 — 호스트 장악·클러스터 API 악용·파드 간 확산을 확인합니다.
  3. 증거 확보 — 컨테이너·쿠버네티스 감사 로그와 확산 경로를 보존합니다.
  4. 차단/조치 — 컨테이너 측면 이동 정탐이면 파드 격리·토큰 폐기·노드 점검을 진행합니다.
  5. 재발 방지 — 컨테이너·오케스트레이션 측면 이동 탐지를 운영합니다.

11. 핵심 정리

경로악용
특권 컨테이너탈출
docker.sock호스트 제어
호스트 마운트/ 접근
SA 토큰클러스터 API
면접 포인트"컨테이너는 탈출→호스트→클러스터 — docker.sock·특권·SA 토큰이 경로"

12. 다음 편 예고

다음 편 324. 내부 확장·측면 이동 — 데이터베이스를 통한 측면 이동 탐지 에서는 데이터베이스를 통한 측면 이동을 다루는 데이터베이스를 통한 측면 이동 탐지를 다룹니다.


이전 편: 322. 내부 확장·측면 이동 — NFS·공유 디렉터리를 통한 확산 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글