Cibersegurança e segurança da informação

PowerShell Logging: Como identificar atividade suspeita

7 min de leituraPublicado: 5 de agosto de 2026
Ilustração visual profissional sobre PowerShell Logging na área de Windows e Identidade
Resposta rápida

O PowerShell Logging exige a leitura do evento completo e não apenas do Event ID: tempo, computador, utilizador, Logon ID, processo, origem da rede e contexto organizacional. A conclusão é formada pela correlação de várias fontes.

A investigação de Windows e Identidade baseia-se numa combinação de eventos de autenticação, criação de processos, alterações de permissões, telemetria Sysmon e contexto organizacional. Um único evento raramente fornece uma conclusão completa. Este artigo foca-se no PowerShell Logging e destina-se a analistas SOC e investigadores de Windows. O objetivo é fornecer um método de trabalho que pode ser aplicado na prática, numa entrevista profissional e num ambiente de trabalho, sem se contentar com uma definição de dicionário.

O principal desafio é que os dados são quase sempre parciais. O Event 4104 Script Block Logging, o Event 4103 Module Logging e o canal operacional podem indicar uma direção, mas o seu significado depende do tempo, do ativo, do utilizador e da atividade esperada. Por isso, construiremos a investigação em torno de uma questão de investigação, provas necessárias e um critério claro para a conclusão.

O cenário prático neste artigo é: investigar um script simulado que descarrega um ficheiro num laboratório. Todos os exemplos são dados de laboratório ou descrições processuais. Ao lidar com Penetration Testing, Web ou Cloud, deve trabalhar apenas com aprovação explícita, um Scope definido e a capacidade de interromper o teste.

Registo Operacional do PowerShell

O tópico 'Registo Operacional do PowerShell' é uma parte central do trabalho sobre PowerShell Logging. É recomendado dividi-lo em três perguntas: qual é a entrada, que decisão se quer tomar e que evidência é suficiente para a justificar. Estas perguntas impedem o uso automático de uma ferramenta sem entender o objetivo.

Na prática, anote o Event 4104 Script Block Logging, o Event 4103 Module Logging, o canal operacional, a linha de comando e o processo pai, o contexto AMSI/EDR, compare com o comportamento esperado e defina pelo menos um Pivot. O resultado deve ser verificável por outro analista, incluindo limitações e próximos passos.

Script Block e Registo de Módulos

Nesta fase, define-se quais as provas necessárias para responder à questão de investigação. Para o PowerShell Logging, os pontos base são o Event ID e o Provider, o Computador, o Utilizador e o Logon ID, o Processo, o Pai e a Linha de Comando, o IP de Origem, a Estação de Trabalho e o Tipo de Logon. Para cada fonte, são registados o proprietário, o período de retenção, o fuso horário, o atraso de ingestão e os campos que podem estar em falta.

A qualidade da recolha não é medida pelo facto de o registo 'chegar'. É necessário verificar a Completude, a Latência, a Análise, os Eventos Duplicados e a Sincronização de Tempo. Um teste Canary ou um evento de laboratório conhecido permite verificar se a ação apareceu na origem, passou pelo Pipeline e pode ser pesquisada nos campos corretos.

Transcrição e 4688/Sysmon

O tópico 'Transcrição e 4688/Sysmon' é uma parte central do trabalho sobre PowerShell Logging. É recomendado dividi-lo em três perguntas: qual é a entrada, que decisão se quer tomar e que evidência é suficiente para a justificar. Estas perguntas impedem o uso automático de uma ferramenta sem entender o objetivo.

Na prática, anote o Event 4104 Script Block Logging, o Event 4103 Module Logging, o canal operacional, a linha de comando e o processo pai, o contexto AMSI/EDR, compare com o comportamento esperado e defina pelo menos um Pivot. O resultado deve ser verificável por outro analista, incluindo limitações e próximos passos.

Padrões de Investigação

