# Enumeración de usuarios y grupos

## SMB NULL sessions

### CrackMapExec <a href="#smb-null-sessions-crackmapexec" id="smb-null-sessions-crackmapexec"></a>

```shell
crackmapexec smb <IP-address-DC> --users
```

### enum4linux <a href="#smb-null-sessions-enum4linux" id="smb-null-sessions-enum4linux"></a>

```shell
enum4linux -U <IP-address-DC> | grep "user:" | cut -f2 -d"[" | cut -f1 -d"]" > users-enum4linux.txt
```

### rpcclient <a href="#smb-null-sessions-rpcclient" id="smb-null-sessions-rpcclient"></a>

```shell
rpcclient -U "" -N <IP-address-DC>

# Consultar información del dominio
querydominfo
# Consultar información de visualización del dominio
querydispinfo
# Obtener información de política de contraseñas del dominio
getdompwinfo
# Enumerar usuarios
enumdomusers
# Enumerar grupos
enumdomgroups
# Obtener información de un usuario
queryuser <rid-user>
# Obtener información de un grupo
querygroup <rid-group>
# Obtener grupos de un usuario
queryusergroups <rid-user>
# Obtener miembros de un grupo
querygroupmem <rid-group>
```

## LDAP anonymous bind

### ldapsearch <a href="#ldap-anonymous-bind-ldapsearch" id="ldap-anonymous-bind-ldapsearch"></a>

```shell
ldapsearch -h <IP-address-DC> -x -b "DC=ACME,DC=LOCAL" -s sub "(&(objectclass=user))"  | grep sAMAccountName: | cut -f2 -d" " > users-ldapsearch.txt
```

### windapsearch <a href="#ldap-anonymous-bind-windapsearch" id="ldap-anonymous-bind-windapsearch"></a>

```shell
windapsearch.py --dc-ip <IP-address-DC> -u "" -U
```

## Wordlists

### Kerbrute <a href="#wordlists-kerbrute" id="wordlists-kerbrute"></a>

```shell
kerbrute userenum -d <ACME.LOCAL> --dc <IP-address-DC> <wordlists> -o users-kerbrute.txt
```

* userenum = enumeración de usuarios de dominio válidos a través de Kerberos.
* -d = dominio.
* \--dc = controlador de dominio.
  * \<IP-address-DC> = dirección IP del controlador de dominio.
* \<wordlists> = ruta de wordlist de nombres de usuarios de dominio.
* -o = guarda resultado en archivo `users-kerbrute.txt`.
