
Função Azure em C# com um gatilho HTTP que gera trechos de PowerShell ofuscados que quebram ou desabilitam o AMSI para o processo atual.
Originalmente uma Função Azure em C# (mais tarde portada para JS) com um trigger HTTP que gera snippets PowerShell ofuscados que quebram ou desabilitam o AMSI para o processo atual. Os snippets são selecionados aleatoriamente de um pequeno conjunto de técnicas/variações antes de serem ofuscados. Cada snippet é ofuscado em tempo de execução/solicitação, de modo que nenhuma saída gerada compartilhe as mesmas assinaturas.
Confira https://amsi.fail/ para uma demonstração ao vivo e funcional!
Como a f-secure explicou em um de seus excelentes posts de blog:
AMSI é uma interface na qual aplicativos ou serviços (incluindo de terceiros) são capazes de escanear o conteúdo de um script em busca de uso malicioso. Se uma assinatura no script for registrada pelo provedor de serviço antimalware do AMSI (Windows Defender por padrão), ele será bloqueado. Para contextualizar, considere as seguintes etapas que o PowerShell segue para integrar com o AMSI:
Como o AMSI depende de ser carregado dentro do processo que executa o script real, técnicas para quebrar ou corrigir funções específicas dentro da amsi.dll são bem conhecidas.