Patch AMSI


Posted Set 11, 2024. 1 min read


Patch AMSI

Abordei o assunto de como realizar o patch no amsi.dll no post Patch-Amsi e utilizei esse patch em outro post In-Memory-Execution.

Código "novo"

Bom, a única coisa que fiz foi aplicar o patch sem precisar executar nada no PowerShell.

Você pode encontrar o código aqui: GitHub.

Como funciona:

  1. 1 Localiza o processo powershell.exe e obtém seu ID.
  2. 2 Carrega a biblioteca amsi.dll e encontra a função AmsiScanBuffer.
  3. 3 Calcula o endereço do AmsiScanBuffer + 0x95 para chegar no endereço necessário da função para aplicar o patch.
  4. 4 Modifica as permissões de memória para permitir a escrita e altera um byte (de 0x74 para 0x75), conseguindo assim "desativar" a verificação de segurança do AMSI.
  5. 5 Restaura as permissões de memória e finaliza.

Demonstração