🥷
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
  • Implementation
  • Conclusão
  1. Docker
  2. Defenses

SecComp

PreviousAppArmorNextCapabilities

Last updated 2 years ago

Apresentação

seccomp é um módulo de segurança do linux que permite restringir as syscalls que podem ser executadas

SecComp pode ser usado para o host linux também, assim como podemos implementar ele no nosso contêiner

Implementation

O seccomp é similar ao , porém ele restringe certas syscalls de serem executadas, você pode ver como os arquivos de configuração são criados

{
        "defaultAction": "SCMP_ACT_ALLOW",
        "architectures": [
                "SCMP_ARCH_X86_64",
                "SCMP_ARCH_X86",
                "SCMP_ARCH_X32"
        ],
        "syscalls": [
                {
                        "name": "chmod",
                        "action": "SCMP_ACT_ERRNO",
                        "args": []
                }

        ]
}

Esse arquivo que usei para exemplo não permite a chamada da syscall chmod, podemos executar o contêiner com o seccomp usando o seguinte comando

docker run --rm -it --security-opt seccomp=<SECCOMP_PROFILE.json> <IMAGE_NAME> sh

Se usarmos a opção --privileged a flag security-opt será ignorada, ignorando assim as regras aplicadas

Conclusão

Conseguimos com o auxilío de módulos de segurança do kernel do linux implementar mais segurança para o nosso contêiner, utilizando regras para permitir certas execuções no contêiner.

Mas de nada adianta se usarmos a flag --privileged

🐳
🛡️
apparmor
aqui