Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Powermad — PowerShell MachineAccountQuota- und DNS-Exploit-Tools | Kitploit
Tools/GitHubGitHub/kevin-robertson/powermad
Privilege EscalationAufklärungIdentitätsmanagementLaterale BewegungPenetrationstestsAuthentifizierungRed Teaming
GitHubkevin-robertson/powermad

Powermad

PowerShell MachineAccountQuota- und DNS-Exploit-Tools

Repository anzeigen
1.5k18817vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Powermad_logo

PowerShell MachineAccountQuota und DNS-Exploit-Tools

Wiki

  • https://github.com/Kevin-Robertson/Powermad/wiki

Blog-Beitrag

  • Jenseits von LLMNR/NBNS-Spoofing – Ausnutzen von Active Directory-integriertem DNS

Funktionen

  • MachineAccountQuota-Funktionen
  • DNS-Funktionen
  • Dynamic-Updates-Funktionen
  • ADIDNS-Funktionen
  • Verschiedene Funktionen

MachineAccountQuota-Funktionen

Die Standardeinstellung des Active Directory-Attributs ms-DS-MachineAccountQuota erlaubt allen Domänenbenutzern, bis zu 10 Computerkonten zu einer Domäne hinzuzufügen. Powermad enthält eine Reihe von Funktionen zur Ausnutzung von ms-DS-MachineAccountQuota, ohne ein tatsächliches System an AD anzubinden.

Get-MachineAccountAttribute

Diese Funktion kann Werte zurückgeben, die in einem Computerkontoattribut gespeichert sind.

Beispiel:
  • Den Wert von 'description' eines Computerkontos mit Namen 'test' abrufen.
    Get-MachineAccountAttribute -MachineAccount test -Attribute discription

Get-MachineAccountCreator

Diese Funktion nutzt die ms-DS-CreatorSID-Eigenschaft von Computerkonten, um eine Liste von Benutzernamen oder SIDs und das zugehörige Computerkonto zurückzugeben. Die ms-DS-CreatorSID-Eigenschaft wird nur dann befüllt, wenn ein Computerkonto von einem unprivilegierten Benutzer erstellt wird.

Beispiel:
  • Alle befüllten ms-DS-CreatorSID-Attribute abrufen.
    Get-MachineAccountCreator

Disable-MachineAccount

Diese Funktion kann ein Computerkonto deaktivieren, das über New-MachineAccount hinzugefügt wurde. Diese Funktion sollte mit demselben Benutzer verwendet werden, der das Computerkonto erstellt hat.

Beispiel:
  • Deaktivieren eines Computerkontos mit Namen test.
    Disable-MachineAccount -MachineAccount test

Enable-MachineAccount

Diese Funktion kann ein Computerkonto aktivieren, das über Disable-MachineAccount deaktiviert wurde. Diese Funktion sollte mit demselben Benutzer verwendet werden, der das Computerkonto erstellt hat.

Beispiel:
  • Aktivieren eines Computerkontos mit Namen test.
    Enable-MachineAccount -MachineAccount test

New-MachineAccount

Diese Funktion kann ein neues Computerkonto direkt über eine LDAP-Hinzufügeanfrage an einen Domänencontroller hinzufügen, ohne den Anbindungsstatus des Hostsystems an Active Directory zu beeinflussen.

Die LDAP-Hinzufügeanfrage ist nach der Anfrage modelliert, die beim Beitritt eines Systems zu einer Domäne verwendet wird. Die folgenden (größtenteils vom DC validierten) Attribute werden gesetzt:

  • objectClass = Computer
  • SamAccountName = Computerkontoname mit nachgestelltem $
  • userAccountControl = 4096
  • DnsHostName = FQDN
  • ServicePrincipalName = 2 HOST- und 2 RestrictedKrbHost-SPNs unter Verwendung des FQDN und des Kontonamens
  • unicodePwd = das angegebene Passwort

Ein neues Computerkonto kann für Aufgaben wie die Nutzung von Berechtigungen der Gruppe 'Domänencomputer' oder als zusätzliches Konto für die Domänenaufzählung, DNS-Exploits usw. verwendet werden. Standardmäßig haben Computerkonten keine Berechtigung zur lokalen Anmeldung. Sie können entweder Tools/Clients verwenden, die Netzwerkanmeldeinformationen direkt akzeptieren, oder 'runas /netonly' oder @harmj0y's Invoke-UserImpersonation/Invoke-RevertToSelf (enthalten in PowerView) verwenden.

  • https://github.com/PowerShellMafia/PowerSploit/tree/dev/Recon

Mit Standardbenutzern erstellte Computerkonten haben die mS-DS-CreatorSID mit der SID des Standardbenutzers befüllt.

