Notas Generales

Esto esta desordenado...

Using PowerView

Import-Module .\PowerView.ps1

# Obtener informacion de todos los usuarios del dominio
Get-NetUser

# Obtener todos los usuarios del dominio
Get-NetUser | select -ExpandProperty samaccountname

# Obtener todos los equipos del dominio
Get-NetComputer

# Obtener atributos del un grupo especificado
Get-NetGroup -GroupName "Domain Admins" -FullData

# Enumerar los miembros de un grupo especificado
Get-NetGroupMember -GroupName "Domain Admins"
Get-NetGroupMember -GroupName "Enterprise Admins"
Get-NetGroupMember -GroupName "Enterprise Admins" –Domain moneycorp.local

# Encontrar servidores CIFS o compartidos
Invoke-ShareFinder -ExcludeStandard -ExcludePrint -ExcludeIPC –Verbose

# Enumeracion de unidades organizativas 
Get-NetOU
Get-NetOU StudentMachines | %{Get-NetComputer -ADSPath $_}

# Enumeracion de GPO
Get-NetGPO
(Get-NetOU StudentMachines -FullData).gplink 
Get-NetGPO -ADSpath 'LDAP://cn={3E04167E-C2B6-4A9A-8FB7-C811158DC97C},cn=policies,cn=system,DC=dollarcorp,DC=moneycorp,DC=local'
Get-NetGPO -ADSpath ((Get-NetOU StudentMachines -FullData).gplink.split(";")[0] -replace "^.")

# Enumeracion de ACL 
**Importante revisar 
    ActiveDirectoryRights : GenericAll 
    ActiveDirectoryRights : GenericRead
    IdentityReference : BUILTIN\Administrators
    ActiveDirectoryRights : CreateChild, DeleteChild, Self, WriteProperty,
    ExtendedRight, Delete, GenericRead, WriteDacl, WriteOwner
** END

Get-ObjectAcl -SamAccountName "users" -ResolveGUIDs -Verbose
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs -Verbose

# Validar permisos y derechos de modificacion
Invoke-ACLScanner -ResolveGUIDs | ?{$_.IdentityReference -match "student"}
Invoke-ACLScanner -ResolveGUIDs | ?{$_.IdentityReference -match "RDPUsers"}

#Enumeracion de todos los dominios del Forest actual
Get-NetForestDomain -Verbose

## Mapeo de trust para todos los Forest
Get-NetDomainTrust

## Enumeracion de forest de todos los dominios y subdominios
Get-NetForestDomain -Verbose | Get-NetDomainTrust

# Visualizar solo los forest Externos
Get-NetForestDomain -Verbose | Get-NetDomainTrust | ?{$_.TrustType -eq 'External'}
Get-NetDomainTrust | ?{$_.TrustType -eq 'External'}
Get-NetForestDomain -Forest eurocorp.local -Verbose | Get-NetDomainTrust
** Importante que tenga bi-directional trust or one-way trust**

Importemos el ADModule. Recuerde usarlo desde una sesión diferente de PowerShell. Si carga PowerView y ADModule en la misma sesión de PowerShell, es posible que algunas funciones no funcionen:

Using the Active Directory module (ADModule)

Import-Module .\Microsoft.ActiveDirectory.Management.dll
 
# Obtener informacion de todos los usuarios del dominio
Get-ADUser -Filter *

# Obtener todos los usuarios del dominio
Get-ADUser -Filter * -Properties *| select Samaccountname,Description

# Obtener todos los equipos del dominio
Get-ADComputer -Filter *

# Enumerar los miembros de un grupo especificado
Get-ADGroupMember -Identity 'Domain Admins'
Get-ADGroupMember -Identity 'Enterprise Admins' -Server moneycorp.local

#Enumeracion de todos los dominios del Forest actual
(Get-ADForest).Domains
Get-ADTrust -Filter *
Get-ADForest | %{Get-ADTrust -Filter *}
Get-ADTrust -Filter '(intraForest -ne $True) -and (ForestTransitive -ne $True)'

#Encontrar la relacion entre forest especifico
Get-ADTrust -Filter * -Server eurocorp.local

Using PowerUp

 . .\PowerUp.ps1
Get-ServiceUnquoted
Get-ModifiableServiceFile -Verbose
Get-ModifiableService
Invoke-ServiceAbuse -Name 'AbyssWebServer' -UserName 'dcorp\studentx'
Find-LocalAdminAccess -Verbose

# Encontrar usuarios LocalAdmin para realizar Ps Remoting
. .\Find-PSRemotingLocalAdminAccess.ps1
PS C:\AD\Tools> Find-PSRemotingLocalAdminAccess
Enter-PSSession -ComputerName dcorp-adminsrv.dollarcorp.moneycorp.local

Última actualización