Segurança na Empresa · Forense

Como diagnosticar se um servidor foi hackeado: guia técnico de forense e resposta a incidentes

Resposta rápida

Diagnosticar um servidor comprometido exige coletar evidências voláteis antes de qualquer ação corretiva, verificar processos, conexões de rede, contas e persistência em ordem padronizada. Um servidor hackeado raramente apresenta um único indicador: a confirmação vem da correlação entre anomalias de CPU, tráfego de rede suspeito, novas contas ou chaves SSH, binários alterados e logs apagados. Segundo o NIST SP 800-61r2, preservar evidências antes de conter o incidente é determinante para atribuição, remediação eficaz e conformidade legal.

A Decripte é uma empresa de cibersegurança que atende empresas de 1 a mais de 100.000 colaboradores — do diagnóstico à resposta a incidentes 24x7.

Sinais de alerta

  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]

Passo a passo

  1. 1

    1. Preserve evidências voláteis imediatamente

    Antes de qualquer outra ação, capture o estado da memória RAM (em Linux: 'sudo avml /mnt/evidencias/mem.lime' ou 'sudo dd if=/proc/kcore'; em Windows: WinPmem ou Magnet RAM Capture). Registre data/hora exata (UTC), hostname, uptime e lista de processos ativos. Nunca desligue nem reinicie o servidor sem essa captura — dados voláteis são perdidos permanentemente e podem conter chaves de criptografia, sessões ativas do atacante e IOCs críticos.

  2. 2

    2. Isole a máquina da rede sem desligá-la

    Remova cabos de rede ou aplique regras de firewall para bloquear todo tráfego de saída, exceto a conexão de gerenciamento que você está usando. Em Linux: 'iptables -I OUTPUT -j DROP' (exceto a sessão SSH ativa). Em Windows: desabilite adaptadores de rede via Device Manager ou aplique política de firewall. O isolamento impede exfiltração adicional de dados e comunicação do atacante com infraestrutura C2 (Command & Control), técnica T1071 no MITRE ATT&CK.

  3. 3

    3. Identifique processos e conexões anômalos

    Em Linux, execute: 'ps auxf' (árvore de processos), 'ss -tulnp' (portas abertas com PID), 'lsof -i' (arquivos de rede abertos), 'netstat -antp' (conexões estabelecidas). Procure processos com nomes genéricos (kworker, sysupdate, java) sem caminho legítimo, conexões para IPs externos em portas incomuns (4444, 8888, 31337) e processos rodando de /tmp, /var/tmp ou /dev/shm. Em Windows: use 'netstat -anob' no CMD como administrador e o Sysinternals Process Explorer para ver paths completos.

  4. 4

    4. Audite contas de usuário e chaves SSH

    Em Linux: 'cat /etc/passwd | grep -v nologin' (contas com shell), 'lastb' (tentativas de login falhas), 'last' (logins recentes), 'who' (sessões ativas), 'find /home /root -name authorized_keys -exec cat {} \;' (chaves SSH autorizadas). Procure contas criadas recentemente, UIDs 0 duplicados e chaves SSH desconhecidas — técnica T1098 (Account Manipulation) no MITRE ATT&CK. Em Windows: 'net user', 'net localgroup administrators' e verifique o Event ID 4720 (conta criada) no Event Viewer.

  5. 5

    5. Verifique persistência (cron, serviços, registro)

    Em Linux, cheque todos os mecanismos de persistência: 'crontab -l -u root', 'cat /etc/crontab', 'ls /etc/cron.*', 'systemctl list-units --state=failed', 'find /etc/systemd /usr/lib/systemd -name "*.service" -newer /boot' (serviços novos), 'ls -la /etc/rc.d/ /etc/init.d/' e perfis de shell ('/etc/profile.d/', '~/.bashrc', '~/.profile'). Em Windows: use Autoruns (Sysinternals) para inspecionar todos os pontos de inicialização, 'schtasks /query /fo LIST /v' para tarefas agendadas e verifique HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run no regedit.

  6. 6

    6. Verifique integridade de binários e arquivos suspeitos

    Em Linux: 'rpm -Va' (RPM-based) ou 'dpkg --verify' (Debian-based) para detectar binários alterados. Execute 'rkhunter --check' e 'chkrootkit' para rootkits conhecidos. Procure webshells com: 'find /var/www -name "*.php" -newer /etc/passwd -ls' e 'grep -r "eval(base64_decode" /var/www/'. Verifique arquivos SUID suspeitos: 'find / -perm -4000 -type f 2>/dev/null'. Em Windows, use o Defender Offline Scan e verifique arquivos modificados recentemente nas pastas do IIS ou Apache.

  7. 7

    7. Analise logs e detecte apagamento

    Em Linux: 'tail -500 /var/log/auth.log' (autenticação), '/var/log/secure' (Red Hat), '/var/log/syslog', 'ausearch -k authentication' (auditd). Verifique se logs foram truncados ('ls -la /var/log/'; arquivos com 0 bytes são alerta crítico) e busque gaps de tempo nos logs — técnica T1070 (Indicator Removal) no MITRE ATT&CK. Em Windows: Event Viewer > Security (Event ID 1102 = log de auditoria limpo, 4624/4625 = logins, 7045 = serviço novo instalado, 4698 = tarefa agendada criada).

  8. 8

    8. Confirme comprometimento e acione resposta formal

    Se dois ou mais indicadores forem confirmados, trate como incidente confirmado. Não tente limpar o servidor manualmente — a técnica correta, conforme NIST SP 800-61r2 e ISO/IEC 27035, é reprovisionar a partir de um snapshot limpo ou imagem de baseline verificada. Documente todos os IOCs encontrados (IPs, hashes, nomes de processo, domínios C2), notifique o responsável pelo incidente e, se houver dados pessoais envolvidos, avalie notificação à ANPD conforme LGPD Art. 48. Acione uma empresa de resposta a incidentes para forense independente e contenção especializada.

