
.NET内网实战攻防
文章平均质量分 80
dot.Net安全矩阵知识库,已成为国内最大的.NET安全社区,内容主要有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,可细分8个方向:
1) .NET安全防御绕过、本地权限提升
2) .NET内网信息收集、代理通道、横向移动
3) .NET目标权限维持、数据传输外发、痕迹清理
dot.Net安全矩阵
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
.NET 白名单文件通过反序列化执行系统命令
VisualUiaVerifyNative.exe 是一款具备微软签名的可执行文件,属于Microsoft UI Automation框架的一部分,最初设计用于帮助开发人员验证UI自动化的状态,一般在 Microsoft Windows SDK(Windows Kits)包中,比如路径:Windows Kits\10\bin\10.0.22621.0\x64\UIAVerify,该工具通常依赖于以下两个重要的动态链接库(DLL)文件:原创 2025-05-26 08:15:00 · 27 阅读 · 0 评论 -
.NET 通过Fsharp执行命令绕过安全防护
除了交互式执行代码,fsi.exe 还可以用来执行 .fsx 和 .fsscript 文件(F# 脚本文件),并且与.NET框架深度捆绑集成,可以在 F# Interactive 中调用 .NET API,甚至与 C# 和其他 .NET 语言无缝集成。F# 是一种功能强大、功能式编程为主的编程语言,F# 是 .NET 平台的一部分,能够与 C# 和 Visual Basic 等 .NET 语言无缝集成,允许开发者使用函数式编程的优点,同时也可以使用面向对象和命令式编程。原创 2025-05-20 08:30:00 · 26 阅读 · 0 评论 -
.NET 通过命令行解密web.config配置
在.NET应用系统中,保护数据库连接字符串的安全性至关重要。.NET 提供了一种通过 DataProtectionConfigurationProvider 加密连接字符串的方法,以防止敏感数据泄露。然而,在内网信息收集阶段,攻击者只需在目标主机上运行aspnet_regiis.exe这个命令行工具即可完成解密,获取数据库连接的明文字符串。aspnet_regiis.exe 是一个命令行工具,用于配置和管理 .NET 应用程序在 IIS 中的注册和设置。原创 2025-05-15 10:20:46 · 183 阅读 · 0 评论 -
.NET 通过执行XOML文件代码绕过安全防护
WFC.exe 是 .NET Framework 工具套件的一部分,用于编译 Windows Workflow Foundation (WF) 来构建支持工作流程的应用程序,具体来说,WFC.exe 通过将工作流程文件(通常是 .XOML 文件)编译成可执行的.NET程序集。原创 2025-05-09 08:30:00 · 45 阅读 · 0 评论 -
.NET 通过回调函数执行 Shellcode启动进程
Shellcode 是一种专门编写的机器码程序,通常用于利用计算机系统的漏洞。这些代码片段设计得非常紧凑和高效,目的是在目标系统上执行特定的操作。原创 2025-05-06 11:57:08 · 265 阅读 · 0 评论 -
.NET 内网通过执行命令查找出网机器
然而,这也提醒我们,在日常的网络安全防护中,需要高度重视对DNS流量的监控和分析,以防止内网信息的泄漏。使用起来非常简单,无需登录,只需在使用前点击 "Get SubDomain" 按钮,生成一个唯一的子域名,例如 q22gjj.dnslog.cn,这个子域名是用户在测试过程中使用的唯一标识符。在内网环境下,通过扫描网段获得内网主机所有的IP地址,Environment.MachineName 获取计算机名,Dns.GetHostAddresses 获取主机的所有IP地址。原创 2025-04-29 08:30:00 · 42 阅读 · 0 评论 -
.NET 通过进程管道执行CMD命令
cmd.exe作为Windows系统的传统命令行解释器,其行为模式广为人知,因此也成为了众多安全防护机制的重点监控对象,因此红队或者黑客在对抗时调用Windows系统kernel32.dll中的CreateProcess和CreatePipe函数实现任意系统命令的执行,这样做的好处是避免直接调用cmd.exe,能够降低被检测到的几率。接着,打开父进程的句柄,再通过DuplicateHandle函数将输出数据的句柄复制到父进程,使得子进程的输出数据能够重定向到父进程中,代码实现如下所示。原创 2025-04-22 08:30:00 · 51 阅读 · 0 评论 -
.NET 通过五步调用API实现关闭Windows Defender
Windows Defender最早于2006年作为一款反间谍软件工具发布,后来逐步演变成一款全功能的反恶意软件解决方案。在Windows 8及其之后的版本中,Windows Defender被整合为操作系统的默认安全防护软件。Windows Defender能够检测和防护各种类型的恶意软件,包括病毒、间谍软件、特洛伊木马、蠕虫、勒索软件等。通过定期更新的病毒定义库,Windows Defender保持对新出现的威胁的最新防护能力。原创 2025-04-14 08:30:00 · 70 阅读 · 0 评论 -
.NET 通过傀儡进程执行Shellcode
首先通过调用CreateProcess函数来创建一个新的进程,并特别设置了该进程的启动标志为CREATE_SUSPENDED,这样在创建后会立即处于挂起状态,主线程不会立即执行任何代码,而是等待后续的指令来恢复其执行。综上,傀儡进程是通过篡改某进程的内存数据来实现的,具体做法是在内存中写入Shellcode,并操纵进程的执行流程,使其转而执行恶意的Shellcode。傀儡进程是指被攻击者通过技术手段,修改其内存数据,并植入恶意的Shellcode,进而控制其执行流程,使其转向执行恶意代码的进程。原创 2025-04-10 09:35:12 · 464 阅读 · 0 评论 -
.NET 通过创建系统影子账户实现维持权限
综上,通过我们在正常的系统用户名后面添加 $ 符号,可以创建影子账户,从而提高了账户的隐蔽性。其中username是新用户的用户名,以$符号结尾,如前文所述在 Windows中,使用 $ 结尾的用户名通常不会显示在操作系统的用户列表中,因此这样的账户很难被发现,可以有效地隐藏账户,增加其隐蔽性。这里使用WinNT协议,该协议出现在Windows NT 4.0 及更高版本的计算机或域中的目录服务,专用于访问和管理 Windows 网络中的资源,包括本地用户和组、远程计算机上的用户和组、以及域用户和组。原创 2025-04-08 08:00:00 · 83 阅读 · 0 评论 -
.NET 通过系统计划任务维持权限
在渗透测试或恶意软件开发中,攻击者经常需要在目标系统上维持持久的访问权限,Windows计划任务是实现这一目标的有效工具之一,因为它允许攻击者在特定时间或事件触发时执行预定义的命令或脚本。下面,我们将详细介绍如何通过Windows计划任务来维持权限。Windows 任务计划程序 (Task Scheduler) 的 CLSID标识符是 0F87369F-A4E5-4CFC-BD3E-73E6154572DD,这串CLSID可以在taskschd.h文件中找到,如下图所示。原创 2025-04-03 08:00:00 · 53 阅读 · 0 评论 -
.NET 通过事件订阅实现权限维持
WMI 全称 Windows Management Instrumentation,是 Windows 操作系统中的一项重要功能,常用于管理和监控系统硬件和软件的启动和运行。而WMI 事件订阅能帮助系统管理员监听系统特定事件并在事件触发时执行预定义操作。WMI 事件订阅涉及几个关键部分,包括 EventFilter、CommandLineEventConsumer 和 FilterToConsumerBinding。这些组合使得事件订阅系统能够监听事件并执行特定的响应操作。原创 2025-04-01 10:30:13 · 52 阅读 · 0 评论 -
.NET 通过Junction Folder实现权限维持
攻击者在对目标系统进行权限维持时,除了常见的COM劫持技术,还可以利用Windows的Junction Folder结合CLSID 和注册表来实现持久化。这种方法通过创建连接文件夹和修改注册表,使得攻击者可以在系统启动时加载自定义的恶意DLL,从而保持对系统的控制。本文将详细介绍这种技术的原理、实现步骤以及相应的.NET代码示例。原创 2025-04-01 10:28:38 · 193 阅读 · 0 评论 -
.NET 通过COM劫持实现权限维持
在 Windows 操作系统中,攻击者可以通过修改注册表UserInitMprLogonScript 键值来执行自定义的恶意程序,从而实现持久化控制。这种方法被一些红队工具用于权限维持。下面将详细介绍如何使用 .NET 代码修改 UserInitMprLogonScript 键值来实现权限维持。原创 2025-04-01 10:27:52 · 45 阅读 · 0 评论 -
.NET 修改UserInitMprLogonScript键值实现权限维持
在 Windows 操作系统中,攻击者可以通过修改注册表UserInitMprLogonScript 键值来执行自定义的恶意程序,从而实现持久化控制。这种方法被一些红队工具用于权限维持。下面将详细介绍如何使用 .NET 代码修改 UserInitMprLogonScript 键值来实现权限维持。原创 2025-04-01 10:26:38 · 47 阅读 · 0 评论 -
.NET 修改系统注册表UserInit键值实现权限维持
红队可以通过修改UserInit键值将自定义的可执行文件添加到路径中,比如某个远控生成的木马后门文件,这样用户登录时自动执行该文件,从而实现权限维持。通过修改注册表UserInit键来启动自定义程序,是红队在渗透测试和攻击活动中常用的方法之一,因此需定期检查和监控。方法将UserInit键的值更新为新值,确保在用户登录时启动calc.exe,具体代码如下所示。键位于Windows注册表的路径中,所包含的值,表示指向用户登录时系统要启动的初始化程序。键的配置,有助于确保系统的稳定和安全。原创 2025-04-01 10:18:48 · 495 阅读 · 0 评论 -
.NET 调用API创建系统服务实现权限维持
在Windows操作系统中,Services服务以后台进程的形式运行的,通常具备非常高的权限启动和运行服务。因此红队往往利用.NET框架通过创建和管理Windows服务来实现权限维持。本文将详细介绍如何通过.NET创建Windows服务,以实现权限维持的基本原理和步骤。原创 2025-03-31 16:00:48 · 604 阅读 · 0 评论