|
1 | 1 | # 飞星注入器(StarFly Injector) |
2 | 2 |
|
3 | | -**飞星注入器(StarFly Injector)** 是一个基于 C 语言开发的 Winlogon.exe Shellcode 注入器 v2.0.2版本已成功绕过卡巴斯基 Next EDR Foundation 和 BitDefender Total Security |
| 3 | +**飞星注入器(StarFly Injector)** 是一个基于 C 语言开发的 Explorer.exe Shellcode 注入器 |
4 | 4 |
|
5 | | -本项目旨在展示一种创新的注入技术,适用于安全研究和渗透测试场景。请确保在合法授权的环境下使用本工具 |
| 5 | +本项目旨在展示一种创新的注入技术 适用于安全研究和渗透测试场景 请确保在合法授权的环境下使用本工具 |
6 | 6 |
|
7 | 7 | [详情请前往 菜叶片的博客](https://cnmrsunshine.github.io/2025/04/05/fei-xing-hua-po-ye-kong-starfly-zhu-ru-qi-shen-du-jie-xi-yu-edr-tu-fang-shi-zhan/) |
8 | 8 | --- |
9 | 9 |
|
10 | 10 | ## 项目特点 |
11 | 11 |
|
12 | 12 | - **利用VEH和硬件断点实现的无痕堆栈欺骗+间接系统调用方案**:[详情见项目 GalaxyGate](https://github.com/cnmrsunshine/galaxygate) |
13 | | -- **无线程注入(Threadless Injection)**:仅调用底层 `Nt*` 函数实现的无线程注入 代码改编于[ThreadlessInject-C-Implementation](https://github.com/lsecqt/ThreadlessInject-C-Implementation) |
14 | 13 | - **句柄提权漏洞利用**:仅调用底层 `Nt*` 函数 利用[SysmonEnte](https://github.com/codewhitesec/SysmonEnte)中使用的内核逻辑漏洞 |
15 | | -- **注入点**:通过反汇编发现的一个不影响线程正常工作的 `winlogon.exe` 注入点 |
16 | | - |
17 | | ---- |
18 | | - |
19 | | -## 技术原理 |
20 | | - |
21 | | -### 1. 无痕堆栈欺骗 + 间接系统调用 |
22 | | -- 使用硬件断点(通过调试寄存器 `Dr0` 和 `Dr7`)在“傀儡”高层函数间接调用的 `Nt*` 函数 `Syscall` 指令处设置断点。 |
23 | | -- 当断点触发时,通过自定义的 VEH(`ExceptionHandler`)接管异常处理,修改寄存器和堆栈内容。 |
24 | | -- 将真实的系统调用参数传递给内核,同时不破坏原有调用栈,防止被安全软件检测。 |
25 | | - |
26 | | -### 2. 句柄提权 |
27 | | -- 通过 `ConvertProcNameToPid` 定位 `winlogon.exe` 的 PID。 |
28 | | -- 使用 `LocalPrivilege` 函数模拟 `SYSTEM` 权限,使线程与 `winlogon.exe` 为同一用户所有(句柄提权漏洞触发条件) |
29 | | -- 调用 `ElevateHandle` 提升句柄权限,获取对 `winlogon.exe` 的完全访问权(`PROCESS_ALL_ACCESS`) |
30 | | - |
31 | | -### 3. 无线程注入(Threadless Injection) |
32 | | -- 在目标进程(`winlogon.exe`)中寻找合适的内存空洞(Memory Hole),分配可执行内存 |
33 | | -- 将 shellcode(包含加载器和计算器启动代码)写入内存,并替换注入点的 `nop` 指令为 `call`,跳转至 shellcode |
34 | | -- 当执行流从 `NtWaitForSingleObject` 返回后 shellcode 被执行 且不影响线程正常工作 |
| 14 | +- **ChaCha20加密Shellcode**: 通过原始内存操作实现 不依赖第三方库 |
| 15 | +- **远程VEH注入**: 修改VEH链表劫持执行流 改自[passthehashbrowns的Github项目](https://github.com/passthehashbrowns/VectoredExceptionHandling/) |
35 | 16 |
|
36 | 17 | --- |
37 | 18 |
|
38 | 19 | ## 环境要求 |
39 | | -- **操作系统**:Windows 10/11(目前仅支持 64 位) |
40 | | -- **编译器**:GCC 或 MSVC2022 (MSVC C标准库 静态链接易报毒) |
41 | | - |
42 | | ---- |
43 | | - |
44 | | -## 注意事项 |
45 | | - |
46 | | -- **权限要求**:必须以管理员权限运行程序,否则无法提升对 `winlogon.exe` 的访问权限 |
47 | | -- **安全性**:本工具仅用于教育和研究目的,请勿在未经授权的系统上使用 |
48 | | - |
49 | | ---- |
50 | | - |
51 | | -## 示例输出 |
52 | | -``` |
53 | | -[+] WinLogon PID Found: 1234 |
54 | | -[+] Hook Address: 0x00007FF8ABCD1234 |
55 | | -[+] Memory allocated at: 0x00007FF8DCBA4321 |
56 | | -[+] Original bytes at 0x00007FF8ABCD1234: 0x1234567890ABCDEF |
57 | | -[+] Memory protection changed to RWX at 0x00007FF8ABCD1234 |
58 | | -[+] Call instruction written at 0x00007FF8ABCD1234, pointing to 0x00007FF8DCBA4321 |
59 | | -[+] payloadSize: 128 |
60 | | -[+] Payload written to 0x00007FF8DCBA4321 |
61 | | -[+] Payload memory protection set to RX |
62 | | -[+] Injection successful, waiting for NtWaitForSingleObject to trigger! |
63 | | -``` |
64 | | - |
65 | | ---- |
| 20 | +- **操作系统**:Windows 10/11(**x64**) |
66 | 21 |
|
67 | 22 | ## 引用与致谢 |
68 | 23 |
|
69 | 24 | 本项目部分代码和技术灵感来源于以下开源项目,在此表示感谢: |
70 | 25 |
|
71 | | -- **[SysWhispers3](https://github.com/klezVirus/SysWhispers3)**:提供了系统调用号和调用地址解析功能 |
72 | | -- **[ThreadlessInject-C-Implementation](https://github.com/lsecqt/ThreadlessInject-C-Implementation)**:无线程注入技术的参考实现 |
73 | | -- **[SysmonEnte](https://github.com/codewhitesec/SysmonEnte)**:句柄提权漏洞的来源 |
74 | | -- **[Native API Header](https://github.com/winsiderss/phnt)**: 非常感谢 `SystemInformer / ProcessHacker` 项目对底层开发者的帮助和支持 |
| 26 | +- **[SysWhispers3](https://github.com/klezVirus/SysWhispers3)**:提供系统调用号和调用地址解析功能 |
| 27 | +- **[ThreadlessInject-C-Implementation](https://github.com/lsecqt/ThreadlessInject-C-Implementation)**:无线程注入技术的参考实现 (旧版StarFly) |
| 28 | +- **[SysmonEnte](https://github.com/codewhitesec/SysmonEnte)**:句柄提权漏洞来源 |
| 29 | +- **[Native API Header](https://github.com/winsiderss/phnt)**: 非常感谢SystemInformer项目对底层开发者的帮助和支持 |
75 | 30 | - **[Silent Moon Walk](https://github.com/klezVirus/SilentMoonwalk)**: GalaxyGate的初始灵感来源 |
76 | | - |
| 31 | +- **[VectoredExceptionHandling](https://github.com/passthehashbrowns/VectoredExceptionHandling/)**: VEH注入相关思路和函数来源 |
0 commit comments