O que NÃO fazer

  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]

Por que servidores são hackeados: vetores mais comuns

A maioria das invasões de servidores começa por um número reduzido de vetores: exploração de vulnerabilidades conhecidas em serviços expostos (CVEs em Apache, Nginx, PHP, OpenSSH, RDP), credenciais fracas ou reutilizadas, injeção SQL e upload de arquivos maliciosos em aplicações web vulneráveis, e comprometimento da cadeia de suprimentos via dependências de software.

Segundo o framework MITRE ATT&CK, as técnicas de acesso inicial mais observadas em servidores incluem T1190 (Exploit Public-Facing Application), T1078 (Valid Accounts — uso de credenciais legítimas comprometidas) e T1133 (External Remote Services — VPN, RDP, SSH expostos). Servidores Linux são frequentemente alvo de campanhas de cryptojacking e botnets; servidores Windows são alvos preferenciais de ransomware e movimentação lateral via Active Directory.

O tempo médio entre comprometimento e detecção (MTTD — Mean Time to Detect) é de semanas a meses em ambientes sem monitoramento ativo. Um IDS/IPS, SIEM e baselines de comportamento reduzem drasticamente esse tempo e são a diferença entre um incidente contido e uma violação de dados em escala.

Diagnóstico em Linux: comandos essenciais para forense

O diagnóstico forense em Linux segue uma ordem de volatilidade decrescente, conforme recomendado pelo SANS Institute. Comece pelos dados mais voláteis: memória RAM, processos em execução, conexões de rede ativas, e sockets abertos. Nunca comece pelos logs em disco — eles são os menos voláteis e os primeiros a serem manipulados por atacantes.

Comandos fundamentais na fase de triagem: 'ps auxf' (árvore completa de processos com argumentos), 'ss -tulnp' (portas TCP/UDP abertas com PID), 'lsof -i' (todos arquivos de rede abertos), 'netstat -antp' (conexões com processos), 'who -a' e 'last -50' (sessões e logins recentes), 'cat /etc/passwd | awk -F: "$3==0"' (contas com UID 0), 'find / -mtime -3 -type f -not -path "/proc/*" 2>/dev/null' (arquivos modificados nos últimos 3 dias).

Para análise de persistência: 'crontab -l', 'cat /etc/crontab', 'ls /etc/cron.{d,daily,hourly,monthly,weekly}/', 'systemctl list-units --type=service', 'find /etc/systemd -name "*.service" -newer /etc/os-release'. Para integridade: 'rpm -Va 2>/dev/null | grep "^..5"' (hashes MD5 alterados em RPM-based) ou 'debsums -c 2>/dev/null' (Debian-based). Execute 'rkhunter --update && rkhunter --check' e 'chkrootkit' para rootkits conhecidos.

Avalie sua empresa de graça

