Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Powermad — Strumenti di exploit PowerShell per MachineAccountQuota e DNS | Kitploit
Strumenti/GitHubGitHub/kevin-robertson/powermad
Escalation di PrivilegiRicognizioneGestione IdentitàMovimento LateralePenetration TestingAutenticazioneRed Teaming
GitHubkevin-robertson/powermad

Powermad

Strumenti di exploit PowerShell per MachineAccountQuota e DNS

Vedi Repository
1.5k188173 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Powermad_logo

PowerShell MachineAccountQuota e strumenti di exploit DNS

Wiki

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

Post del blog

  • Oltre lo spoofing LLMNR/NBNS - Sfruttare il DNS integrato in Active Directory

Funzioni

  • Funzioni di MachineAccountQuota
  • Funzioni DNS
  • Funzioni per gli aggiornamenti dinamici
  • Funzioni ADIDNS
  • Funzioni varie

Funzioni di MachineAccountQuota

L'impostazione predefinita dell'attributo ms-DS-MachineAccountQuota di Active Directory consente a tutti gli utenti del dominio di aggiungere fino a 10 account macchina a un dominio. Powermad include un set di funzioni per sfruttare ms-DS-MachineAccountQuota senza collegare un sistema reale ad AD.

Get-MachineAccountAttribute

Questa funzione può restituire i valori popolati in un attributo di un account macchina.

Esempio:
  • Ottieni il valore di 'description' da un account macchina chiamato 'test'.
    Get-MachineAccountAttribute -MachineAccount test -Attribute discription

Get-MachineAccountCreator

Questa funzione sfrutta la proprietà ms-DS-CreatorSID sugli account macchina per restituire un elenco di nomi utente o SID e l'account macchina associato. La proprietà ms-DS-CreatorSID viene popolata solo quando un account macchina viene creato da un utente non privilegiato.

Esempio:
  • Ottieni un elenco di tutti gli attributi ms-DS-CreatorSID popolati.
    Get-MachineAccountCreator

Disable-MachineAccount

Questa funzione può disabilitare un account macchina aggiunto tramite New-MachineAccount. Questa funzione dovrebbe essere utilizzata con lo stesso utente che ha creato l'account macchina.

Esempio:
  • Disabilita un account macchina chiamato test.
    Disable-MachineAccount -MachineAccount test

Enable-MachineAccount

Questa funzione può abilitare un account macchina disabilitato tramite Disable-MachineAccount. Questa funzione dovrebbe essere utilizzata con lo stesso utente che ha creato l'account macchina.

Esempio:
  • Abilita un account macchina chiamato test.
    Enable-MachineAccount -MachineAccount test

New-MachineAccount

Questa funzione può aggiungere un nuovo account macchina direttamente tramite una richiesta di aggiunta LDAP a un controller di dominio, senza influenzare lo stato di connessione del sistema host ad Active Directory.

La richiesta di aggiunta LDAP è modellata sulla richiesta di aggiunta utilizzata quando si unisce un sistema a un dominio. Vengono impostati i seguenti attributi (per lo più convalidati dal DC):

  • objectClass = Computer
  • SamAccountName = Nome dell'account macchina con $ finale
  • userAccountControl = 4096
  • DnsHostName = FQDN
  • ServicePrincipalName = 2 SPN HOST e 2 SPN RestrictedKrbHost utilizzando sia il FQDN che il nome dell'account
  • unicodePwd = la password specificata

Un nuovo account macchina può essere utilizzato per attività come sfruttare i privilegi concessi al gruppo 'Domain Computers' o come account aggiuntivo per l'enumerazione del dominio, exploit DNS, ecc. Per impostazione predefinita, gli account macchina non hanno il permesso di accesso locale. È possibile utilizzare strumenti/client che accettano direttamente credenziali di rete o tramite l'uso di 'runas /netonly' o Invoke-UserImpersonation/Invoke-RevertToSelf di @harmj0y inclusi in PowerView.

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

Gli account macchina creati con utenti standard avranno mS-DS-CreatorSID popolato con il SID dell'utente standard.

Si noti che ms-DS-MachineAccountQuota non fornisce la possibilità agli utenti autenticati di eliminare gli account macchina aggiunti da AD. Sarà necessario acquisire privilegi elevati per rimuovere l'account se si desidera evitare di delegare l'attività al proprio client.

