.NET内网实战:通过纤程技术实现注入本地进程
原文链接: https://mp.weixin.qq.com/s?__biz=MzUyOTc3NTQ5MA==&mid=2247500125&idx=1&sn=5f9671089cd7f58ef8696b0387262212
.NET内网实战:通过纤程技术实现注入本地进程
专攻.NET安全的 dotNet安全矩阵 2025-07-20 07:32
01
阅读须知
此文所节选自小报童《.NET 内网实战攻防》专栏,主要
内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。
02
基本介绍
本文内容部分节选自小
报童《
.NET 通过纤程技术实现注入本地进程
》,
完整的
文章内容请加入小报童后订阅查看。
现在限时
只需69元,永久
买断!
目前已有300+位朋友抢先预定,我们会长期更新,对.NET内网安全的朋友们请尽快订阅该报刊!
03
原理分析
在Windows操作系统中,线程调度是影响程序性能的关键因素之一。传统线程切换涉及内核态与用户态的切换,会产生显著的性能开销。为解决这一问题,Windows引入了纤程(Fibers)和用户模式调度(UMS)两种轻量级调度机制。其中,纤程技术因其独特的调度特性,在安全研究领域展现出重要价值,同时也被红队所利用。
3.1 技术原理
纤程是Windows提供的一种用户态协作式多任务机制,其核心思想是将线程的执行控制权完全交给应用程序管理。通过深入了解纤程的工作原理,安全研究者们通过利用纤程(Fibers)注入本地进程的技术来隐蔽且高效地执行Shellcode。该技术结合ConvertThreadToFiber、CreateFiber等系统API函数,实现了对纤程注入的控制与管理。
3.2 核心API
ConvertThreadToFiber 函数用于将主线程转换为纤程,这不仅将线程切换成纤程模式,同时也创建了线程中的第一个纤程,通常被称为“主纤程”。该函数在.NET平台下的签名如下所示。
[DllImport("kernel32.dll", SetLastError=true)]
publicstaticexternIntPtrConvertThreadToFiber(IntPtr lpFiberAttribute);
该函数将当前线程转换为纤程模式,并创建初始的”主纤程”。参数通常设为IntPtr.Zero表示使用默认属性。
SwitchToFiber 用于显式切换到指定纤程执行,这是纤程调度的核心机制,该函数在.NET平台下的签名如下所示。
[DllImport("kernel32.dll")]
publicstaticexternvoidSwitchToFiber(IntPtr lpFiber);
3.3 实战代码解析
在红队实战中,这几个函数可能会被一起使用,作为加载和执行Shellcode等恶意代码的一种手段,以下是一个利用CreateFiber函数来创建并执行Shellcode的示例代码。
IntPtr main_fiber =ConvertThreadToFiber(IntPtr.Zero);
IntPtr buf1_address =VirtualAlloc(IntPtr.Zero,(UInt32)buf1.Length, AllocationType.Commit);
Marshal.Copy(buf1,0,(buf1_address), buf1.Length);
IntPtr buf1_fiber =CreateFiber(0, buf1_address, IntPtr.Zero);
在使用纤程之前,首先需要借助Windows系统的ConvertThreadToFiber函数,将当前线程转换为一个正在运行的纤程。
然而,与线程不同的是,纤程并不会自动执行。需要显式地通过SwitchToFiber函数触发执行,并弹出MessageBox对话框。如图所示。
综
上 ,
随着Windows对UMS和纤程技术的持续优化,可以预见这类技术将在合法程序性能优化与恶意代码隐蔽执行两个领域持续发展。安全研究人员需要深入理解其底层机制,才能有效应对不断演进的攻击手段。
想
要了解
完整或者更多的内网安全方向的文章,可以移步订阅小报童《.NET 内网实战攻防》电子报刊。
04
欢迎加入.NET 电子报刊
我们的小报童电子报刊【.NET内网安全攻防】也开始运营,引入小报童也是为了弥补知识星球对于轻量级阅读支持的不足,为用户读者提供更佳的阅读体验。
如果您对阅读体验的需求比较高,那么可以订阅这个专栏
。
本
次电子报刊《.NET 内网安全攻防》专栏,内容主要有.NET在各个内网渗透阶段与Windows系
统交互的方式和技巧,可细分为以下8个方向。
1) .NET 安全防御绕过
2) .NET 本地权限提升
3) .NET 内网信息收集
4) .NET 内网代理通道
5) .NET 内网横向移动
6) .NET 目标权限维持
7) .NET 数据传输外发
8) .NET 目标痕迹清理
原价899,现在限时
只需69元,永久买断
!
目前已有300+位朋友抢先预定,我们会长期更新,初步计划保持每周更新1-2篇新内容,对.NET内网安全的朋友们请尽快订阅该报刊!
每增加五十人涨价10元,抓紧订阅,超值!
订阅后请关注公众号:
dotNet安全矩阵,发送订单截图和您的微信号,邀请您加入专属交流群。
感兴趣的朋友,可以点击链接:https://xiaobot.net/p/dotNetAttack,或者
扫描下方海报微信二维码加入即可
,
订阅后小报童定时会将最新内容通过微信推送给您。