吉沃运营专员 发表于 2022-2-7 17:05:36

一个新的 Shellcode 注入技术

源代码:https://github.com/Idov31/FunctionStomping
一、描述

这是一种全新的 Shellcode 注入技术,可以避开 AVs 和 EDR。这项技术的灵感来自 Module Stomping,两者有一些相似之处。直到 2022 年 1 月 23 日,hollows-hunter 都没发现它。

这种技术的最大优点是 它不会覆盖整个模块或 PE,只覆盖一个函数,目标进程仍然可以使用目标模块中的任何其他函数。

缺点是它不能适用于野外的所有函数 (但它适用于大多数函数),确切的解释在我的博客中讲到:The Good, The Bad And The Stomped Function。

注意:如果是 msfvenom/metasploit 的特征,AV 可能会对此进行标记!你只需要更改 Shellcode 或对其进行加密。

二、用法

有两种使用方法,一种是用在 C++ 中,另一种是在 Rust 中,以下为 C++ 中使用粟子:

#include "functionstomping.hpp"

int main() {
    // Just get the pid in any way and pass it to the function.
    DWORD pid = 3110;
    FunctionStomping(pid);
    return 0;
}
此项目的源代码头文件中,包含的 Shellcode 代码只是简单弹出一个计算器,在本地测试如下:





或在 Rust 中使用:

1> 将项目克隆到本地



2> cargo b



3> 注入到指定进程中 (notepad.exe)





运行此程序后,必须从远程进程调用该函数!(如果使用了默认函数 CreateFile,那么必须从远程进程调用它!)。在此示例中,注入到的进程为 notepad.exe,保存一个文本文件时注入才会生效。

三、致谢


[*]https://github.com/countercept/ModuleStomping
[*]https://www.cyberark.com/resources/threat-research-blog/masking-malicious-memory-artifacts-part-iii-bypassing-defensive-scanners

liuming 发表于 2022-2-7 18:36:38

{:5_150:} 666,内容挺好,值得分享!
页: [1]
查看完整版本: 一个新的 Shellcode 注入技术