⚔️
DWSec Wiki
  • Welcome to the DWSec Notes
  • Windows Privilege Escalation
  • Active Directory
    • Fundamentals
      • Introduction
      • Protocols
      • Authentication
      • Glossary of terms
      • Objects
      • AD CS
    • Pentest Methodology
    • Insecure Logins
    • Bloodhound & ldapdomaindump
    • NTLMRelaying (445)
    • SMB Coercing (445)
    • Pre2k
    • DACL Abuse
    • Kerberoasting
    • Utility Tools
    • Powershell
  • Networking
    • Fundamentals
    • Pivoting, Tunneling and Portforwarding
    • DNS
    • Ligolo-ng
    • Toolbox
    • Protocols
      • 80/443 - HTTP/HTTPS
      • 389 - LDAP
      • 445 - SMB
  • Web
    • Active Enumeration
    • Passive Enumeration
  • ADPwn
  • Tools
    • Tools overview
Powered by GitBook
On this page
  • General terms
  • Object
  • Attributes
  • Schema
  • Container Objects
  • Forest
  • Domain
  • Organizational Units (OUs)
  • Identifier
  • Global Unique Identifier (GUID)
  • Security Principals
  • Security Identifier (SID)
  • Distinguished Name (DN)
  • Relative Distinguished Name (RDN)
  • sAMAAccountName
  • userPrincipalName
  • Service Principal Name (SPN)
  • Domain Controller
  • FSMO Roles
  • Global Catalog
  • Read-Only Domain Controller (RODC)
  • Replication
  • NTDS.DIT
  • Access Control
  • Group Policy Object (GPO)
  • Access Control List (ACL)
  • Access Control Entries (ACEs)
  • Discretionary Access Control List (DACL)
  • System Access Control Lists (SACL)
  • Fully Qualified Domain Name (FQDN)
  • Misc
  • Tombstone
  • AD Recycle Bin
  • SYSVOL
  • AdminSDHolder
  • dsHeuristics
  • adminCount
  • Active Directory Users and Computers (ADUC)
  • ADSI Edit
  • sIDHistory

Was this helpful?

  1. Active Directory
  2. Fundamentals

Glossary of terms

General terms

Object

All assets of a domain.

Ressources

TODO

Attributes

Attributes

Attributes define the character of objects. Two common attributes for computer objects are hostname and DNS. All attributes can be queried using LDAP. For more information:

389 - LDAP

Schema

Schema

Blueprint of the enterprise network. Defines available object types and optional and required attributes.

Container Objects

Forest

Domain

Can be consideres as a logical group of objects in Active Directory. Domains are part of a forest.

Root Domain

Forest

Collection of all domains. Can be thought of as the top level container of Active Directory.

Domain

  • Structure container of the AD network

  • Keeps objects like users and computers, organized in groups or organizational units.

  • Each domain hods own database with every object and applies own directives

Organizational Units (OUs)

  • Objects can be stored in OUs for easier administration

  • Often used to delegate administrative rights to specific users

    • With OUs they do not need administrative rights for the entire domain


Identifier

Global Unique Identifier (GUID)

  • Unique 128-Bit Wert

  • Wird jedem erstellten Objekt zugewiesen → Analog zu MAC-Adresse.

  • Wird im Attribut ObjectGUID gespeichert.

  • Mithilfe der GUID können die präzisesten Suchen nach bestimmten Objekten mithilfe der PowerShell gestartet werden.

    • Hilfreich, falls Informationen zu einem bestimmten Objekt benötigt werden.

  • ObjectGUID wir nie ausgetauscht und existiert, solange das Objekt existiert.

Security Principals

  • Alles was von einem OS authentifiziert werden kann.

  • Sind Domänenobjekte, die Zugriff zu anderen Ressourcen in einer Domain verwalten.

Security Identifier (SID)

  • Unique ID für Security Principals oder Security Groups

  • Jeder Account, Gruppe oder Prozess hat eigene SID

  • Wird von Domaincontroller abgefragt und in sicherer Datenbank gespeichert

  • SID kann nur einmal verwendet werden

    • Selbst wenn der dazugehörige Security Principal gelöscht wird, kann SID in der Umgebung nicht erneut verwendet werden.

  • Wenn Nutzer sich einloggt, erhält dieser vom System ein Zugriffstoken, welcher SID, gestattete Rechte und SIDs aller angehöriger Gruppen enthält.

    • Dieser Token wird genutzt, um Rechte zu prüfen, sobald Benutzer bestimmte Aktionen aus einem Computer ausführt.

  • Für bestimmte Gruppen gibt es auch bekannte und generische SIDs → zum Beispiel in der Everyone Group