Veja em minutos o que já está exposto do seu negócio.

O plano gratuito de Gestão de Ameaças da Decripte mapeia vulnerabilidades, monitora ameaças e mostra credenciais vazadas — sem cartão e sem equipe técnica.

Comece grátis agora

Diagnóstico em Windows: ferramentas nativas e Sysinternals

No Windows Server, o diagnóstico forense começa pelo Event Viewer (eventvwr.msc), focando no Security Log. Os Event IDs críticos para investigação de intrusão são: 4624 (login bem-sucedido — verifique Logon Type 3 para rede e Type 10 para RemoteInteractive/RDP), 4625 (falha de login — identify brute force), 4720 (conta criada), 4732/4728 (adição a grupo privilegiado), 7045 (serviço instalado), 4698 (tarefa agendada criada), 1102 (log de auditoria limpo) e 4688 (processo criado, requer política de auditoria habilitada).

Ferramentas essenciais: 'netstat -anob' no CMD como administrador (conexões com PID e nome do executável), Sysinternals Autoruns (todos os pontos de persistência do sistema em uma tela), Sysinternals Process Explorer (processos com paths completos, assinaturas digitais e VirusTotal lookup integrado), 'schtasks /query /fo LIST /v' (tarefas agendadas detalhadas), 'net user' e 'net localgroup Administrators' (contas locais e administradores).

Para análise de malware em Windows: verifique serviços com paths suspeitos ('sc query type= all state= all'), inspecione o registro em HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run e variantes, busque DLLs maliciosas com Process Explorer (coluna DLL path) e execute o Windows Defender Offline Scan para detecção sem interferência do malware ativo. O Microsoft Safety Scanner e o MSERT são úteis para varredura adicional em ambientes comprometidos.

Tipos de malware mais encontrados em servidores

Webshells são arquivos de script (PHP, ASPX, JSP, Python) plantados em servidores web que permitem execução remota de comandos via requisição HTTP. São praticamente invisíveis para usuários finais e frequentemente passam despercebidos por anos. Identifique-as buscando funções perigosas em arquivos recém-modificados: 'grep -rn "eval(base64_decode\|system(\|exec(\|passthru(\|shell_exec(" /var/www/ --include="*.php"'. Webshells são classificadas como técnica T1505.003 no MITRE ATT&CK.

Cryptominers (técnica T1496 — Resource Hijacking) são implantados para minerar criptomoedas usando a capacidade computacional da vítima, gerando custos de infraestrutura e degradação de performance sem destruição de dados. São detectados pelo alto uso de CPU, processos com nomes aleatórios ou que imitam processos do sistema, e conexões para pools de mineração conhecidos (pool.minexmr.com, xmrpool.eu, supportxmr.com).

Backdoors e RATs (Remote Access Trojans) estabelecem canais de comunicação persistentes com infraestrutura C2 do atacante. Podem operar em modo reverso (servidor inicia conexão de saída para evitar bloqueio de firewall), usar protocolos legítimos como HTTPS, DNS ou ICMP para tunelamento, e sobreviver a reinicializações via múltiplos mecanismos de persistência simultâneos. Em Linux, Diamorphine e Reptile são rootkits comuns; em Windows, Cobalt Strike Beacon e Meterpreter são ferramentas frequentemente encontradas em investigações forenses.

Preservação de evidências e cadeia de custódia

A preservação correta de evidências é o que separa uma resposta a incidentes profissional de uma simples limpeza. Segundo o NIST SP 800-86 (Guide to Integrating Forensic Techniques into Incident Response), evidências devem ser coletadas em ordem de volatilidade (RAM > processos > conexões > disco), com hash criptográfico (SHA-256) calculado imediatamente após cada coleta para garantir integridade.

Em Linux, crie um dump de memória com 'sudo avml /mnt/evidencias/mem.lime' ou use o módulo LiME (Linux Memory Extractor). Tire snapshots de disco antes de qualquer intervenção: 'sudo dd if=/dev/sda bs=64K conv=noerror,sync | gzip > /mnt/evidencias/disk_$(date +%Y%m%d_%H%M%S).img.gz'. Registre o hash: 'sha256sum /mnt/evidencias/disk_*.img.gz > /mnt/evidencias/hashes.txt'. Em Windows, use FTK Imager (gratuito) ou Magnet ACQUIRE para imagens forenses bit-a-bit.

