此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。
本文内容部分节选自小报童《.NET 通过 DInvoke 执行 UUID 编码的 Shellcode》,完整的文章内容请加入小报童后订阅查看。现在限时只需69元,永久买断!目前已有300+位朋友抢先预定,我们会长期更新
免责声明:此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。任何未经授权的网络渗透、入侵或对他人网络破坏的活动而造成的直接或间接后果和损失,均由使用者为自身的行为负责并承担全部的法律和连带责任,与本号及作者无关,请务必遵循相关法律法规。本文所提供的工具仅用于学习和本地安全研究和测试,禁止用于其他方面。
在攻防对抗中,Shellcode 的隐蔽执行是攻击者绕过防御机制的关键手段。传统的CreateRemoteThread等 API 调用因行为特征明显,容易被 EDR设备拦截。而UUID技术结合堆内存操作与回调函数调用,可实现更隐蔽的 Shellcode 加载与执行。
2.1 基本介绍
首先,利用UuidFromStringA函数将 UUID 字符串转换为二进制数据时的内存写入特性,将 Shellcode 分片写入堆内存;通过EnumSystemLocalesA等回调函数触发堆内存中拼接完成的 Shellcode 执行,规避直接调用CreateThread等敏感 API 的检测。
2.2 技术实现
// 从PEB的LDR链表中获取模块基地址IntPtr pkernel32 = DInvoke.DynamicInvoke.Generic.GetPebLdrModuleEntry("kernel32.dll");IntPtr prpcrt4 = DInvoke.DynamicInvoke.Generic.GetPebLdrModuleEntry("rpcrt4.dll");IntPtr pHeapCreate = DInvoke.DynamicInvoke.Generic.GetExportAddress(pkernel32, "HeapCreate"); // 堆创建函数IntPtr pEnumSystemLocalesA = DInvoke.DynamicInvoke.Generic.GetExportAddress(pkernel32, "EnumSystemLocalesA"); IntPtr pUuidFromStringA = DInvoke.DynamicInvoke.Generic.GetExportAddress(prpcrt4, "UuidFromStringA"); 接下来,利用之前获取的HeapCreate函数地址,在系统中创建了一个新的堆内存区域,并返回了该堆的句柄(Heap Handle)。这个新创建的堆将用于后续操作中数据的存储和管理,确保数据的安全性和可访问性。具体代码如下所示。
object[] heapCreateParam = { (uint)0x00040000, UIntPtr.Zero, UIntPtr.Zero };var heapHandle = (IntPtr)DInvoke.DynamicInvoke.Generic.DynamicFunctionInvoke(pHeapCreate, typeof(DELEGATE.HeapCreate), ref heapCreateParam);Console.WriteLine("[>] Allocated Heap address - 0x{0}", heapHandle.ToString("x2"));IntPtr newHeapAddr = IntPtr.Zero;Shellcode 是连续的二进制数据,需按 16 字节分片(UUID 固定为 16 字节),转换为 UUID 格式字符串后,通过UuidFromStringA写入堆内存的连续地址。在上述代码中,最后通过调用回调函数EnumSystemLocalesA,执行堆内存中的 Shellcode,成功启动本地计算器,如图所示。
以上相关的知识点已收录于新书《.NET安全攻防指南》,全书共计25章,总计1010页,分为上下册,横跨.NET Web代码审计与红队渗透两大领域。
上册深入剖析.NET Web安全审计的核心技术,帮助读者掌握漏洞发现与修复的精髓;下册则聚焦于.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元,抓紧订阅,超值!感兴趣的朋友,可以点击链接:https://xiaobot.net/p/dotNetAttack,或者扫描下方海报微信二维码加入即可,订阅后小报童定时会将最新内容通过微信推送给您。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...