Exemple #1
0
        public async Task ReadSPNTargets_SPNLengthZero_YieldBreak()
        {
            var          processor             = new SPNProcessors(new MockLDAPUtils());
            var          servicePrincipalNames = Array.Empty <string>();
            const string distinguishedName     = "cn=policies,cn=system,DC=testlab,DC=local";

            await foreach (var spn in processor.ReadSPNTargets(servicePrincipalNames, distinguishedName))
            {
                Assert.Null(spn);
            }
        }
Exemple #2
0
        public async void ReadSPNTargets_MissingMssqlSvc_NotRead()
        {
            var processor = new SPNProcessors(new MockLDAPUtils());

            string[]     servicePrincipalNames = { "myhost.redmond.microsoft.com:1433" };
            const string distinguishedName     = "CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM";

            await foreach (var spn in processor.ReadSPNTargets(servicePrincipalNames, distinguishedName))
            {
                Assert.Null(spn);
            }
        }
Exemple #3
0
 public ObjectProcessors(IContext context, ILogger log)
 {
     _context                  = context;
     _aclProcessor             = new ACLProcessor(context.LDAPUtils);
     _spnProcessor             = new SPNProcessors(context.LDAPUtils);
     _ldapPropertyProcessor    = new LDAPPropertyProcessor(context.LDAPUtils);
     _domainTrustProcessor     = new DomainTrustProcessor(context.LDAPUtils);
     _computerAvailability     = new ComputerAvailability(context.PortScanTimeout, skipPortScan: context.Flags.SkipPortScan, skipPasswordCheck: context.Flags.SkipPasswordAgeCheck);
     _computerSessionProcessor = new ComputerSessionProcessor(context.LDAPUtils);
     _groupProcessor           = new GroupProcessor(context.LDAPUtils);
     _containerProcessor       = new ContainerProcessor(context.LDAPUtils);
     _gpoLocalGroupProcessor   = new GPOLocalGroupProcessor(context.LDAPUtils);
     _methods                  = context.ResolvedCollectionMethods;
     _cancellationToken        = context.CancellationTokenSource.Token;
     _log = log;
 }
Exemple #4
0
        public async void ReadSPNTargets_SuppliedPort_ParsedCorrectly()
        {
            var processor = new SPNProcessors(new MockLDAPUtils());

            string[]     servicePrincipalNames = { "MSSQLSvc/PRIMARY.TESTLAB.LOCAL:2345" };
            const string distinguishedName     = "cn=policies,cn=system,DC=testlab,DC=local";

            var expected = new SPNPrivilege
            {
                ComputerSID = "S-1-5-21-3130019616-2776909439-2417379446-1001", Port = 2345, Service = EdgeNames.SQLAdmin
            };

            await foreach (var actual in processor.ReadSPNTargets(servicePrincipalNames, distinguishedName))
            {
                Assert.Equal(expected.ComputerSID, actual.ComputerSID);
                Assert.Equal(expected.Port, actual.Port);
                Assert.Equal(expected.Service, actual.Service);
            }
        }