Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Um dos tipos de ataque mais comuns é a criação de um processo malicioso dentro de uma árvore de processos aparentemente benignos. Um caminho suspeito para o arquivo executável pode gerar desconfiança: frequentemente, o malware utiliza pastas AppData ou Temp, o que não é típico de programas legítimos. Vale a pena mencionar que algumas utilidades de atualização automática são executadas em AppData, portanto, apenas verificar o local de execução não é suficiente para afirmar que um programa é malicioso.

Outro fator de legitimidade é a assinatura criptográfica: muitos programas originais são assinados pelo fornecedor. A ausência de assinatura pode ser utilizada como um método para identificar elementos suspeitos de inicialização automática. Mas, mais uma vez, existem malwares que usam certificados roubados para se assinar.

Também é possível verificar o valor dos hash criptográficos MD5 ou SHA256, que podem corresponder a alguns programas maliciosos já detectados. É possível realizar uma análise estática, examinando as assinaturas do programa (com regras Yara ou produtos antivírus). Além disso, existe a análise dinâmica (executar o programa em um ambiente seguro e monitorar seu comportamento) e a engenharia reversa.

Podem haver muitos sinais de um processo malicioso. Neste artigo, iremos mostrar como habilitar a auditoria dos eventos relevantes no Windows e analisar os sinais que a regra incorporada utiliza. InTrust para identificar um processo suspeito. O InTrust é uma plataforma CLM para coletar, analisar e armazenar dados não estruturados, que já possui centenas de reações pré-configuradas para diversos tipos de ataque.

Ao iniciar um programa, ele é carregado na memória do computador. O arquivo executável contém instruções de computador e bibliotecas auxiliares (por exemplo, *.dll). Quando o processo já está em execução, ele pode criar threads adicionais. As threads permitem que o processo execute diferentes conjuntos de instruções simultaneamente. Existem várias maneiras pelas quais o código malicioso pode penetrar na memória e ser iniciado; vamos examinar algumas delas.

A maneira mais simples de iniciar um processo malicioso é fazer com que o usuário o inicie diretamente (por exemplo, a partir de um anexo de e-mail) e, em seguida, utilizar a chave RunOnce para executá-lo a cada inicialização do computador. Isso também se aplica a malwares 'sem arquivos', que armazenam scripts do PowerShell em chaves do registro, que são executados com base em um gatilho. Neste caso, o script do PowerShell é o código malicioso.

O problema com a execução explícita de software malicioso é que é uma abordagem conhecida, que é facilmente detectável. Alguns malwares tomam medidas mais sutis, por exemplo, usando outro processo para começar a ser executado na memória. Consequentemente, o processo pode criar outro processo, iniciando uma instrução de computador específica e indicando um arquivo executável (.exe) para ser executado.

O arquivo pode ser especificado utilizando o caminho completo (por exemplo, C:Windowssystem32cmd.exe) ou um caminho parcial (por exemplo, cmd.exe). Se o processo de origem não for seguro, ele permitirá a execução de programas ilegítimos. Um ataque pode ocorrer da seguinte forma: o processo inicia cmd.exe sem especificar o caminho completo, e o invasor coloca seu próprio cmd.exe em um local onde o processo o iniciará antes do legítimo. Após a execução do programa malicioso, ele pode, por sua vez, iniciar um programa legítimo (por exemplo, C:Windowssystem32cmd.exe), para que o programa original continue funcionando corretamente.

Uma variante do ataque anterior é a injeção de DLL em um processo legítimo. Quando um processo é iniciado, ele encontra e carrega bibliotecas que ampliam suas funcionalidades. Usando a injeção de DLL, o invasor cria uma biblioteca maliciosa com o mesmo nome e API que a biblioteca legítima. O programa carrega a biblioteca maliciosa, que, por sua vez, carrega a legítima e, conforme necessário, chama-a para realizar operações. A biblioteca maliciosa começa a atuar como um proxy para a boa biblioteca.

Outra forma de injetar código malicioso na memória é inseri-lo em um processo inseguro que já está em execução. Os processos recebem dados de várias fontes – lendo da rede ou de arquivos. Normalmente, eles realizam uma verificação para garantir a legitimidade dos dados de entrada. Porém, alguns processos não têm a devida proteção ao executar instruções. Em tal ataque, não há biblioteca no disco ou arquivo executável com código malicioso. Tudo é mantido na memória junto com o processo explorado.

Agora, vamos entender o método de ativação do registro dessas ocorrências no Windows e com a regra na InTrust, que implementa proteção contra essas ameaças. Para começar, vamos ativá-lo através do console de gerenciamento do InTrust.

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

A regra usa as capacidades de rastreamento de processos do sistema operacional Windows. Infelizmente, ativar o registro de tais eventos não é tão óbvio. É necessário alterar 3 configurações diferentes da política de grupo:

