T1027.007: 动态 API 解析

Stealth

摘要

攻击者可能混淆其恶意软件所调用的 API 函数并随后动态解析它们,以隐藏恶意功能并妨碍防御分析。恶意软件通常使用操作系统提供的各种[原生 API](https://attack.mitre.org/techniques/T1106) 函数来执行涉及进程、文件和其他系统产物的各种任务。 恶意软件调用的 API 函数可能在载荷文件中留下诸如字符串之类的静态产物。防御分析人员也可能通过导入地址表(IAT)或其他有助于将调用代码动态链接到提供函数的共享模块的结构,发现二进制文件可能执行哪些函数。(Citation: Huntress API Hash)(Citation: IRED API Hashing) 为避免静态或其他防御分析,攻击者可能使用动态 API 解析来隐藏恶意软件的特征和功能。与[软件加壳](https://attack.mitre.org/techniques/T1027/002)类似,动态 API 解析可能改变文件签名,并混淆恶意 API 函数调用,直到它们在运行时被解析和调用。 可以使用多种方法混淆恶意软件对 API 函数的调用。例如,恶意软件中通常存储函数名的哈希来代替字面字符串。恶意软件可以使用这些哈希(或其他标识符),通过 `GetProcAddress()` 和 `LoadLibrary()` 等函数手动重现链接和加载过程。这些哈希/标识符还可以使用加密或其他字符串处理技巧进一步混淆(在执行期间需要各种形式的[去混淆/解码文件或信息](https://attack.mitre.org/techniques/T1140))。(Citation: BlackHat API Packers)(Citation: Drakonia HInvoke)(Citation: Huntress API Hash)

来源归属

来源:MITRE ATT&CK · 置信度:high

平台

  • Windows

战术

Stealth

参考来源