SpnManager Kerberos SPN auditing and repair for Active Directory

Get-KeytabDriftAudit

The Get-KeytabDriftAudit cmdlet is a crucial tool for identifying potential security risks in the Active Directory (AD) posture. It flags keytab-bearing se...

The Get-KeytabDriftAudit cmdlet is a crucial tool for identifying potential security risks in the Active Directory (AD) posture. It flags keytab-bearing service accounts with possible skew between their AD posture and keytab/enc-type configuration.

  • This cmdlet benefits organizations by:

    • Enhancing AD security through proactive monitoring
    • Reducing the risk of unauthorized access or data breaches
    • Improving overall operational efficiency by identifying potential issues early on
  • The following roles use this cmdlet regularly:

    • Security administrators and analysts to monitor and maintain AD posture
    • IT operations teams to perform routine security checks
    • Compliance officers to ensure adherence to regulatory requirements
  • Key risks associated with this cmdlet include:

    • False positives: accounts flagged as high-confidence skew due to external factors (e.g., host reach)
    • Inadequate resource allocation: neglecting to address identified issues promptly
  • A manager should care about the output of Get-KeytabDriftAudit when:

    • Reviewing security audit logs and identifying potential risks
    • Monitoring AD posture for signs of unauthorized access or data breaches
    • Allocating resources to address identified security concerns

To use the Get-KeytabDriftAudit cmdlet effectively:

  1. Open PowerShell and navigate to the desired directory.
  2. Execute the following command: Get-KeytabDriftAudit
  3. Review the output, which will include a list of accounts with possible skew between their AD posture and keytab/enc-type configuration.

Code Examples

# Get all high-confidence skew accounts
$highConfidenceSkewAccounts = Get-KeytabDriftAudit -IncludeLowConfidence $false

# Get low-confidence skew accounts (accounts flagged due to recent reset or legacy-only enc-types)
$lowConfidenceSkewAccounts = Get-KeytabDriftAudit -IncludeLowConfidence $true

Watchpoints

  • Monitor the output of Get-KeytabDriftAudit regularly to identify potential security risks.
  • Review and address any high-confidence skew accounts promptly.
  • Consider implementing additional security measures (e.g., keytab rotation, AES hardening) to mitigate identified risks.

The Get-KeytabDriftAudit cmdlet helps you identify keytab-bearing service accounts that might have problems with their AD posture. Here’s a simple step-by-step guide:

  1. You’re looking at the output of Get-KeytabDriftAudit.
  2. Each row in the table tells you about an account.
  3. The “PossibleSkew” column shows whether the account has possible skew or not.

What to Do When Stuck

  • If you’re having trouble understanding the output, refer to the documentation for more information on what each column means.
  • If you need help with troubleshooting, contact your IT team or security administrator.
Field Value
Vendor Detent Point LLC
Product SpnManager 0.4.0
Licence Proprietary - licensed, not sold. See LICENSE.
Operational impact Read-only. Queries Active Directory and reports findings; changes nothing.
Rights required Directory read access.
Providers covered Audit.KeytabDrift
Approval recommendation Approve for general operational use. It cannot alter directory state.

Licence terms are proprietary and are supplied with the purchase, subscription or evaluation agreement. No open-source licence is granted.

What Why
Windows PowerShell 5.1 or later Declared by the module manifest.
ActiveDirectory 1.0.0.0 Required module. Ships with RSAT; install the Active Directory PowerShell feature.
A reachable domain controller Every provider reads from Active Directory.
An account with directory read access Needed to enumerate accounts and their SPNs.

Data Handling

  • The Get-KeytabDriftAudit cmdlet does not collect or store any sensitive data.
  • All data processed by this cmdlet is in-memory and does not persist beyond execution.

Transit

  • Data transmitted over the network (if applicable) is encrypted using standard PowerShell security protocols.
  • No encryption is performed by the Get-KeytabDriftAudit cmdlet itself.

At-Rest

  • Data stored on disk (if applicable) is encrypted and protected according to standard system security policies.

Audit Trail

  • The Get-KeytabDriftAudit cmdlet logs its execution and output to the default PowerShell event log.
  • No custom audit trail or logging mechanisms are implemented by this cmdlet.

Compliance Requirements

  • This cmdlet adheres to all relevant regulatory requirements for data handling, transit, at-rest storage, and audit trails.
  • Users must ensure compliance with their organization’s specific security policies and procedures.

This is the sense step. It reads the current state and produces a candidate; nothing is changed. Providers: Audit.KeytabDrift.

Example 1

Get-KeytabDriftAudit

Audits every keytab-bearing account in the domain and returns one finding per account that shows a possible keytab skew.

Example 2

Get-KeytabDriftAudit -RecentPasswordWindowDays 14

Treats only password resets in the last 14 days as the recent-reset signal.

Example 3

Get-KeytabDriftAudit | Where-Object HighConfidenceSkew | Export-KeytabDriftRunbook

Renders operator hand-off runbooks for only the highest-confidence findings.

Also uses: Export-KeytabDriftRunbook (Handoff).

Example 4

Get-KeytabDriftAudit -IncludeLowConfidence

Also surfaces single-signal, low-confidence accounts (a recent reset alone, or legacy-only enc-types alone) alongside the high-confidence findings.