A documentação da cadeia de custódia deve registrar: quem coletou, quando (data/hora UTC), de qual sistema (hostname, IP, número de série), qual ferramenta foi usada, onde as evidências foram armazenadas e quem teve acesso. Sem cadeia de custódia adequada, as evidências não têm validade jurídica e não podem ser usadas em processos judiciais, boletins de ocorrência ou notificações regulatórias à ANPD.

O que fazer após confirmar o comprometimento

Após confirmar o incidente, siga o processo estruturado do NIST SP 800-61r2: Contenção (isolar o sistema), Erradicação (eliminar a causa raiz), Recuperação (restaurar serviço com garantias) e Lições Aprendidas (pós-incidente). A contenção já foi feita com o isolamento de rede. A erradicação correta para servidores comprometidos é o reprovisionamento completo — nunca apenas a remoção do malware visível.

Reprovisionamento seguro: provisione um novo servidor a partir de uma imagem golden verificada, restaure dados de backup validado (anterior ao comprometimento), aplique todos os patches de segurança disponíveis antes de colocar em produção, altere todas as credenciais (senhas, chaves SSH, certificados, tokens de API) que tinham acesso ao servidor comprometido, e habilite monitoramento ativo (EDR, SIEM, auditd) antes de retornar ao ar.

Se dados pessoais de titulares foram ou podem ter sido comprometidos, a LGPD (Lei 13.709/2018) em seu Art. 48 exige notificação à ANPD e aos titulares afetados em prazo razoável — interpretado pelo regulador como 72 horas para a notificação inicial. Para empresas sujeitas a PCI-DSS (dados de cartão), SOC 2 ou ISO 27001, as obrigações de notificação e documentação são ainda mais específicas. Acione assessoria jurídica especializada em privacidade junto com a equipe de IR.

Termos importantes

IoC (Indicator of Compromise)
Artefato digital que indica com alta probabilidade que um sistema foi comprometido. IoCs incluem endereços IP e domínios associados a infraestrutura de atacantes, hashes criptográficos (MD5, SHA-256) de arquivos maliciosos, chaves de registro do Windows criadas por malware, nomes de processos e serviços associados a ferramentas de ataque conhecidas, e padrões de tráfego de rede característicos de comunicação C2. IoCs são compartilhados entre organizações via plataformas de Threat Intelligence como MISP, OTX (AlienVault) e feeds STIX/TAXII para detecção proativa em outros ambientes.
Backdoor
Mecanismo oculto instalado pelo atacante para manter acesso persistente ao sistema comprometido, independente das credenciais originais e de correções das vulnerabilidades que foram exploradas. Backdoors podem ser webshells, serviços de sistema adulterados, contas de usuário ocultas, módulos de kernel (rootkits), chaves SSH não autorizadas ou modificações em binários do sistema operacional. O objetivo é garantir que o atacante possa retornar ao sistema mesmo após a vítima detectar e tentar remediar o incidente, sem precisar re-explorar a vulnerabilidade inicial.
Persistência
Conjunto de técnicas usadas por atacantes para garantir que seu acesso ao sistema sobreviva a reinicializações, mudanças de credenciais e tentativas de remoção. No MITRE ATT&CK, a tática TA0003 (Persistence) agrupa dezenas de técnicas específicas para Linux e Windows. Mecanismos comuns incluem: tarefas agendadas (cron no Linux, Scheduled Tasks no Windows), serviços de sistema maliciosos, modificação de scripts de inicialização (rc.local, perfis de shell), chaves de registro do Windows (Run, RunOnce), DLL hijacking, e implantação de rootkits em nível de kernel. A identificação e eliminação de TODOS os mecanismos de persistência é fundamental para erradicação eficaz — deixar um único backdoor ativo torna o servidor vulnerável ao mesmo atacante.
Cryptojacking
Ataque em que o servidor da vítima é usado secretamente para minerar criptomoedas (geralmente Monero/XMR, por ser resistente a rastreamento) em benefício do atacante. O sinal mais óbvio é uso anormalmente alto de CPU (frequentemente 70–100%) sem carga de trabalho justificada. Além do consumo de processamento, o cryptojacking aumenta custos de eletricidade e infraestrutura cloud, degrada a performance de aplicações legítimas e pode causar falhas de hardware por superaquecimento. É classificado como técnica T1496 (Resource Hijacking) no MITRE ATT&CK e é um dos tipos de ataque mais prevalentes em servidores Linux expostos à internet sem monitoramento ativo.