Esempi:
  • Aggiungi un nuovo account macchina
    New-MachineAccount -MachineAccount test

  • Utilizza l'account aggiunto con runas /netonly
    runas /netonly /user:domain\test$ powershell

Remove-MachineAccount

Questa funzione rimuove un account macchina con un account privilegiato.

Esempio:
  • Rimuovi un account macchina chiamato test con credenziali di amministratore di dominio
    Remove-MachineAccount -MachineAccount test -Credential $domainadmin

Set-MachineAccountAttribute

Questa funzione può popolare alcuni attributi per un account aggiunto tramite New-MachineAccount, se un utente ha accesso in scrittura. Questa funzione dovrebbe essere utilizzata con lo stesso utente che ha creato l'account macchina.

Ecco un elenco di alcuni dei soliti attributi con accesso in scrittura abilitato:

  • AccountDisabled
  • description
  • displayName
  • DnsHostName
  • ServicePrincipalName
  • userParameters
  • userAccountControl
  • msDS-AdditionalDnsHostName
  • msDS-AllowedToActOnBehalfOfOtherIdentity
  • SamAccountName
Esempi:
  • Rimuovi il '$' finale dall'attributo SamAccountName
    Set-MachineAccountAttribute -MachineName test -Attribute SamAccountName -Value test

  • Utilizza l'account modificato con runas /netonly
    runas /netonly /user:domain\test powershell

Invoke-AgentSmith

Questa funzione sfrutta New-MachineAccount per creare ricorsivamente quanti più account macchina possibile da un singolo account non privilegiato tramite MachineAccountQuota. Vedi il seguente post del blog per i dettagli:

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

Funzioni DNS

Per impostazione predefinita, gli utenti autenticati hanno il permesso 'Crea tutti gli oggetti figlio' sulla zona DNS integrata in Active Directory (ADIDNS). La maggior parte dei record che non esistono attualmente in una zona AD possono essere aggiunti/eliminati.

Funzioni per gli aggiornamenti dinamici

Invoke-DNSUpdate

Questa funzione può essere utilizzata per aggiungere/eliminare record DNS dinamici se l'impostazione predefinita di aggiornamenti dinamici sicuri abilitati è configurata su un controller di dominio. I record A, AAAA, CNAME, MX, PTR, SRV e TXT sono attualmente supportati. Invoke-DNSUpdate è modellato sullo strumento nsupdate di BIND quando si utilizzano le opzioni '-g' o 'gsstsig'.

Esempi:
  • Aggiungi un record A
    Invoke-DNSUpdate -DNSType A -DNSName www -DNSData 192.168.100.125

  • Elimina un record A
    Invoke-DNSUpdate -DNSType A -DNSName www.test.local

  • Aggiungi un record SRV
    Invoke-DNSUpdate -DNSType SRV -DNSName _autodiscover._tcp.test.local -DNSData system.test.local -DNSPriority 100 -DNSWeight 80 -DNSPort 443

Funzioni ADIDNS

Disable-ADIDNSNode

Questa funzione può contrassegnare come tombstone un nodo ADIDNS.

Esempio:
  • Contrassegna come tombstone un record wildcard.
    `Disable-ADIDNSNode -Node *

Enable-ADIDNSNode

Questa funzione può trasformare un nodo contrassegnato come tombstone in un record valido.

Esempio:
  • Abilita un record wildcard.
    Enable-ADIDNSNode -Node *

Get-ADIDNSNodeAttribute

Questa funzione può restituire i valori popolati in un attributo di un nodo DNS.

Esempio:
  • Ottieni il valore dell'attributo dnsRecord popolato di un nodo chiamato test.
    Get-ADIDNSNodeAttribute -Node test -Attribute dnsRecord

Get-ADIDNSNodeOwner

Questa funzione può restituire il proprietario di un nodo ADIDNS.

Esempio:
  • Ottieni il proprietario di un nodo chiamato test. Get-ADIDNSNodeOwner -Node test

Get-ADIDNSPermission

Questa funzione ottiene la DACL di un nodo o di una zona ADIDNS.

Esempi:
  • Ottieni la DACL per la zona predefinita integrata in Active Directory da un sistema collegato al dominio.
    Get-ADIDNSPermission
Scarica lo strumento