Distinguished Name (DN)

  • Ganzer Pfad zu einem Objekt

  • Bsp:

    • cn=bjones, out=IT, ou=Employees, dc=inlanefreight, dc=local

    • Nutzer bjones arbeitet in IT-Department von der Firma inlanefreight und gehört der OU an, welche die Nutzer der Gruppe Employees hält.

Relative Distinguished Name (RDN)

  • Komponente des DN, welche für jedes Objekt auf der gleichen hierarchischen Ebene unique ist

  • Oben wäre das bjones.

    • AD erlaubt keine zwei Objekte mit dem selben Namen unter dem selben Parent-Container.

sAMAAccountName

  • Login-Name eines Nutzers

    • Bsp: bjones

userPrincipalName

  • Ist ein Attribut

  • Stellt anderen Weg dar, um einen Nutzer zu identifizieren in AD.

  • Besteht aus einem Präfix (Accountname) und eines Suffix (Domain-Name)

    • Bsp: bjones@inlanefreight.local

  • Attribut ist allerdings nicht obligatorisch

Service Principal Name (SPN)

  • Unique Service Instance Identifier

  • Wird durch Kerberos für Authentifikation genutzt.

    • So findet Verknüpfung zwischen Service und einem konkreten Serviceaccount statt.

  • Nutzer muss dann keinen konkreten Account des Services kennen, sondern lediglich den Namen des Services.


Domain Controller

FSMO Roles

  • Rollen um das Single Point-of-Failure Prinzip bei Domaincontrollern zu verhindern.

  • Verschiedenen Zuständigkeiten werden in Rollen aufgeteilt und können so an verschiedenen Domain-Controller verteilt werden.

    • Dadurch soll sichergestellt werden, dass Domain-Controller immer für Authentifizierung und Autorisierung zur Verfügung stehen.

  • Fünf FSMO Rollen:

    • Schema Master (einer per Forest)

    • Domain Naming Master (einer per Forest)

    • Relative ID (RID) Master (per Domain)

    • Primary Domain Controller (PDC) Emulator (per Domain)

    • Infrastructure Master (per Domain)

  • Sobald neue Domain in Forest erstellt wird, werden per Domain-Rollen an den Domain-Controller weitergegeben.

  • Sysadmin können diese Rollen auch manuell an anderen Controller vergeben.

Global Catalog

= Domain-Controller, welcher Kopien von allen Objekten in einem Forest speichert.

  • Standard-Controller halten bereits komplette Replika von Objekten, die zur eigenen Domain gehören → Global Katalog erweitert dies auf den ganzen Forest.

  • Nutzer und Anwendungen können über GC Informationen über jedes Objekt in jeder Domain abfragen.

Read-Only Domain Controller (RODC)

  • Controller mit read-only AD-Datenbank

  • Enthält keine Passwörter (außer von RODC-Computer Account und das RODC KRBTGT Passwort)

  • Keine Änderungen werden gepusht.

  • So soll der Traffic besser verteilt werden und eine bessere Separierung von Rollen ermöglicht werden.

Replication

  • Passiert, wenn AD-Objekt aktualisiert wird und an anderen DC transferiert wird.

  • Sobald neuer DC erstellt wird, werden Verbindungsobjekte zu anderen DCs erstellt.

    • Dafür sorgt der Knowledge Consistency Checker Service (KCC)

  • Synchronisation zwischen DC soll Verfügbarkeit der Daten erhöhen, sobald ein DC ausfällt.

NTDS.DIT

  • Herz von AD

  • Wird durch ein DC in C:/Windows/NTDS/ als Datenbank gespeichert

    • Enthält jegliche Informationen, wie auch Passwort-Hashes für alle Benutzer

    • Wenn Domain komprimitiert ist, wird diese Datei für pass-the-hash Angriffe genutzt.

  • Falls Einstellung “Store password with reversible encryption” aktiviert ist, liegen Passwörter sogar in Klartext vor.

    • Manche Organisagionen aktivieren dies, wenn Anwendungsprotokolle “reale” Passwörter benötigen.


Access Control

Group Policy Object (GPO)

  • Virtuelle Kollektion von Konfigurationen bezüglich Richtlinien.

  • Jedes GPO kann Einstellungen bezüglich des lokalen Dateisystems oder AD an sich halten.

  • Können für User und Computer-Objekte auf beliebigem Level angewendet werden.

Access Control List (ACL)

  • Sortierte Liste von Access Control Entries (ACEs) die auf ein Objekt angewendet werden.

