# Namespaces

## 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

<figure><img src="/files/PAGedPdnn2TFyTSnngRa" alt=""><figcaption></figcaption></figure>

## Defense

```
# Primeiro vamos parar o docker
sudo systemctl stop docker

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

<figure><img src="/files/rFSMLWE5fdsRR8FUA1UH" alt=""><figcaption></figcaption></figure>

## 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vida03.gitbook.io/redteam/docker/namespaces.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