Configuração do Computador > Políticas > Configurações do Windows > Configurações de Segurança > Políticas Locais > Política de Auditoria > Auditoria de rastreamento de processos

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Configuração do Computador > Políticas > Configurações do Windows > Configurações de Segurança > Configuração Avançada de Política de Auditoria > Políticas de Auditoria > Rastreio Detalhado > Auditoria de criação de processos

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Configuração do Computador > Políticas > Modelos Administrativos > Sistema > Criação de Auditoria de Processos > Incluir linha de comando nos eventos de criação de processos

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Após a ativação, as regras do InTrust permitem detectar ameaças desconhecidas que demonstram comportamento suspeito. Por exemplo, é possível identificar o que está descrito aqui o malware Dridex. Por meio do projeto HP Bromium, sabemos como essa ameaça opera.

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Na sua cadeia de ações, o Dridex utiliza o schtasks.exe para criar uma tarefa agendada. O uso dessa utilidade a partir da linha de comando é considerado um comportamento bastante suspeito, semelhante ao lançamento do svchost.exe com parâmetros que indicam pastas de usuários ou com parâmetros parecidos com os comandos “net view” ou “whoami”. Aqui está um trecho da correspondente regra SIGMA:

detecção:
    seleção1:
        LinhaDeComando: '*svchost.exe C:Users\*Desktop\*'
    seleção2:
        ImagemPai: '*svchost.exe*'
        LinhaDeComando:
            - '*whoami.exe /all'
            - '*net.exe view'
    condição: 1 deles

No InTrust, todo comportamento suspeito é incluído em uma única regra, porque a maioria dessas ações não é específica para uma ameaça particular, mas sim é suspeita em conjunto e em 99% dos casos é usada para fins não muito nobres. Esta lista de ações inclui, mas não se limita a:

  • Processos executando de locais incomuns, como pastas temporárias de usuário.
  • Um processo do sistema bem conhecido com herança suspeita — algumas ameaças podem tentar usar o nome de processos de sistema para permanecerem despercebidas.
  • Execuções suspeitas de ferramentas administrativas, como cmd ou PsExec, quando utilizam credenciais do sistema local ou herança suspeita.
  • Operações suspeitas de cópia sombra — um comportamento comum de ransomware antes da criptografia do sistema, eles eliminam backups:

    — Através do vssadmin.exe;
    — Através do WMI.

  • Dumps de registro de inteiras ramificações do registro.
  • Movimentação lateral de código malicioso ao executar processos remotamente usando comandos como at.exe.
  • Operações locais de grupos suspeitos e operações de domínio usando net.exe.
  • Operações suspeitas de firewall usando netsh.exe.
  • Manipulações suspeitas de ACL.
  • Uso de BITS para exfiltração de dados.
  • Manipulações suspeitas de WMI.
  • Comandos de script suspeitos.
  • Tentativas de despejar arquivos de sistema seguros.

A regra unificada funciona muito bem para detectar ameaças como RUYK, LockerGoga e outros ransomwares, malware e kits de ferramentas para crimes cibernéticos. A regra foi verificada pelo fornecedor em ambientes de produção para minimizar falsos positivos. E graças ao projeto SIGMA, a maioria desses indicadores produz um número mínimo de eventos ruídosos.

Como no InTrust essa é uma regra de monitoramento, você pode executar um script de resposta como reação a uma ameaça. Você pode usar um dos scripts integrados ou criar o seu próprio, e o InTrust o distribuirá automaticamente.

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

Além disso, é possível verificar toda a telemetria relacionada ao evento: scripts PowerShell, execução de processos, manipulação de tarefas agendadas, atividade administrativa do WMI e usá-los para análises pós-morte em incidentes de segurança.

Ativando a coleta de eventos sobre o início de processos suspeitos no Windows e identificando ameaças com o Quest InTrust

No InTrust, existem centenas de outras regras, algumas delas:

  • Detecção de ataque por downgrade do PowerShell — quando alguém usa proativamente uma versão mais antiga do PowerShell, pois essa versão não possui a capacidade de auditar o que está acontecendo.
  • Detecção de logins com alto nível de privilégios — quando contas que são membros de um determinado grupo privilegiado (como administradores de domínio) fazem login interativamente em estações de trabalho, acidentalmente ou devido a incidentes de segurança.

O InTrust permite a utilização das melhores práticas de segurança na forma de regras de detecção e resposta pré-configuradas. E se você achar que algo deve funcionar de forma diferente — é possível fazer uma cópia da regra e configurá-la como desejar. Você pode enviar um pedido para realizar um piloto ou obter distribuições com licenças temporárias através da formulário de contato em nosso site.

Siga a nossa página no Facebook, onde publicamos notas curtas e links interessantes.

Leia nossos outros artigos sobre segurança da informação:

Como o InTrust pode ajudar a diminuir a frequência de tentativas de autenticações malsucedidas via RDP

Identificando um ataque de ransomware, obtendo acesso ao controlador de domínio e tentando combater esses ataques

O que pode ser útil extrair dos logs de estações de trabalho baseadas em Windows. (artigo popular)

Monitoramento do ciclo de vida dos usuários sem alicates e fita adesiva

E quem fez isso? Automatizando a auditoria de segurança da informação

Como reduzir o custo de propriedade de um sistema SIEM e por que a Gestão Central de Logs (CLM) é necessária

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster