# Goku

<figure><img src="https://3898622208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3c4VOzvn98yVKRSqWDbo%2Fuploads%2FXFNNb5pgkQh9hHWBydoh%2FGoku-extra-small.jpeg?alt=media&#x26;token=8f352a6b-f8ac-4cc2-81b4-369866ee7821" alt=""><figcaption></figcaption></figure>

Goku will serve as the Capsulecorp domain controller.  You'll want to do`vagrant up` this VM first and make sure everything is working before bringing up any other VMs&#x20;

Bring up and provision this VM with the following command:

```bash
vagrant up goku
```

If you've already brought up the VM and need to reattempt the ansible provisioning simply run:

```bash
vagrant provision goku
```

## Configuration Files

These files contain all of the configuration information for this VM.  You should feel free to customise these files to your personal needs.

### Primary ansible provisioning playbook

Replace these `dc_address` and `dc_gateway` values with IP addresses that make sense for your LAN.

{% embed url="<https://github.com/R3dy/capsulecorp-pentest/blob/master/goku.yml>" %}
master/goku.yml
{% endembed %}

### Install Active Directory and promote server to DC

This provisioning task causes the majority of problems users have reported simply due to the inconsistency with which Windows servers behave during the process of installing Active Directory and then promoting to a DC.

That is to say, you could run this provision script, destroy the VM, bring up a new one and provision it a dozen times and you'll notice it takes anywhere from 5-10 minutes longer/shorter each time. &#x20;

Unfortunately the best I can offer you is if this fails, destroy the VM bring up a new one and try it again.

{% embed url="<https://github.com/R3dy/capsulecorp-pentest/blob/master/roles/promotedc/tasks/main.yml>" %}
master/roles/promotedc/tasks/main.yml
{% endembed %}

### Active Directory accounts

These accounts get provisioned to the `Capsulecorp.local` domain

{% embed url="<https://github.com/R3dy/capsulecorp-pentest/blob/master/roles/promotedc/tasks/accounts.yml>" %}
master/roles/promotedc/tasks/accounts.yml
{% endembed %}

&#x20;
