Enumeración local de SAM
Este tipo de tecnicas tambien se le llama SAM Enumeration.
Pongamos como dijimos antes que nos han prestado este equipo llamado empleado1 que es un usuario de dominio, pero sin privilegios de administrador, por lo que mediante este equipo vamos a recopilar toda la informacion que podamos.
Abriremos una PowerShell y empezaremos el reconocimiento.
Ver que usuario somos
$env:UserNameInfo:
empleado1Ver que dominio tiene dicho equipo
$env:UserDomainInfo:
CORPVer el nombre del equipo
$env:ComputerNameInfo:
WS01Enumerar grupos locales
Con esta informacion podremos saber como escalar privilegios o que grupos nos interesan mas para poder tener un vector de entrada mas facil, etc...
Vamos a cargar el script de nuevo para utilizarlo ahora.
. .\new_powerview.ps1Get-NetLocalGroupInfo:
ComputerName GroupName                                     Comment
------------ ---------                                     -------
WS01         Administradores                               Los administradores tienen acceso completo y sin restricc...
WS01         Administradores de Hyper-V                    Los miembros de este grupo tienen acceso completo y sin r...
WS01         Duplicadores                                  Pueden replicar archivos en un dominio
WS01         IIS_IUSRS                                     Grupo integrado usado por Internet Information Services.
WS01         Invitados                                     De forma predeterminada, los invitados tienen el mismo ac...
WS01         Lectores del registro de eventos              Los miembros de este grupo pueden leer registros de event...
WS01         Operadores criptográficos                     Los miembros tienen autorización para realizar operacione...
WS01         Operadores de asistencia de control de acceso Los miembros de este grupo pueden consultar de forma remo...
WS01         Operadores de configuración de red            Los miembros en este equipo pueden tener algunos privileg...
WS01         Operadores de copia de seguridad              Los operadores de copia de seguridad pueden invalidar res...
WS01         Propietarios del dispositivo                  Los miembros de este grupo pueden cambiar la configuració...
WS01         System Managed Accounts Group                 Los miembros de este grupo los administra el sistema.
WS01         Usuarios                                      Los usuarios no pueden hacer cambios accidentales o inten...
WS01         Usuarios avanzados                            Los usuarios avanzados se incluyen para la compatibilidad...
WS01         Usuarios COM distribuidos                     Los miembros pueden iniciar, activar y usar objetos de CO...
WS01         Usuarios de administración remota             Los miembros de este grupo pueden acceder a los recursos ...
WS01         Usuarios de escritorio remoto                 A los miembros de este grupo se les concede el derecho de...
WS01         Usuarios del monitor de sistema               Los miembros de este grupo tienen acceso a los datos del ...
WS01         Usuarios del registro de rendimiento          Los miembros de este grupo pueden programar contadores de...Con esto simplemente vemos los grupos que hay actualmente en el dominio, pero si queremos saber a que grupos tenemos nosotros privilegios, lo podremos hacer de la siguiente forma:
Ver los grupos en los que esta nuestro usuario
Get-NetGroup -UserName "empleado1" | select nameInfo:
name
----
Domain UsersTodo esto que estamos utilizando son funciones de PowerView, en este caso vemos que este usuario desgraciadamente no esta en ningun grupo mas interesante en el que podamos escalar privilegios, ya que el grupo en el que esta es el que viene por defecto y esta muy limitado, pero lo que si podemos hacer es ver los usuarios que estan dentro del grupo administrador.
Ver los usuarios que estan en los grupos administradores
Get-NetLocalGroupMember -GroupName Administradores | Select-Object MemberName, IsGroup, IsDomainInfo:
MemberName         IsGroup IsDomain
----------         ------- --------
WS01\Administrador   False    False
WS01\santiago        False    False
CORP\Domain Admins    True     TruePor lo que vemos el usuario local tiene privilegios de administrador, vemos tambien que hay una cuenta Administrador a demas del usuario administrador del dominio, pero si nosotros consiguieramos sacar la contraseña al Administrador local del equipo, puede ser que este este en mas equipos conectados a nivel local y con suerte que tengan la misma contraseña, por lo que podriamos pivotar hasta llegar al DC y hacernos con el control total, pero esto sera mas adelante.
Hacerlo de forma manual sin PowerView enumeración
En tal caso de que el script PowerView estuviera siendo detectado por el Windows Defender o por otro tipo de herramienta de seguridad, podremos enumerar de forma manual de la siguiente forma:
Get-LocalGroup | Select Name, Objectclass, Principalsource, sidInfo:
Name                                          ObjectClass PrincipalSource SID
----                                          ----------- --------------- ---
Administradores                               Grupo                 Local S-1-5-32-544
Administradores de Hyper-V                    Grupo                 Local S-1-5-32-578
Duplicadores                                  Grupo                 Local S-1-5-32-552
IIS_IUSRS                                     Grupo                 Local S-1-5-32-568
Invitados                                     Grupo                 Local S-1-5-32-546
Lectores del registro de eventos              Grupo                 Local S-1-5-32-573
Operadores criptográficos                     Grupo                 Local S-1-5-32-569
Operadores de asistencia de control de acceso Grupo                 Local S-1-5-32-579
Operadores de configuración de red            Grupo                 Local S-1-5-32-556
Operadores de copia de seguridad              Grupo                 Local S-1-5-32-551
Propietarios del dispositivo                  Grupo                 Local S-1-5-32-583
System Managed Accounts Group                 Grupo                 Local S-1-5-32-581
Usuarios                                      Grupo                 Local S-1-5-32-545
Usuarios avanzados                            Grupo                 Local S-1-5-32-547
Usuarios COM distribuidos                     Grupo                 Local S-1-5-32-562
Usuarios de administración remota             Grupo                 Local S-1-5-32-580
Usuarios de escritorio remoto                 Grupo                 Local S-1-5-32-555
Usuarios del monitor de sistema               Grupo                 Local S-1-5-32-558
Usuarios del registro de rendimiento          Grupo                 Local S-1-5-32-559Este comando hace la misma funcion que este Get-NetGroup -UserName "empleado1" | select name.
Si queremos ver los usuarios que pertenecen al grupo administrador como lo haciamos con este comando Get-NetLocalGroupMember -GroupName Administradores | Select-Object MemberName, IsGroup, IsDomain, de forma manual se podra hacer de la siguiente forma:
Get-LocalGroupMember -Group AdministradoresInfo:
ObjectClass Name               PrincipalSource
----------- ----               ---------------
Grupo       CORP\Domain Admins ActiveDirectory
Usuario     WS02\Administrador Local
Usuario     WS02\santiago2     LocalLast updated
