.NET 通过Junction Folder实现权限维持

攻击者在对目标系统进行权限维持时,除了常见的COM劫持技术,还可以利用Windows的Junction Folder结合CLSID 和注册表来实现持久化。这种方法通过创建连接文件夹和修改注册表,使得攻击者可以在系统启动时加载自定义的恶意DLL,从而保持对系统的控制。本文将详细介绍这种技术的原理、实现步骤以及相应的.NET代码示例。

0x01 什么是Junction Folder

Junction Folder,中文称为 "连接文件夹",是一种特殊类型的Windows文件系统对象,在NTFS文件系统中提供将一个文件夹映射到另一个位置。说白了,Junction Folder就是一种符号链接,但只能用于目录,不能用于文件。在Windows系统中,可以使用命令行工具mklink或第三方工具(如Sysinternals提供的junction工具)来创建Junction Folder。例如要将C:\LinkFolder指向D:\TargetFolder,可以使用以下命令。

mklink /J C:\LinkFolder D:\TargetFolder

0x02 .NET代码实现

利用 Junction Folder 结合 CLSID 和注册表实现权限维持,首先创建一个唯一的 CLSID,因为我们知道 CLSID 是在 Windows 注册表中用来标识特定对象的唯一标识符。当访问与该 CLSID 关联的文件夹时,系统会在注册表中查找对应的键值,并加载指定的 DLL 。具体代码如下所示。

string text = "{" + Convert.ToString(Gu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dot.Net安全矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值