| 
 | 
 
 
一、描述 
 
这是一种全新的 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,保存一个文本文件时注入才会生效。 
 
三、致谢 
 
 
 |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册 
 
 
 
x
 
 
评分
- 
查看全部评分
 
 
 
 
 
 |