飞星划破夜空:StarFly注入器深度解析与EDR突防实战


飞星StarFly:为用户态隐匿对抗而生的利刃

在现代网络攻防的激烈战场上 端点检测与响应(EDR)系统如同密不透风的城墙 时刻警惕着任何恶意行为 而 飞星StarFly注入器 则是为穿透EDR防御而生

揭秘核心:StarFly的隐匿之道

StarFly的成功并非偶然 它凝聚了诸多巧妙的技术构思:

  1. GalaxyGate - 栈欺骗与间接系统调用的双重护盾
    为了在EDR的严密监视下隐匿行踪 我们引入了自研的GalaxyGate技术 它能有效对抗栈回溯(Stack Walking)分析 并通过间接系统调用(Indirect Syscalls)绕过用户模式API Hook 让我们的行为如同鬼魅般难以捕捉

  2. 巧夺天工 - 借力内核漏洞提权
    要触及系统核心进程Winlogon.exe 以最小痕迹取得权限是第一道门槛 众所周知 创建内核对象会触发PreOperation回调函数 而我们利用了一个自18年至今仍未修复的句柄提权内核逻辑漏洞 该漏洞允许在特定条件下(线程与目标进程同属一用户)将任意权限句柄提升至完全访问权限 为此 我们通过窃取并模拟SYSTEM令牌 将执行线程的权限提升至系统最高级别 从而为后续操作铺平道路

  3. 洞察时机 - Winlogon的“打盹”时刻
    通过细致的调试与反汇编分析 我们发现Winlogon.exe的主线程在大部分时间里 都静静地停留在NtWaitForSingleObject的等待状态中 这为我们寻找注入点提供了宝贵的线索

  4. 精准落点 - StateMachineRun中的“黄金”Hook点
    Winlogon.exeStateMachineRun函数内部 靠近第二个NtWaitForSingleObject调用栈返回地址处 我们发现了一个绝佳的注入点 这里的代码序列尤为关键:

    1
    2
    3
    4
    5
    6
    7
    ; ... 省略部分代码 ...
    00007ff7`3206138c e8b7b50500 call winlogon!CGlobalStore::ReportApplicationEvent ; 调用一个事件报告函数
    00007ff7`32061391 8b442430 mov eax,dword ptr [rsp+30h]
    ; ... 省略部分代码 ...
    00007ff7`320613b8 48ff15a9570900 call qword ptr [winlogon!_imp_RtlGetActiveConsoleId] ; 调用获取控制台ID的函数
    00007ff7`320613bf 0f1f440000 nop dword ptr [rax+rax] ; <--- 绝佳的Hook点!
    ; ... 后续代码 ...

    注意地址 00007ff7320613bf 处的 nop dword ptr [rax+rax] 指令 这恰好是5个字节的Nop指令 其长度完美匹配一个call指令!这使得我们可以直接将其替换 实现对Winlogon主映像的内联Hook (Inline Hook) 将执行流引导至我们的Shellcode

  5. 另辟蹊径 - 融入宿主 隐匿无形
    为何不采用标准的无线程注入方式 比如Hook某个Windows API的返回点?答案很简单:如今的EDR早已对这种手法了如指掌 它们会严格校验关键DLL文件的映像完整性

    因此 StarFly选择了更高明的策略:将Shellcode直接融入Winlogon的主映像中 相比于寻找内存空洞或申请独立内存块(这些都容易被内存扫描和YARA规则捕获) 这种“寄生”方式如同变色龙融入环境 极大地降低了被检测的风险

  6. 物尽其用 - C运行时库的“沉睡”空间
    Winlogon.exe的众多函数中 C标准库的启动函数(如 pre_c_init, pre_cpp_init, __mainCRTStartup)在程序初始化完成后便功成身退 几乎不再被调用 这些“沉睡”的代码区域为我们提供了宝贵的空间——总计约912字节!这足以容纳大多数分阶段加载的Payload或反弹Shell的Shellcode

傲人战绩:突破重围

经过实战检验 飞星StarFly已成功突破以下主流安全产品的防御:

  • 卡巴斯基 Next EDR (基础版)
  • Bitdefender Total Security
  • 火绒安全
  • 360安全卫士 (未开启核晶引擎)

它实现了在目标系统上注入并执行任意Shellcode的能力 为高级持续性威胁(APT)和红队评估提供了新的可能性

亲身体验:见证奇迹

渴望一睹StarFly的风采?

  1. 下载我们的演示程序 (Demo)
  2. 以管理员身份运行
  3. 触发任何需要令牌分发的操作(例如 弹出用户账户控制(UAC)提示框
  4. 稍等片刻 您将看到计算器(calc.exe)弹出
  5. 打开System Informer等工具 验证计算器的父进程是否为 winlogon.exe

眼见为实 StarFly的威力 等您亲自验证!


文章作者: 菜叶片 & Gemini2.5Pro
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 菜叶片 & Gemini2.5Pro !
  目录