AMSI

一个反病毒接口,分析恶意代码。 位置是在C:\windows\system32\amsi.dll

安全厂商也可以通过接入Amsi进行查杀提高安全性

接入Amsi的相关厂商

AMSI的处理流程是:扫描—-触发—-病毒库

ASMI绕过方式

不进行绕过,的显示

PS C:\Users\32569> amsiutils
所在位置 行:1 字符: 1
+ amsiutils
+ ~~~~~~~~~
此脚本包含恶意内容,已被你的防病毒软件阻止。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ScriptContainedMaliciousContent

PS C:\Users\32569>

长度清零

先对Amsi.dll的使用IDA进行逆向,查调用函数存在一个AmsiScanBuffer函数。

扫描充满内容的缓冲区以查找恶意软件。
HRESULT AmsiScanBuffer(
  [in]           HAMSICONTEXT amsiContext,
  [in]           PVOID        buffer,
  [in]           ULONG        length,
  [in]           LPCWSTR      contentName,
  [in, optional] HAMSISESSION amsiSession,
  [out]          AMSI_RESULT  *result
);

第三个参数是设置AMSi从缓冲区读取的长度,我们可以把这个设置为0让它读不到东西。