Perguntas frequentes

Qual é o primeiro passo ao suspeitar que um servidor foi hackeado?

O primeiro passo é capturar evidências voláteis — especialmente a memória RAM — antes de qualquer outra ação. Reiniciar ou desligar o servidor apaga dados críticos para a investigação. Em Linux, use 'avml' ou 'dd' para dump de memória; em Windows, use Magnet RAM Capture ou WinPmem. Em seguida, isole o servidor da rede para impedir exfiltração adicional e comunicação com infraestrutura C2 do atacante.

Como saber se um servidor Linux foi comprometido sem ferramentas externas?

Com ferramentas nativas do próprio sistema operacional: 'ps auxf' para ver todos os processos e sua hierarquia, 'ss -tulnp' para portas abertas com PID, 'last' e 'lastb' para histórico de logins, 'cat /etc/passwd' para verificar contas com shell, 'find /tmp /var/tmp /dev/shm -type f -executable' para binários suspeitos, e 'crontab -l' para tarefas agendadas não autorizadas. Qualquer anomalia nesses dados é motivo para investigação aprofundada.

Devo reinstalar o servidor ou posso apenas remover o malware?

Sempre reprovisione o servidor a partir de uma imagem limpa e verificada. Remover apenas o malware visível é inseguro porque atacantes profissionais implantam múltiplos mecanismos de persistência, backdoors ocultos em módulos do kernel (rootkits) e podem ter alterado binários do sistema de forma imperceptível. O NIST SP 800-61r2 é explícito: a erradicação confiável em sistemas comprometidos requer reprovisionamento completo, não limpeza manual.

Como identificar uma webshell em um servidor web?

Busque arquivos de script modificados recentemente nas pastas públicas do servidor web com funções de execução de comandos. Em Linux com PHP: 'find /var/www -name "*.php" -newer /etc/passwd -ls' para arquivos recentes, e 'grep -rn "eval(base64_decode\|system(\|exec(\|passthru(" /var/www/' para funções perigosas. Webshells frequentemente têm nomes que imitam arquivos legítimos (wp-config.php.bak, .htaccess.php, admin_old.php) e podem estar ofuscadas com base64 ou XOR para evitar detecção por strings simples.

O que é MITRE ATT&CK e por que é relevante para diagnóstico de servidores?

MITRE ATT&CK é um framework de conhecimento globalmente reconhecido que cataloga táticas, técnicas e procedimentos (TTPs) usados por atacantes reais em ambientes de produção. Para diagnóstico de servidores, é relevante porque permite mapear cada indicador encontrado a uma técnica específica — por exemplo, T1136 (Create Account), T1053 (Scheduled Task/Job), T1070 (Indicator Removal), T1505.003 (Web Shell). Esse mapeamento orienta a investigação, ajuda a prever o que mais o atacante pode ter feito e padroniza a comunicação com stakeholders técnicos e executivos.

Quando devo notificar a ANPD sobre um servidor hackeado?

A LGPD (Art. 48) exige notificação à ANPD quando há incidente de segurança que possa acarretar risco ou dano relevante aos titulares de dados pessoais. O prazo regulatório interpretado pela ANPD é de até 72 horas para a notificação inicial após a ciência do incidente. Devem ser notificados: o tipo de dados afetados, número estimado de titulares, medidas de contenção adotadas e contato do DPO (Data Protection Officer). Servidores que processam dados pessoais de clientes, colaboradores ou parceiros estão sujeitos a essa obrigação.

Qual a diferença entre um incidente e uma investigação no contexto de resposta a incidentes?

Um incidente é um evento isolado de segurança confirmado — um servidor comprometido, uma conta invadida, um malware detectado. Uma investigação é um processo de correlação cruzada que busca o escopo completo do comprometimento: quais outros sistemas foram afetados, qual foi o vetor inicial, há quanto tempo o atacante está na rede, quais dados foram acessados ou exfiltrados. A investigação forense transforma dados de múltiplos incidentes em inteligência acionável, identificando a campanha completa do atacante e não apenas um ponto de comprometimento.

Segurança para empresas

A Decripte protege empresas de todos os tamanhos — do MEI ao Enterprise.

Plataforma e serviços completos: gestão de ameaças, SOC 24x7, resposta a incidentes, pentest e conformidade. Comece de graça e veja o que já vazou do seu negócio.