A investigação de PowerShell Logging começa com a formulação de uma Hipótese: que comportamento explica a descoberta, e que provas a confirmarão ou refutarão. Em seguida, expande-se a janela de tempo, verificam-se as entidades e procura-se uma sequência antes e depois do evento.

Uma boa correlação combina pelo menos dois tipos de informação de Event 4104 Script Block Logging, Event 4103 Module Logging, canal operacional, linha de comando e processo pai, contexto AMSI/EDR. Para cada descoberta, indica-se o que ela prova, o que não prova e qual é o próximo passo. Se os dados forem insuficientes, marca-se como Desconhecido e não se transforma a ausência de provas em prova de ausência.

Otimização para atividade de administrador

A melhoria do PowerShell Logging deve começar com um Baseline. Medem-se o volume, a taxa de casos úteis, o tempo de investigação, as fontes em falta e a razão para o fecho. Uma alteração que reduz os Alertas, mas oculta a atividade real, não é um sucesso.

As opções de Otimização incluem limiar, janela de tempo, Allowlist direcionada, Contexto do ativo, Supressão e exceção baseada num processo aprovado. Cada exceção deve ter um proprietário, validade e condições de cancelamento. Após a alteração, executa-se um Test corpus e compara-se antes/depois.

Focos de Teste Exclusivos

Neste tópico, é recomendável construir antecipadamente um mapa de evidências focado. Os principais pontos de verificação são: Event 4104 Script Block Logging, Event 4103 Module Logging, canal operacional, linha de comando e processo pai, contexto AMSI/EDR. A lista não é uma Checklist automática; cada item é selecionado porque pode ligar uma entidade, ação e tempo, ou explicar um comportamento legítimo.

  • Event 4104 Script Block Logging: Defina qual o valor esperado, o que será considerado uma exceção e qual a fonte adicional que verificará a descoberta.
  • Event 4103 Module Logging: Defina qual o valor esperado, o que será considerado uma exceção e qual a fonte adicional que verificará a descoberta.
  • Canal operacional: Defina qual o valor esperado, o que será considerado uma exceção e qual a fonte adicional que verificará a descoberta.
  • Linha de comando e processo pai: Defina qual o valor esperado, o que será considerado uma exceção e qual a fonte adicional que verificará a descoberta.
  • Contexto AMSI/EDR: Defina qual o valor esperado, o que será considerado uma exceção e qual a fonte adicional que verificará a descoberta.

Quando um dos focos não está disponível, deve-se documentar a lacuna e escolher uma alternativa. Por exemplo, se o identificador de Processo não for estável, pode-se usar o tempo, Host, Utilizador e Pai; se o Payload estiver encriptado, usam-se Metadados, volume, frequência e contexto TLS/DNS.

Processo de Trabalho Recomendado

  1. Defina o Scope e uma questão de trabalho sobre PowerShell Logging.
  2. Registe as fontes de dados e as provas necessárias: Event 4104 Script Block Logging, Event 4103 Module Logging, canal operacional, linha de comando e processo pai.
  3. Crie uma Baseline curta de comportamento normal ou resultado esperado.
  4. Realize o teste mínimo num ambiente de laboratório e guarde o tempo, a entrada e a saída.
  5. Crie uma Timeline ou tabela de comparação e separe facto de interpretação.
  6. Faça um Pivot para uma fonte adicional para confirmar ou refutar a explicação inicial.
  7. Resuma a decisão, as limitações, a ação recomendada e o critério de Retest.

Cenário Prático

O cenário escolhido é a investigação de um script simulado que descarrega um ficheiro num laboratório. O objetivo do exercício não é provar a capacidade de ataque, mas sim praticar a recolha, comparação e documentação de forma segura. Antes de iniciar o trabalho, definem-se dados simulados, uma janela de tempo e um resultado esperado.

