Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
FunctionStomping — Shellcode注入技术。以C++头文件、独立的Rust程序或库的形式提供。 | Kitploit
工具/GitHubGitHub/idov31/functionstomping
防御工具权限提升漏洞利用IDS/IPS规避Shellcode后渗透利用红队Shellcode 生成Payload 开发二进制利用Archived
GitHub
70690213年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
idov31/functionstomping

FunctionStomping

Shellcode注入技术。以C++头文件、独立的Rust程序或库的形式提供。

查看仓库网站

FunctionStomping

image image image

描述

这是一种全新的 shellcode 注入技术,用于绕过 AV 和 EDR。该技术受 Module Stomping 启发,并具有一些相似之处。 截至本文撰写时(2022-01-23),hollows-hunter 也无法检测到它。

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

缺点在于,它并非对所有函数都有效(但对大多数函数有效),详细说明见我的博客:The Good, The Bad And The Stomped Function。

注意:如果 AV 标记此行为,但签名是 msfvenom/metasploit 的签名,那没问题!你只需更换 shellcode 或对其进行加密即可。

更新: 显然这并不是第一个可用的 PoC,RastaMouse 写了一篇关于类似内容的 C# 博客文章。

使用

你可以将头文件包含到程序中,如下所示:

#include "functionstomping.hpp"

int main() {
    // 以任何方式获取 PID 并传递给函数。
    DWORD pid = 3110;
    FunctionStomping(pid);
    return 0;
}

或者使用 Rust 程序:

cd functionstomping
cargo b
functionstomping.exe <pid>

运行此程序后,你必须从远程进程调用该函数!(如果使用了默认函数 CreateFile,则必须从远程进程调用它!)。

设置

目前,用于运行的 shellcode 只是弹出计算器,但你只需将 unsigned char shellcode[] 替换为你自己的 shellcode 即可。我使用 C++ 17 和 VS2019 编译了带有 C++ 头文件的程序,并使用 Rust 2021 版本编译了 Rust 程序(你可以在 Cargo.toml 中查看依赖项)。

PoC

免责声明

对于因本项目而导致的计算机/程序的任何损坏,我概不负责。我乐意接受贡献,请发起拉取请求,我会进行审查!

致谢

ModuleStomping

Masking Malicious Memory by CyberArk

RastaMouse's Version

下载工具