AMSI对抗小结

前言

AMSI是微软用来对抗无文件攻击而开发的安全模块,是当前攻防对抗前沿的技术 之一

从15年AMSI出现,越来越多的杀软厂商接入了AMSI接口,当前市面上主流杀软均接入此接口

这给当时以powershell为主的红队工具致命打击,像Empire,等等

总体来说,由于AMSI仅仅是一个连接应用程序和杀软程序的通道,微软主要还是在defender上做各种对抗,针对通道本身的加固较少。

红队工具也寻找了另外一条出路就是.Net,使用C#开发的红队工具随之兴起。

随着以.NET(C#)为基础的攻击技术的逐渐成熟

AMSI在.NET 4.8引入了针对Assembly导入的内存扫描, 同时针对WMI的扫描也被加入到了AMSI当中

什么是AMSI

AMSI全称(Antimalware Scan Interface),反恶意软件扫描接口,他的本体是一个DLL文件

默认位置:c:\windows\system32\amsi.dll

image-20211016161926115

它提供了通用的标准接口(COM接口、Win32 API)

这些接口中 Win32 API是为正常应用程序提供的,方便正常程序调用这些API针对用户输入做扫描。

COM接 口,是为杀软供应商提供的,方便杀软厂商接入自身针对恶意软件的识别能力

WIN32 API

AmsiCloseSession 	    关闭由 AmsiOpenSession 打开的会话。

AmsiInitialize 	        初始化 AMSI API。

AmsiNotifyOperation 	向反恶意软件提供程序发送任意操作的通知。

AmsiOpenSession 	    打开可在其中关联多个扫描请求的会话。

AmsiResultIsMalware 	确定扫描结果是否指示应阻止内容。

AmsiScanBuffer 	        扫描缓冲区中的内容中寻找恶意软件。

AmsiScanString 	        扫描字符串中的恶意软件。

AmsiUninitialize 	    删除 AmsiInitialize最初打开的 AMSI API 实例。

重点关注AmsiScanBuffer、AmsiScanString、AmsiUacScan这三个函数

AMSI在Windows中的作用

AMSI在windows系统中被直接或间接的调用,主要分布在以下程序

1.用户账户控制,也就是UAC(EXE、COM、MSI、ActiveX的安装)

%windir%\System32\consent.exe 

2.Powershell(脚本、交互式使用、动态代码求值)

System.Management.Automation.dll 

3.Windows脚本宿主

wscript.exe cscript.exe 

4.JavaScript、VBScript

%windir%\System32\jscript.dll %windir%\System32\vbscript.dll 

5.Office VBA macros

VBE7.dll 

6..NET Assembly

clr.dll 

7.WMI

%windir%\System32\wbem\fastprox.dll

<

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值