Access Control Entries (ACEs)

  • Identifiziert zu vertrauende Identitäten (Benutzerkonten, Gruppenkonten, Session)

    • Listet Zugriffsrechte auf

Discretionary Access Control List (DACL)

  • Definiert, welchen Security Principles der Zugriff auf ein Objekt gestattet oder verboten werden soll.

    • Nutzt dafür eine Liste von ACEs

  • Vor jedem Zugriff prüft das System die DACL eines Objektes.

    • Falls keine DACL vorhanden, hat jeder Zugriff

    • Falls DACL vorhanden aber leer, hat keiner Zugriff

  • ACEs werden sequenziell überprüft bis ein Eintrag gefunden wird, welcher die angeforderten Rechte gestattet oder den Zugriff gänzlich verbietet

System Access Control Lists (SACL)

  • Erlaubt Adminds die Login-Versuche für ein gesichertes Objekt zu loggen.

  • ACEs definieren Regeln, wann und wie ein Versuch in den Security-Event-Logs gespeichert wird.

Fully Qualified Domain Name (FQDN)

  • Kompletter Name für ein Computer oder Host

  • [hostname].[domain name].[tld]

  • Wird genutzt, um Position im DNS-Baum festzulegen.

    • Dadurch können Hosts gefunden werden, ohne die IP zu kennen.


Misc

Tombstone

  • Hält gelöschte AD-Objekte

  • Wenn AD-Objekt gelöscht wird, verweilt es trotzdem eine weitere Zeit in der AD-Umgebung

    • Wird festgelegt über TombstoneLifetime, sowie isDeleted Attribut

  • Danach wird Objekt erst vollständig gelöscht.

    • Default liegt oft bei 180 Tagen.

AD Recycle Bin

  • Komponenten zu die Wiederherstellung von Objekten zu vereinfachen

  • Dort werden Objekte für eine gewisse Zeit gehalten und sysadmin können diese Vollständig wiederherstellen.

    • Größter Vorteil: auch jegliche Attribute lassen sich wiederherstellen.

SYSVOL

  • Ordner der Kopien von öffentliche Dateien in einer Domäne speichert und teilt.

    • System policies, Group policy settings, logon/logoff scripts und andere Scripts

  • Die Inhalte werden an alle anderen DCs in der Umgebung mittels des File Replication Services (FRS) repliziert.

AdminSDHolder

  • Objekt um ACLs für Build-in Gruppen zu managen.

    • Diese Gruppen sind in der Regel sehr privilegiert.

  • Objekt dient als Container für Security Descriptor, welchen alle Nutzer dieser Gruppen erhalten.

    • Dazu wird der SD Propagator genutzt, welcher aus dem PDC Emulator DC läuft.

      • Prüft stündlich, ob Mitglieder dieser Gruppen die korrekte ACL besitzen.

      • Bei Angriff auf Rechte sollen so bösartig modifizierte Rechte “zurückgesetzt” werden.

        • Gilt aber nur für Nutzer die keiner Built-in Gruppe angehören.

dsHeuristics

  • String-Value-Set auf dem Directory-Service Object um verschiedene Forest-weite Konfigurationen zu definieren.

  • Eine dieser Einstellungen ist es die built-in Gruppen aus der Liste der Protected Groups auszuschließen.

    • Gruppen in dieser Liste werden nicht von dem AdminSDHolder-Objekt zurückgesetzt.

adminCount

  • Attribut, welches bestimmt ob der SDProp (SD Propagator) ein User schützen soll.

  • 0 = nicht geschützt.

  • 1 = geschützt.

    • Hier setzt der Propagator keine Berechtigungen zurück, da es sich um einen “legitimen” Admin handelt.

  • Nutzer mit diesem Attribut sind im besonderen Fokus von Angreifern → Kompromittierung für zu Komprimittierung der ganzen Domain.

Active Directory Users and Computers (ADUC)

  • GUI-Konsole, um Nutzer, Computer und Kontakte in AD zu managen.

    • Über powershell

ADSI Edit

  • GUI-Tool, um Objekte in AD zu verwalten.

  • Kann auch genutzt werden, um Attribute zu modifizieren oder Objekte gänzlich hinzuzufügen/zu löschen.

  • Besondere Vorsicht sollte hier herrschen, da Änderungen über dieses Tool ggf. große Probleme in AD verursachen können.

sIDHistory

  • Attribut, welches jede ehemalige SID hält-

  • Wird im Rahmen von Migrationen genutzt.

    • Wenn Nutzer zu anderem DC migriert wird, soll dieser die selben Rechte halten.

    • Kann auch für viele Angriffe missbraucht werden

PreviousAuthenticationNextObjects

Last updated 4 months ago

Was this helpful?