Enumeracion con AD Module DLL

Para llevar tu aprendizaje al siguiente nivel y practicar estas técnicas de manera segura y efectiva, te invitamos a adquirir acceso premium a nuestro material de curso. No pierdas esta oportunidad de profundizar tus conocimientos. Para más información y adquirir tu acceso, visita nuestro canal de ventas: https://wa.link/j265a0. ¡Te esperamos para empezar este viaje juntos!

OBJETIVO DEL EJERCICIO #10:

UtilizaMicrosoft.ActiveDirectory.Management.dllpara enumerar el dominio de spartan-cybersec.corp. Para realizarlo es suficiente tener encendido UNICAMENTE WEBSERVER y First-DC.

El "AD Module" se refiere al módulo de Active Directory para Windows PowerShell, que proporciona cmdlets para gestionar y obtener información de un dominio de Active Directory (AD). Estos cmdlets son extremadamente útiles para administradores, así como para profesionales de la seguridad, incluidos los hackers éticos. La DLL específica que contiene las funcionalidades de este módulo es Microsoft.ActiveDirectory.Management.dll.

El AD Module es utilizado por los hackers éticos y otros profesionales de seguridad para una variedad de tareas relacionadas con AD, tales como:

  1. Enumeración de objetos: Usando cmdlets como Get-ADUser, Get-ADGroup, y Get-ADComputer, un profesional de seguridad puede obtener una lista de usuarios, grupos y computadoras, respectivamente, dentro del dominio de AD. Estas listas son fundamentales para entender la estructura y el alcance del dominio.

  2. Extracción de detalles específicos: Los cmdlets permiten una gran granularidad en la extracción de detalles. Por ejemplo, se puede usar Get-ADUser para extraer detalles específicos sobre un usuario, como su dirección de correo electrónico, la última vez que inició sesión, si la cuenta está habilitada, etc.

  3. Identificación de relaciones de confianza: Con cmdlets como Get-ADTrust, los profesionales de seguridad pueden identificar las relaciones de confianza entre diferentes dominios.

  4. Auditoría de políticas de seguridad: Utilizando cmdlets como Get-ADDefaultDomainPasswordPolicy, un hacker ético puede obtener información sobre políticas de contraseña y otros ajustes de seguridad para determinar si cumplen con las mejores prácticas.

  5. Búsqueda de configuraciones inseguras: A través de la enumeración y el análisis de la información recopilada, un profesional de seguridad puede identificar configuraciones que presentan riesgos, como cuentas con contraseñas que nunca caducan o usuarios que tienen privilegios excesivos.

kali@kali=> nc -nvlp 443
listening on [any] 443 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 51600
Windows PowerShell running as user WEBSERVER$ on WEBSERVER
Copyright (C) 2015 Microsoft Corporation. All rights reserved.

PS C:\Users\Public\TOOLS\ADModule-master\ADModule-master> dir
    Directory: C:\Users\Public\TOOLS\ADModule-master\ADModule-master

Mode                 LastWriteTime         Length Name                                                                 
----                 -------------         ------ ----                                                                 
d-----         9/29/2023   6:34 AM                ActiveDirectory                                                      
d-----         9/29/2023   6:34 AM                img                                                                  
------         11/5/2018  12:04 AM        1127936 Microsoft.ActiveDirectory.Management.dll                             
------         11/5/2018  12:04 AM           1485 README.md                                                            


PS C:\Users\Public\TOOLS\ADModule-master\ADModule-master> Import-Module .\Microsoft.ActiveDirectory.Management.dll -Verbose

Despues de importar el modulo podemos ejecutar varios comandos ya que:

Microsoft.ActiveDirectory.Management.dll es la biblioteca subyacente que proporciona la funcionalidad para el módulo de Active Directory para Windows PowerShell. Este módulo contiene una serie de cmdlets que se pueden utilizar para gestionar y consultar objetos en Active Directory.

