Enumeración remota de SAM
Con esta tecnica lo que podemos hacer es enumerar los usuarios que esten dentro del grupo administradores
dentro del dominio, para enforcarnos concretamente en ese equipo e intentar ganar acceso a el, en vez de tener que ir uno por uno probando cual tiene el grupo administrador
o no, por lo que con este tipo de tecnicas sabes a que equipo ir mas concretamente.
Si nos encontramos con un Windows 7
o un Windows Server 2016
para abajo, podriamos enumerar el SAM
de forma remota con un usuario cualquiera, pero de esas versiones para arriba, ya no es posible, si estuvieramos de esas versiones para abajo seria con el siguiente comando:
Get-NetLocalGroup -ComputerName WS02
Pero si nosotros obtenemos un usuario de dominio con privilegios de administrador
si podremos enumerarlo de forma remota, por lo que vamos a hacer que este usuario tenga privilegios de administrador de forma temporal para que se vea:
Nos iremos a nuestro DC
en el Servidor del administrador
-> Herramientas
-> Usuarios y equipos de Active Directory
-> Users
-> click derecho empleado1
-> Propiedades
-> Miembro de
-> Añadir
-> escribimos Admins de do
y lo va a detectar solo, seleccionamos el grupo de Admins de dominio
-> Aceptar
-> Aplicar
-> Acpetar
.
Y con esto ya lo tendremos en el grupo para realizar lo anterior.
Tendremos que reiniciar el equipo para que se apliquen los cambios, volvemos a ejecutar el script de PowerView
y hacer lo siguiente:
. .\new_powerview.ps1
Get-NetLocalGroup -ComputerName WS02
Info:
ComputerName GroupName Comment
------------ --------- -------
WS02 Administradores Los administradores tienen acceso completo y sin restricc...
WS02 Administradores de Hyper-V Los miembros de este grupo tienen acceso completo y sin r...
WS02 Duplicadores Pueden replicar archivos en un dominio
WS02 IIS_IUSRS Grupo integrado usado por Internet Information Services.
WS02 Invitados De forma predeterminada, los invitados tienen el mismo ac...
WS02 Lectores del registro de eventos Los miembros de este grupo pueden leer registros de event...
WS02 Operadores criptográficos Los miembros tienen autorización para realizar operacione...
WS02 Operadores de asistencia de control de acceso Los miembros de este grupo pueden consultar de forma remo...
WS02 Operadores de configuración de red Los miembros en este equipo pueden tener algunos privileg...
WS02 Operadores de copia de seguridad Los operadores de copia de seguridad pueden invalidar res...
WS02 Propietarios del dispositivo Los miembros de este grupo pueden cambiar la configuració...
WS02 System Managed Accounts Group Los miembros de este grupo los administra el sistema.
WS02 Usuarios Los usuarios no pueden hacer cambios accidentales o inten...
WS02 Usuarios avanzados Los usuarios avanzados se incluyen para la compatibilidad...
WS02 Usuarios COM distribuidos Los miembros pueden iniciar, activar y usar objetos de CO...
WS02 Usuarios de administración remota Los miembros de este grupo pueden acceder a los recursos ...
WS02 Usuarios de escritorio remoto A los miembros de este grupo se les concede el derecho de...
WS02 Usuarios del monitor de sistema Los miembros de este grupo tienen acceso a los datos del ...
WS02 Usuarios del registro de rendimiento Los miembros de este grupo pueden programar contadores de...
Ahora veremos que si nos funciona siendo administradores del dominio, por lo que hemos obtenido estos datos de manera remota sobre el equipo WS02
.
En este caso al obtener esta informacion estamos utilizando el protocolo SAMR
que estaria distribuido por DCE/RPC
(Remote Procedure Call
), pero cuando nosotros consultemos la base de datos NTDS
del DC
vamos a utilizar el protcolo LDAP
con el que podemos interactuar con esa base de datos.
Una vez explicado y visto todo esto, vamos a quitarle los privilegios al empleado1
eliminando el grupo administrador de dominio
.
Realizar listado de SAM remota de forma manual sin PowerView
Ahora si nosotros queremos realizar esto anterior pero sin PowerView
podremos hacerlo de la siguiente forma:
Invoke-Command -ScriptBlock { Get-LocalGroupMember -Group Administradores } -ComputerName WS01
Pero nos dara un error ya que no tendremos privilegios para listarlo.
Identificar que equipos son los administradores en el dominio
Para saber que usuarios tenemos registrados por obtener mas informacion, sera de la siguiente forma:
Get-NetLoggedon
Info:
UserName : empleado1
LogonDomain : CORP
AuthDomains :
LogonServer : DC01
ComputerName : localhost
UserName : empleado1
LogonDomain : CORP
AuthDomains :
LogonServer : DC01
ComputerName : localhost
UserName : WS01$
LogonDomain : CORP
AuthDomains :
LogonServer :
ComputerName : localhost
UserName : WS01$
LogonDomain : CORP
AuthDomains :
LogonServer :
ComputerName : localhost
UserName : WS01$
LogonDomain : CORP
AuthDomains :
LogonServer :
ComputerName : localhost
UserName : WS01$
LogonDomain : CORP
AuthDomains :
LogonServer :
ComputerName : localhost
UserName : WS01$
LogonDomain : CORP
AuthDomains :
LogonServer :
ComputerName : localhost
Esto de forma remota no lo podremos hacer ya que requiere privilegios de administrador, pero lo que si podremos obtener son las sesiones de las conexiones que hay a mi maquina a la WS01
:
Get-NetSession
Info:
CName : \\[::1]
UserName : empleado1
Time : 0
IdleTime : 0
ComputerName : localhost
Pero imaginemos que un Administrador
se conecta a esta maquina para gestionar algunas cosas, lo haremos de la siguiente forma.
Nos iremos a nuestro DC
-> abriremos una carpeta normal y en la barra de busqueda pondremos \\WS01\C$
.
El C$
es el recurso compartido de un equipo tipico en el que se encuentra todo el sistema operativo entero.

Ahora si nos vamos al equipo WS01
y ejecutamos el mismo comando de antes:
Get-NetSession
Info:
CName : \\192.168.5.5
UserName : Administrator
Time : 57
IdleTime : 5
ComputerName : localhost
CName : \\[::1]
UserName : empleado1
Time : 0
IdleTime : 0
ComputerName : localhost
Por lo que vemos estamos observando que un usuario Administrador
se ha conectado a nuestra maquina y sabemos su IP
por lo que si comprometemos dicha maquina obtendremos privilegios de administrador de forma inmediata, por lo que nos interesa centarnos en dicha IP
, es una forma de saber por donde atacar o donde ir en estos casos.
Y aunque al internat conectarse falle u otro equipo de la red se intente conectar el cual no tendra privilegios a no ser que sea administrador falle, eso tambien se quedara registrado en las sesiones
.
Last updated