> For the complete documentation index, see [llms.txt](https://stacked-rwx.gitbook.io/public/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stacked-rwx.gitbook.io/public/container-hacking/clipboard-based-binary-injection.md).

# Clipboard-Based Binary Injection

Basicamente é uma técnica que permite você copiar o conteúdo do binário, encodar para base64 e dentro de um ambiente, como um docker, você cola esse base64 e decoda ao mesmo tempo para montar o binário.

❗️ Essa técnica é útil em ambientes onde:

➡️ Containers Docker restritos:

```
- Containers minimalistas (Alpine, BusyBox, etc.) que não têm curl, wget, nem volumes montados.

- Ambientes onde o docker cp está desativado ou monitorado.

- Durante análises forenses ou ataques onde você não quer deixar rastros de download (isso evita logs de rede).
```

➡️ Ambientes com restrição de redes:

```
- Sem saída HTTP, DNS ou FTP (acesso a rede externa bloqueado).
```

Claro que existem algumas limitações, por exemplo: o clipboard monitoring pode capturar o base64 em ambientes corporativos com DLPs (Data Loss Prevention).

Além disso, a transferência pode ser muito lenta dependendo do tamanho do arquivo (isso acontece por limitação de buffers no terminal ou clipboard).

E um aviso rápido! A minha recomendação é usar os binários do static-binaries, no github. Muitas vezes você pode se deparar com problemas de dependências ao transferir o binário da sua própria máquina para o docker.

<figure><img src="/files/3vtFSsWjhF7QXo2OrRrG" alt=""><figcaption></figcaption></figure>

Repositório: <https://github.com/andrew-d/static-binaries/>

Segue abaixo a trick:

**Convertendo o conteúdo do binário para base64 e copiando usando xclip:**

Cmd: `base64 nmap | xclip -sel clip`

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

**Colando dentro do docker:**

Cmd: `base64 -d > nmap <<< " APERTE CTRL + SHIFT + V ou COLE COM O BOTÃO DIREITO DO MOUSE"`

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

(Essa parte demora um pouco dependendo do tamanho do conteúdo do binário. Keep Calm!)

**Após isso, dê permissão de escrita/execução usando o chmod:**

Cmd: `chmod +x bin`

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