Powershell反混淆¶
AMSI相关¶
AMSI(Antimalware Scan Interface)是一种通用接口标准,允许应用和服务集成任何反恶意软件产品
原理如下
一般的Powershell恶意脚本的程度
- 对于静态脚本,利用签名检查
- 对于拼接字符串,可以在发现拼接字符串时模拟拼接并检测
- 对于base64编码,执行base64解码
- 对于混淆的脚本,需要写通用的反混淆脚本得到签名
- 脚本可能下载额外脚本并执行,还可能只在内存中
问题的关键在于脚本引擎可以运行程序在运行时生成的代码。即使恶意脚本进行多次反混淆和解码,最终还是要将明文代码提交给脚本引擎执行,在这里,应用可以多次调用AMSI API来请求扫描没有保护的内容
相关反混淆引擎¶
开始编写¶
https://www.microsoft.com/en-us/security/blog/2015/06/09/windows-10-to-offer-application-developers-new-malware-defenses/?source=mmpc
https://learn.microsoft.com/zh-cn/windows/win32/amsi/antimalware-scan-interface-portal?redirectedfrom=MSDN