Container Security Challenge
Six real docker run commands, each carrying a flag that hands an attacker the host. Click the dangerous ones, then see the actual escape path and what to grant instead. Covers the Docker socket, --privileged, host PID namespace, SYS_ADMIN and unconfined AppArmor, plus one command with nothing wrong with it.
Categoria: Security
O que você vai aprender
- Por que montar /var/run/docker.sock equivale a entregar root no host
- O que --privileged realmente concede, e os dois escapes que habilita
- Como --pid=host mais uma capability se combinam num escape completo de container
- Por que SYS_ADMIN chega perto de root, mesmo parecendo mais cuidadoso que --privileged
- Do que o perfil padrão do AppArmor está silenciosamente te protegendo
- Como é um comando docker run reforçado quando toda flag é deliberada
Tópicos abordados: security, docker, containers, escape, privileged, capabilities, hardening, interactive
// simulador
Container Security Challenge
Six real docker run commands, each carrying a flag that hands an attacker the host. Click the dangerous ones, then see the actual escape path and what to grant instead. Covers the Docker socket, --privileged, host PID namespace, SYS_ADMIN and unconfined AppArmor, plus one command with nothing wrong with it.
O runner de CI
Um container de build que precisa construir imagens. Todo tutorial de "docker in docker" sugere isso.
Clique em cada parte deste comando que permitiria um atacante alcançar o host.
Sobre este desafio de segurança de containers
O que você vai aprender
- Que a maioria dos escapes de container é uma flag, não um exploit de kernel
- Como o socket do Docker transforma qualquer container em root do host
- Por que duas flags individualmente sobreviváveis podem se combinar em algo bem pior
- O que conceder no lugar, para cada flag perigosa
- Que um container não é uma fronteira de segurança a menos que você a construa
Por que isso importa
O escaneamento de imagens recebe a atenção, mas um scanner nunca olha para como o container é executado. Cada cenário aqui é algo que as pessoas genuinamente publicam, geralmente porque um tutorial mandou, e cada um dá o host a um atacante sem precisar de um CVE.
O último cenário não tem nada de errado. Assumir que toda config está quebrada é seu próprio modo de falha.
Experimente também
// simulador
Fork Bomb Simulator
Visualize how the infamous :(){ :|:& };: fork bomb works. Watch processes multiply exponentially, exhaust system resources, and learn how to protect against it with ulimit, cgroups, and systemd.
// simulador
OAuth/OIDC Flow Simulator
Visualize OAuth 2.0 and OpenID Connect flows with an interactive simulator. Learn authorization code + PKCE, state, nonce, redirect URI checks, ID tokens, access tokens, refresh tokens, scopes, UserInfo, and common auth failure modes.
// simulador
SSL/TLS Handshake Simulator
Visualize how SSL/TLS handshakes work with certificate verification, key exchange, and cipher negotiation. Compare TLS 1.2 and 1.3 protocols.