
현재 프로세스에 대해 난독화된 PowerShell 스니펫을 생성하여 AMSI를 차단하거나 비활성화하는 HTTP 트리거가 포함된 C# Azure Function
원래는 C# Azure Function (나중에 JS로 포팅됨)이며, HTTP 트리거를 사용하여 현재 프로세스의 AMSI를 깨거나 비활성화하는 난독화된 PowerShell 스니펫을 생성합니다. 스니펫은 난독화되기 전에 소수의 기술/변형 풀에서 무작위로 선택됩니다. 모든 스니펫은 런타임/요청 시 난독화되어 생성된 출력이 동일한 서명을 공유하지 않도록 합니다.
라이브 데모를 보려면 https://amsi.fail/ 를 확인하세요!
f-secure가 훌륭한 블로그 게시물 중 하나에서 설명했듯이:
AMSI는 애플리케이션이나 서비스(타사 포함)가 스크립트 콘텐츠의 악성 사용 여부를 검사할 수 있는 인터페이스입니다. 스크립트의 서명이 AMSI 맬웨어 방지 서비스 공급자(기본적으로 Windows Defender)에 등록된 경우 차단됩니다. 맥락을 이해하기 위해 PowerShell이 AMSI와 통합하기 위해 수행하는 다음 단계를 고려해 보세요.
AMSI는 실제 스크립트를 실행하는 프로세스 내에 로드되는 데 의존하기 때문에 amsi.dll 내의 특정 함수를 깨거나 패치하는 기술은 잘 알려져 있습니다.