Beachten Sie, dass ms-DS-MachineAccountQuota authentifizierten Benutzern nicht die Möglichkeit bietet, hinzugefügte Computerkonten aus AD zu löschen. Es sind erhöhte Rechte erforderlich, um das Konto zu entfernen, wenn Sie vermeiden möchten, diese Aufgabe an Ihren Kunden weiterzugeben.

Beispiele:
  • Ein neues Computerkonto hinzufügen
    New-MachineAccount -MachineAccount test

  • Das hinzugefügte Konto mit runas /netonly verwenden
    runas /netonly /user:domain\test$ powershell

Remove-MachineAccount

Diese Funktion entfernt ein Computerkonto mit einem privilegierten Konto.

Beispiel:
  • Entfernen eines Computerkontos mit Namen test mit Domänenadministrator-Anmeldeinformationen
    Remove-MachineAccount -MachineAccount test -Credential $domainadmin

Set-MachineAccountAttribute

Diese Funktion kann einige Attribute für ein Konto befüllen, das über New-MachineAccount hinzugefügt wurde, sofern ein Benutzer Schreibzugriff hat. Diese Funktion sollte mit demselben Benutzer verwendet werden, der das Computerkonto erstellt hat.

Hier ist eine Liste einiger der üblichen Attribute, für die Schreibzugriff aktiviert ist:

  • AccountDisabled
  • description
  • displayName
  • DnsHostName
  • ServicePrincipalName
  • userParameters
  • userAccountControl
  • msDS-AdditionalDnsHostName
  • msDS-AllowedToActOnBehalfOfOtherIdentity
  • SamAccountName
Beispiele:
  • Das nachgestellte '$' aus dem SamAccountName-Attribut entfernen
    Set-MachineAccountAttribute -MachineName test -Attribute SamAccountName -Value test

  • Das modifizierte Konto mit runas /netonly verwenden
    runas /netonly /user:domain\test powershell

Invoke-AgentSmith

Diese Funktion nutzt New-MachineAccount, um rekursiv so viele Computerkonten wie möglich von einem einzigen unprivilegierten Konto über MachineAccountQuota zu erstellen. Einzelheiten finden Sie im folgenden Blogbeitrag:

  • https://blog.netspi.com/machineaccountquota-transitive-quota

DNS-Funktionen

Standardmäßig haben authentifizierte Benutzer die Berechtigung 'Alle untergeordneten Objekte erstellen' auf der Active Directory-integrierten DNS-Zone (ADIDNS). Die meisten Einträge, die derzeit nicht in einer AD-Zone vorhanden sind, können hinzugefügt/gelöscht werden.

Dynamic-Updates-Funktionen

Invoke-DNSUpdate

Diese Funktion kann zum Hinzufügen/Löschen von dynamischen DNS-Einträgen verwendet werden, wenn die Standardeinstellung für aktivierte sichere dynamische Updates auf einem Domänencontroller konfiguriert ist. A-, AAAA-, CNAME-, MX-, PTR-, SRV- und TXT-Einträge werden derzeit unterstützt. Invoke-DNSUpdate ist nach dem nsupdate-Tool von BIND modelliert, wenn die Optionen '-g' oder 'gsstsig' verwendet werden.

Beispiele:
  • Einen A-Eintrag hinzufügen
    Invoke-DNSUpdate -DNSType A -DNSName www -DNSData 192.168.100.125

  • Einen A-Eintrag löschen
    Invoke-DNSUpdate -DNSType A -DNSName www.test.local

  • Einen SRV-Eintrag hinzufügen
    Invoke-DNSUpdate -DNSType SRV -DNSName _autodiscover._tcp.test.local -DNSData system.test.local -DNSPriority 100 -DNSWeight 80 -DNSPort 443

ADIDNS-Funktionen

Disable-ADIDNSNode

Diese Funktion kann einen ADIDNS-Knoten als Tombstone markieren.

Beispiel:

*Tombstone einen Wildcard-Eintrag.
`Disable-ADIDNSNode -Node *

Enable-ADIDNSNode

Diese Funktion kann einen als Tombstone markierten Knoten wieder in einen gültigen Eintrag umwandeln.

Beispiel:
  • Aktivieren eines Wildcard-Eintrags.
    Enable-ADIDNSNode -Node *

Get-ADIDNSNodeAttribute

Diese Funktion kann Werte zurückgeben, die in einem DNS-Knotenattribut gespeichert sind.

Beispiel:
  • Den Wert des dnsRecord-Attributs eines Knotens mit Namen test abrufen.
    Get-ADIDNSNodeAttribute -Node test -Attribute dnsRecord

Get-ADIDNSNodeOwner

Diese Funktion kann den Besitzer eines ADIDNS-Knotens zurückgeben.

Beispiel:
  • Den Besitzer eines Knotens mit Namen test abrufen.
    Get-ADIDNSNodeOwner -Node test

Get-ADIDNSPermission

Diese Funktion ruft eine DACL eines ADIDNS-Knotens oder einer ADIDNS-Zone ab.

Tool herunterladen