No final do exercício, deve ser apresentado um produto que outro analista ou avaliador possa criticar: uma captura de ecrã ou exportação da evidência, uma Timeline curta, uma suposição inicial, uma evidência de confirmação, uma limitação e uma recomendação. Quando não há evidência suficiente, a conclusão correta é que o cenário não foi provado.

EtapaO que é executadoProduto
PreparaçãoDefina Scope, tempo e objetivo. Registe quais campos ou evidências de Event 4104 Script Block Logging, Event 4103 Module Logging, canal operacional são esperados.Plano de teste curto
Criação de dadosExecute uma ação segura e simulada relacionada com PowerShell Logging, sem informações reais ou impacto num sistema de produção.Evento/Pedido/Fluxo controlado
RecolhaRecolha a evidência bruta e o contexto de uma fonte adicional. Verifique o Time zone, identificadores e integridade.Duas evidências ligadas
AnáliseEscreva o que cada evidência prova, o que não prova e qual a explicação legítima possível.Conclusão intermédia
ConclusãoEscolha fecho, escalada, Descoberta ou Otimização; adicione recomendação e Retest.Produto documentado

Checklist Prático

  • Verificar e documentar: Event ID e o Provider.
  • Verificar e documentar: Computador, Utilizador e Logon ID.
  • Verificar e documentar: Processo, Pai e Linha de Comando.
  • Verificar e documentar: IP de Origem, Estação de Trabalho e Tipo de Logon.
  • Verificar e documentar: Alterações de Grupo/Privilégios.
  • Verificar e documentar: Sysmon ProcessGuid ou SessionGuid.
  • Indicar Time zone, versão da ferramenta e hora da recolha.
  • Guardar os dados brutos antes da filtragem ou alteração.
  • Escrever o que a descoberta prova e o que ainda é desconhecido.
  • Definir proprietário e ação de acompanhamento com prazo.

Erros Comuns

  • Confiar apenas no Event ID sem os campos.
  • Confundir Logon com a fonte do ataque.
  • Ignorar o Tipo de Logon.
  • Ligar Processos apenas por PID.
  • Assumir que todo o PowerShell é malicioso.
  • Fechar um evento sem verificar o Domain Controller.

Resumo e CTA

PowerShell Logging: Como identificar atividade suspeita é um tema que combina conhecimento técnico com disciplina de trabalho. Comece com uma pergunta, recolha apenas evidências relevantes, mantenha o contexto e o tempo, e escolha uma ação que possa ser justificada e verificada novamente.

No programa Cybersecurity & AI da HPI, estes princípios são praticados através de sistemas, registos e laboratórios. O próximo passo natural é passar para os artigos relacionados, realizar o exercício de laboratório e guardar o produto como parte de um portfólio profissional.

Perguntas frequentes

O PowerShell Logging por si só prova um ataque ou uma vulnerabilidade?

Não. Ele fornece um sinal ou uma descoberta que precisa de contexto, verificação e uma fonte adicional. Uma conclusão profissional baseia-se numa sequência de evidências e na correspondência com o comportamento esperado.

O que fazer quando faltam alguns dados?

Documente o que falta, verifique uma fonte alternativa e reduza o nível de confiança. Não preencha campos por suposição nem apresente Desconhecido como correto.

Por quanto tempo as evidências devem ser mantidas?

O tempo depende da política, regulamentação, custo e tipo de evento. É importante definir antecipadamente a Retenção, Legal hold e a capacidade de exportar evidências num formato verificável.

Como praticar sem comprometer um sistema real?

Use máquinas virtuais, dados simulados, CTF ou um laboratório dedicado. Em testes autorizados, defina o Scope, as condições de interrupção e um backup antes de iniciar o trabalho.

Quer verificar se este percurso é para si?

Deixe os seus dados e um consultor da HPI ligará para uma breve conversa de adequação, sem compromisso.

Os seus dados são armazenados em segurança.

Para estudos de SOC e cibersegurança no programa Cybersecurity & AI

Quer os detalhes do programa? Deixe os seus dados e entraremos em contacto.

Artigos relacionados