Video summary
Active Directory Security Testing in Maester 2.2
Main summary
Key takeaways
Summary (Maester 2.2 / 2.0 focus: Active Directory security & operational testing)
- Maester isn’t “dead” (Active Directory remains important). The discussion references Microsoft and conference messaging emphasizing AD persistence and valid long-term use cases, even though net-new use cases may be limited.
- Maester’s value proposition: a test-driven platform where teams write and consume reusable checks to monitor, manage, and secure identity systems—particularly Active Directory (AD). It began with examples/samples, then expanded quickly through community contributions.
Community & adoption
- Maester has grown to hundreds of contributors (spoken as ~130–140+).
- It has seen 600,000+ downloads (with expectation of approaching 1M).
- A major early catalyst was Michael, who provided a large set of working CISA-related AD tests, significantly expanding the test catalog.
Active Directory tests in Maester 2.0
- The episode’s theme is that Maester 2.0’s big addition was AD-focused tests, particularly those written by Michael.
- These tests combine operational health patterns with security assessments, informed by years of tool analysis and observed patterns across different AD forests/domains.
How Maester AD tests compare to other tools
The speakers compare Maester with tools such as:
- PingCastle
- Testimo
- Locksmith
- and others
Key distinction: many tools provide valuable checks, but Maester aims to bring them into a single central platform and to align checks around common operational/security themes for consistent “health check”-style assessment.
Maester’s AD tests are described as initially grounded in prior market/tool analysis (≈6 years ago) and then continually improved.
Pass/fail vs deeper investigation (metadata, tagging)
Some tests are binary pass/fail, but Maester adds more deeper metadata so teams can:
- Flag which findings are worth regular monitoring/investigation
- Use tagging (introduced previously) to track trends over time (e.g., whether anti-patterns are increasing or decreasing)
Example anti-pattern (operational): group nesting
- Group nesting may be functional/intended, but long chains (4–6+ groups) become operationally confusing (hard to determine effective permissions) and can indirectly increase risk/incidents.
“Source of truth” for best practices / rules
Maester relies heavily on:
- Community feedback
- External guidance and best-practice documentation from multiple teams
- Microsoft’s extensive AD documentation
The episode argues Microsoft continues to produce strong documentation and updates for legacy/older platforms—AD is framed as roughly ~30 years old but still actively documented and operationally improved.
Running AD assessments: workflow and permissions
Interactive mode
- Can run in a PowerShell session with network connectivity (“line of sight”) to a domain controller.
- Requires the AD PowerShell module for some interactions, but most data can be gathered using LDAP-style querying.
Permissions model
- Most tests are read-only; therefore, typical domain user accounts can gather subset results.
- For “tier-0”-like depth, higher privileges (tier zero endpoints / naming contexts) may be needed to run all tests and gain more analytical coverage.
Automation mode
- Use a local runner or integrate into pipeline/container workflows (e.g., ensure connectivity to a DC from a controlled runtime).
- Explicit selection/tagging is required to run AD tests—AD is not assumed by default.
Dependency direction: toward LDAP/NET over AD PowerShell module
The near-term direction is to reduce dependency on the Active Directory PowerShell module:
- Discussion notes Locksmith moving away from the module and using largely LDAP query-level approaches.
Benefits:
- Better eventual cross-platform potential (e.g., running from Linux/macOS or non-domain-joined systems)
- Broader automation scenarios
Some AD-adjacent protocols may still be used (e.g., SMB lookups), but the goal is module independence.
Merging multi-scan results into one report
Maester already supports combining results from multiple runs:
- A commandlet exists to merge results into a single HTML report.
Planned ergonomics include smoother execution across different test sets without PowerShell session conflicts (e.g., DLL/module conflicts when loading multiple workloads into one session).
Maester 3.0 roadmap (engine improvements)
Direction teased for Maester 3:
- A new test execution engine separated from per-test licensing code
- Improved performance via multi-threading/parallel tests
- Running in environments like Azure Functions
- Likely keep Pester for backward compatibility, but implement a more scalable core engine
This is framed as a major shift to improve licensing/engine management and execution efficiency.
Performance & safety guidance (important)
The episode addresses AD scanning concerns directly:
- It’s unlikely to “take down” AD unless the environment already has performance problems.
- However, it can generate a significant number of LDAP calls and depends on PowerShell runtime behavior.
Primary risk: PowerShell caching/memory usage
- PowerShell can cache data in memory; for large ADs, caching may become huge.
- Memory limits can cause scans to take hours and potentially run out of memory.
Strong recommendation
- Do not run directly on a domain controller.
- Run from a privileged workstation or controlled environment.
- Prefer targeted test selection rather than default full cache population.
Practical strategy for big environments
- Use tags/exclude to split tests into batches, then merge reports afterward to avoid memory/time constraints.
Multi-domain / multi-forest realities
- Current limitation: AD tests are effectively single-domain at a time.
- Aggregation is possible but may require “surgery” (piece JSONs together / merge into HTML).
- Future automation is expected to simplify aggregation across multi-domain / multi-forest setups.
Tiering model testing (AD security administration)
The episode includes a focused discussion of AD tiering, mentioning:
- ESAE
- EAM (management forest / reduced implicit trust)
The more common operational model discussed is tier 0 / tier 1 / tier 2 based on access control groups and object-level protections.
Maester intent:
- Codify Microsoft tiering guidance into codified tests
- Some existing tests relate to legacy/unsafe ACL inheritance and DA-like practices, which can connect to tiering hygiene
- Some tiering-related discovery tests are noted to have performance impact and may require improvement
Beyond AD: what else Maester could monitor
Maester can support unit-test style posture/state validation, not just “configuration change” tooling.
Example (on-prem, bespoke):
- Build fresh VMs daily
- Run Maester checks to verify endpoint baseline configurations are applied correctly (e.g., profiles/groups, BitLocker, tune policies, build status reporting)
GPO pain point addressed
- GPOs are powerful but often lack strong reporting for the actual resulting state on endpoints.
- Maester can validate “what’s applied” rather than trusting assumed configuration.
DSC-adjacent comparison
- Maester is framed as more approachable for unit testing and reporting than DSC’s author/compile/deploy workflow.
- Maester focuses on evidence-based state validation with human-readable results, complementing IaC/config-management tools.
Product sponsors / segment
- The video includes a sponsor segment for AppGubScore (Entra app governance/risk visibility), but the technical core discussion remains on Maester.
Main speakers / sources
- Michael (Michael Soul) — co-maintainer; major contributor to AD tests (including CISA-related tests); discusses Maester 2.x AD testing and roadmap.
- Sam — co-host / contributor; provides context on Maester history and integration/usage questions.
- Fabian — referenced as part of the original Maester work (history contributor; not the main speaker in the excerpt).
- Jake — referenced as presenting and as someone building/iterating on related tooling concepts (mentions Locksmith).
- Steve — referenced in the context of NLM troubleshooting/telemetry discussion (likely a Microsoft team member; not fully identified).