首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#将DOMAIN\USER转换为USER @ DOMAIN

在C#中,可以使用System.DirectoryServices.AccountManagement命名空间中的PrincipalContextUserPrincipal类来将DOMAIN\USER转换为USER @ DOMAIN。以下是一个示例代码:

代码语言:csharp
复制
using System;
using System.DirectoryServices.AccountManagement;

class Program
{
    static void Main(string[] args)
    {
        string domainUser = "DOMAIN\\USER";
        string userDomain = ConvertDomainUserToUserDomain(domainUser);
        Console.WriteLine(userDomain);
    }

    static string ConvertDomainUserToUserDomain(string domainUser)
    {
        string[] parts = domainUser.Split('\\');
        string domain = parts[0];
        string user = parts[1];

        using (PrincipalContext context = new PrincipalContext(ContextType.Domain, domain))
        {
            UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(context, user);
            if (userPrincipal != null)
            {
                return $"{userPrincipal.DisplayName} @ {domain}";
            }
        }

        return null;
    }
}

在这个示例中,我们首先将DOMAIN\USER字符串拆分为DOMAIN和USER两个部分。然后,我们使用PrincipalContext类创建一个指向DOMAIN的上下文,并使用UserPrincipal.FindByIdentity方法查找指定的用户。如果找到了用户,我们就返回USER @ DOMAIN格式的字符串。

注意:在使用PrincipalContextUserPrincipal类时,需要引用System.DirectoryServices.AccountManagement命名空间。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

From Domain User to Enterprise Admin

协议启用签名的网络中是可行的,此外使用高权限的帐户对服务器和工作站进行身份验证的域管理员可能会给攻击者提供完整域信息泄露的可能性,因为他们的凭据可以通过LSASS或使用Remote Potato技术进行转储...Step 3:运行以下命令在终端输出时转为后台作业,并通过socat将传入的流量转发回RPC侦听器 sudo stty -tostop sudo socat TCP-LISTEN:135,fork,reuseaddr...Step :6:之后执行"impacket psexec"模块或任何其他连接(RDP到域控制器等)验证用户是否已获得提升的权限,由于用户对域具有复制权限,因此也可以使用DCSync作为更隐蔽的方法来转储来自域的信息...之后pentstlab用户也成为了Enterprise Admin组的一员: net user pentestlab ?...labs.sentinelone.com/relaying-potatoes-dce-rpc-ntlm-relay-eop/ https://pentestlab.blog/2021/05/04/remote-potato-from-domain-user-to-enterprise-admin

