🥷
Red Team Articles
Linktree
  • ⚙️Binary Exploitation
    • PWN com 1 byte
    • GOT e PLT
    • Hook na GOT
  • 🌐Web
    • Mysql Case Sensitive Problems
    • Ruby: regex authentication bypass
    • CVE-2023-38964
  • 📲Mobile
    • 🍎iOS Pentest
      • 🤖How to use Frida on iOS 17 without Jailbreak
      • 💻Setup Lab
      • 📦Insecure Data Storage
        • Dump keychain datas
      • 🔙Server Side Vulnerabilities
        • Setup Proxy
        • Pentest on Server Side
      • ⚙️Client Side Vulnerabilities
        • Account theft
        • Insecure Logging
      • 🖱️Pasteboard & Clipboard
    • 🤖Android Pentest
      • AB - Android Backup
  • 🐳Docker
    • 🚪Backdooring docker container
    • 🪜Docker breakout
      • docker.sock
      • privileged flag
      • environments
    • 🏎️Docker assessment
      • Assessment with trivy
      • Assessment with docker bench security
    • 🛡️Defenses
      • AppArmor
      • SecComp
      • Capabilities
      • Docker content trust
    • 📖Namespaces
  • 🖥️SSH Tricks
  • Network
    • VPN WireGuard com pfSense + RestAPI
Powered by GitBook
On this page
  • Apresentação
  • Attack
  • Defense
  • Conclusão
  1. Docker

Namespaces

PreviousDocker content trustNextSSH Tricks

Last updated 2 years ago

Apresentação

O docker utiliza namespaces para providenciar a isolação dos contêiners entre os hosts, algum deles:

  • PID namespace para isolamento de processo

  • NET namespace para gerenciamento de interfaces de internet

  • IPC namespace para gerenciamento de acesso a recursos IPC

  • MNT namespace para gerenciamento de montagem de filesystems

  • UTS namespace para isolamento de kernel

  • User ID(user) namespace para isolamento de privilégios

Iremos falar sobre o namespace User ID, como podemos mapear toda a raiz do host e como podemos defender desse ataque

Attack

O usuário precisa apenas estar no grupo docker, para poder rodar o docker, com isso ele consegue acesso root ao sistema mapeando o diretório raiz para um diretório dentro do contêiner

Defense

# Primeiro vamos parar o docker
sudo systemctl stop docker

# Agora vamos configurar corretamente o namespace user
sudo dockerd --userns-remap=default &

Conclusão

É muito usuários com menos privilégio terem permissão para executar o docker, e se o namespace do user não estiver mapeado para default, o usuário consegueria acesso ao diretório root no sistema

🐳
📖