A continuación, algunos de los cmdlets (comandos) más comunes proporcionados por este módulo:

  1. Get-ADUser: Recupera información sobre un usuario específico o sobre todos los usuarios.

    • Ejemplo: Get-ADUser -Identity jdoe

  2. Get-ADComputer: Obtiene información sobre una máquina específica o sobre todas las máquinas en el dominio.

    • Ejemplo: Get-ADComputer -Identity PC01

  3. Get-ADGroup: Recupera detalles de un grupo en Active Directory.

    • Ejemplo: Get-ADGroup -Identity "Administrators"

  4. New-ADUser: Crea un nuevo usuario en Active Directory.

    • Ejemplo: New-ADUser -Name "John Doe"

  5. Set-ADUser: Modifica propiedades de un usuario existente.

    • Ejemplo: Set-ADUser -Identity jdoe -Description "Account de prueba"

  6. Remove-ADUser: Elimina un usuario de Active Directory.

    • Ejemplo: Remove-ADUser -Identity jdoe

  7. Get-ADDomain: Recupera información sobre el dominio.

    • Ejemplo: Get-ADDomain

  8. Get-ADForest: Recupera información sobre el bosque de Active Directory.

    • Ejemplo: Get-ADForest

  9. Get-ADObject: Recupera un objeto de Active Directory basado en un conjunto de criterios.

    • Ejemplo: Get-ADObject -Filter 'ObjectClass -eq "user"'

  10. Get-ADDomainController: Encuentra controladores de dominio en el dominio especificado.

    • Ejemplo: Get-ADDomainController -Discover

Vamos a ejecutar uno de los comandos previos desde el contexto de maquina del dominio:

PS C:\Users\Public\TOOLS\ADModule-master\ADModule-master> Get-ADUser -Identity "unconstrained.user"

GivenName          :
Surname            :
UserPrincipalName  :
Enabled            : True
SamAccountName     : unconstrained.user
SID                : S-1-5-21-1861162130-2580302541-221646211-1114
DistinguishedName  : CN=unconstrained.user,CN=Users,DC=spartancybersec,DC=corp
Name               : unconstrained.user
ObjectClass        : user
ObjectGuid         : dbe3e364-7d66-4435-b9de-07a203c53f40
PropertyNames      : {DistinguishedName, Enabled, GivenName, Name...}
AddedProperties    : {}
RemovedProperties  : {}
ModifiedProperties : {}
PropertyCount      : 10

O tambien podriamos ejecutar:

PS C:\Users\Public\TOOLS\ADModule-master\ADModule-master> Get-ADDomainController -Discover

Domain             : spartancybersec.corp
Forest             : spartancybersec.corp
Name               : FIRST-DC
Site               : Default-First-Site-Name
IPv4Address        : 10.0.1.100
IPv6Address        :
PropertyNames      : {Domain, Forest, HostName, IPv4Address...}
AddedProperties    : {}
RemovedProperties  : {}
ModifiedProperties : {}
PropertyCount      : 7

Tambien:

PS C:\Users\Public\TOOLS\ADModule-master\ADModule-master> Get-ADForest

Name                  : spartancybersec.corp
UPNSuffixes           : {}
SPNSuffixes           : {}
ForestMode            : Windows2016Forest
ApplicationPartitions : {DC=DomainDnsZones,DC=spartancybersec,DC=corp, DC=ForestDnsZones,DC=spartancybersec,DC=corp}
CrossForestReferences : {}
Domains               : {spartancybersec.corp}
GlobalCatalogs        : {First-DC.spartancybersec.corp}
Sites                 : {Default-First-Site-Name}
DomainNamingMaster    : First-DC.spartancybersec.corp
RootDomain            : spartancybersec.corp
SchemaMaster          : First-DC.spartancybersec.corp
PropertyNames         : {ApplicationPartitions, CrossForestReferences, DomainNamingMaster, Domains...}
AddedProperties       : {}
RemovedProperties     : {}
ModifiedProperties    : {PartitionsContainer}
PropertyCount         : 13

Última actualización