freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

py-amsi:一款基于AMSI的恶意软件扫描与识别工具
2024-01-17 13:56:05

关于py-amsi

py-amsi是一款基于Windows反恶意软件接口(AMSI)实现的强大安全工具,该工具可以利用AMSI扫描恶意软件相关的字符串与文件信息,以检测目标系统是否感染了恶意软件。

AMSI是Windows的原生接口,允许应用程序要求系统上安装的防病毒软件分析文件/字符串。需要注意的是,AMSI与Windows Defender无关。

什么是AMSI

Windows反恶意软件扫描接口(AMSI)是一种通用的接口标准,允许我们的应用程序和服务与计算机上的任何反恶意软件产品集成。AMSI可以为最终用户及其数据、应用程序和工作负载提供增强的恶意软件保护。

AMSI可以为反恶意软件产品提供最常见的恶意软件扫描和保护技术,这些技术可以集成到应用程序中,并可以执行文件和内存或流扫描、内容源URL/IP信誉检查以及其他技术。

工具安装

由于该工具部分功能使用Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。

源码安装

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Tomiwa-Ot/py-amsi.git

然后切换到项目目录下,执行安装脚本即可:

cd py-amsi/

python setup.py install

pip安装

除此之外,我们还可以直接使用pip工具安装py-amsi:

pip install pyamsi

工具使用

from pyamsi import Amsi

 

# 扫描一个文件

Amsi.scan_file(file_path, debug=True) # debug is optional and False by default

 

# 扫描字符串

Amsi.scan_string(string, string_name, debug=False) # debug is optional and False by default

 

# Both functions return a dictionary of the format

# {

#     'Sample Size' : 68,         // The string/file size in bytes

#     'Risk Level' : 0,           // The risk level as suggested by the antivirus

#     'Message' : 'File is clean' // Response message

# }

风险等级

风险等级

描述介绍

0

AMSI_RESULT_CLEAN (文件是良性的)

1

AMSI_RESULT_NOT_DETECTED (未检测到威胁)

16384

AMSI_RESULT_BLOCKED_BY_ADMIN_START (管理员已屏蔽此威胁)

20479

AMSI_RESULT_BLOCKED_BY_ADMIN_END (管理员已屏蔽此威胁)

32768

AMSI_RESULT_DETECTED (文件与恶意软件有关)

函数子模块

pyamsi.Amsi.scan_file

pyamsi.Amsi.scan_file(path, debug=False)

 

参数

    path (str): 要扫描的目标文件路径

    debug (bool): 显示调试信息 (默认=False, 可选)

 

返回

  字典:

    Sample Size =  字符串大小 

    Risk Level = AMSI 提供商标记的风险等级 

    Message = AMSI响应

pyamsi.Amsi.scan_string

pyamsi.Amsi.scan_string(text, name, debug=False)

 

参数

    text (str): 要扫描的字符串

    name (str): 字符串名称 

    debug (bool): 显示调试信息 (默认=False, 可选)

 

返回

  字典:

    Sample Size =  字符串大小 

    Risk Level = AMSI 提供商标记的风险等级 

    Message = AMSI响应

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

py-amsi:【GitHub传送门

参考资料

https://learn.microsoft.com/en-us/windows/win32/amsi/antimalware-scan-interface-portal

https://tomiwa-ot.github.io/py-amsi/genindex.html

https://pypi.org/project/pyamsi/

# 系统安全 # AMSI # 恶意软件检测 # 威胁识别 # Windows系统安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录