Enumeracion con AD Module DLL
OBJETIVO DEL EJERCICIO #10:
UtilizaMicrosoft.ActiveDirectory.Management.dll
para 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:
Enumeración de objetos: Usando cmdlets como
Get-ADUser
,Get-ADGroup
, yGet-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.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.Identificación de relaciones de confianza: Con cmdlets como
Get-ADTrust
, los profesionales de seguridad pueden identificar las relaciones de confianza entre diferentes dominios.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.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:
Get-ADUser: Recupera información sobre un usuario específico o sobre todos los usuarios.
Ejemplo:
Get-ADUser -Identity jdoe
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
Get-ADGroup: Recupera detalles de un grupo en Active Directory.
Ejemplo:
Get-ADGroup -Identity "Administrators"
New-ADUser: Crea un nuevo usuario en Active Directory.
Ejemplo:
New-ADUser -Name "John Doe"
Set-ADUser: Modifica propiedades de un usuario existente.
Ejemplo:
Set-ADUser -Identity jdoe -Description "Account de prueba"
Remove-ADUser: Elimina un usuario de Active Directory.
Ejemplo:
Remove-ADUser -Identity jdoe
Get-ADDomain: Recupera información sobre el dominio.
Ejemplo:
Get-ADDomain
Get-ADForest: Recupera información sobre el bosque de Active Directory.
Ejemplo:
Get-ADForest
Get-ADObject: Recupera un objeto de Active Directory basado en un conjunto de criterios.
Ejemplo:
Get-ADObject -Filter 'ObjectClass -eq "user"'
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
¿Te fue útil?