在 Windows 内网渗透过程中,通常攻击者会创建操作系统隐藏的用户,这种影子用户不会显示在 Windows 登录界面或命令行中,因此常用于维持目标权限阶段。
0x01 什么是影子账户
在 Windows 操作系统中,影子用户通常是指那些不易被普通用户或系统管理员察觉的隐藏用户账户,创建影子用户常见的做法是在用户名后面添加 $ 符号,例如,admin$。通过这种方式创建的用户不会显示在 Windows 登录界面或命令行中,因此常用于维持目标权限阶段。
0x02 创建影子账户
在.NET中,我们可以使用System.DirectoryServices命名空间可以方便地管理用户和组。通过DirectoryEntry类,我们可以访问和操作本地计算机的用户和组。工具的核心功能是创建一个新用户,将其添加到Administrators和Remote Desktop Users组中,并将其设置为影子账户。
首先通过创建一个DirectoryEntry对象访问本地计算机的目录服务,具体实现代码如下所示。
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
这里使用WinNT协议,该协议出