py-amsi:一款基于AMSI的恶意软件扫描与识别工具

本文介绍了py-amsi,一个基于WindowsAMSI接口的Python安全工具,用于检测恶意软件。文章详细讲解了AMSI的作用、安装方法(源码和pip)、以及如何使用其提供的scan_file和scan_string函数进行文件和字符串扫描,并列出了风险等级说明。
摘要由CSDN通过智能技术生成

关于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传送门

参考资料

Antimalware Scan Interface (AMSI) - Win32 apps | Microsoft Learn

Index — py-amsi v1.11 documentation

pyamsi · PyPI

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值