53310
  • SharpMapExec:针对网络渗透测试高级瑞士Knife

    广大研究人员可以指定是否要使用Kerberos或NTLM身份验证,如果选择了Kerberos,那么该工具将创建一个令牌,并使用Rubeus导入或请求凭证。...HASH /domain:DOMAIN /computername:TARGET SharpMapExec.exe kerberos smb user:USER /password.../domain:DOMAIN /computername:TARGET SharpMapExec.exe kerberos winrm user:USER /rc4:HASH...工具使用样例 该工具支持在内存中执行大量的C#程序: Kerberos密码喷射并扫描本地管理员访问: 该项目支持扫描JEA节点,将分析非默认命令的源代码,并检查节点是否未配置为no-language模式...: 使用一个NT哈希扫描本地管理员密码复用: 大批量转储Lsass进程,并将其保存到loot文件夹: 在某些使用Kerberos的场景下,可能会要求用户同步DC时钟并设置DNS: net time \\

    90520

    SOAPHound:一款功能强大的基于ADWS协议的活动目录环境枚举工具

    接下来,ADWS服务器将拆封并解析LDAP查询,然后将它们转发到运行在同一域控制器上的LDAP服务器。因此,LDAP流量并不是直接发送的,因此不容易被常见的监控工具检测到。...工具下载 由于该工具基于C#开发,因此我们首先需要在本地设备上安装并配置好最新版本的Visual Studio。...ADWS 连接所使用的用户名,格式为domain\user或user@domain --password ADWS 连接所使用的密码...--certdump (默认: false) 转储AD凭证服务数据 --bhdump (默认: false) 转储BH数据...缓存文件名 Splitting options: -a, --autosplit (默认: false) 启用AutoSplit模式:: 根据定义的阈值自动将检索对象分割成两个深度层次

    17910

    域持久性:银票攻击

    可能有多种方法可以做到这一点,但我们将快速跟踪并使用 Mimikatz 来获得它。让我们首先激活 mimikatz 并使用 sekurlsa::logonpasswords 命令转储哈希。...请注意,您可以按照任何方法转储哈希。 privilege::debug sekurlsa::logonpasswords 这将转储机器内存中的所有哈希值,包括机器帐户的哈希值。.../domain:目标域的有效 FQDN /service:为其生成票证的服务 /rc4:受害机器计算机帐户的 NTLM 哈希(之前找到) /user:模拟用户名 kerberos::golden /sid....4297093077601CC' /usr/share/wordlists/rockyou.txt --force 几秒钟后,我们收到了明文密码“ Password@1 ” 现在,让我们使用 Rubeus 将其转换为...因此,银票将立即被拒绝。 使用强密码防止暴力破解 控制必要的权限或将某些可以使用特定服务的用户列入白名单。 缓解 Kerberoasting

    94730

    客快物流大数据项目(八十九):ClickHouse的数据类型支持

    例如,将固定精度的数字转换为整数值,例如货币数量或页面加载时间用毫秒为单位表示。...因此,在处理文本日期时(例如,在保存文本转储时),请记住在夏令时更改期间可能存在歧义,如果时区发生更改,则可能存在匹配数据的问题。...Enum类型可以使用Alter无成本修改对应集合的值,可以使用Alter来添加或删除Enum的成员(出于安全保障,如果改变之前用过的Enum会报异常),也可以用Alter将Enum8转换为Enum16或反之...= [];查询user嵌套列name=zhangsan的数据select * from tbl_test_nested where hasAny(user.name,['zhangsan']);模糊查询...;使用IPv4NumToString和IPv6NumToString将Domain类型转换为字符串select url,IPv4NumToString(ip4) as ip4Str,IPv6NumToString

    3K51

    windows常用命令

    net 的常用用法 查看共享连接 net use 增加远程共享 net use \host /u:user pass 查看域中当前的主机列表 net view /domain 查看当前域中的用户 net...user /domain 增加一个本地用户 net user user pass /add 将新增的用户加到本地管理员组 net localgroup "Administrators" user /add...查看域中的密码策略 net accounts /domain 查看本地组 net localgroup "Group" 查看域中的组信息 net group /domain 查看域中指定组的成员 net...显示系统信息 systeminfo 查看远程主机的系统信息 systeminfo /S ip /U domain\user /P Pwd 显示进程和服务信息 tasklist /svc 显示所有进程以及...\Users\admin\Desktop\test.test')" 列出运行的服务 Get-Service I where object {$ .status -eq ''Running''} 编译 C#

    61900

    Go 应用程序设计标准

    我们可以定义 domain 包,把结构体和接口放在 domain 包,例如: package domain import "context" type User struct { Id...但是,当我们开发一个包含多个功能模块的应用程序时,为了方便功能模块之间相互调用,更建议将所有功能模块的结构体和接口存放到 domain 包。...*domain.User) (err error) { // TODO::implements it return } 阅读上面这段代码,我们可以发现 mysql 包主要作为 domain 包和操作数据库的方法实现之间的适配器...比如,我们未来想把数据库切换为 PostgreSQL,我们可以再定义一个 postgresql 包,提供 PostgreSQL 的支持。...05 使用 main 包将依赖关系连接起来 最后,我们使用 main 包将这些彼此孤立的包连接起来,将对象需要的依赖注入到对象中。

    21810
    领券