# Building a Vulnerable Active Directory Lab: A Practical Approach

## Intro and Purposes

Even before activating the lab access provided with my certification voucher, I decided to set up a homemade Active Directory (AD) lab. Why? Because I firmly believe that building and configuring a lab from scratch is the best way to deeply understand and learn AD concepts. The effort and time invested in this process may seem daunting initially, but it is, in fact, time saved in the long run. By going through the hands-on process of creating and troubleshooting a lab, you not only gain technical skills but also develop an intuitive understanding of how AD environments function and how they can break.

This decision was also inspired by my fascination with the elegant misconfigurations demonstrated during my studies for the [CRTP](https://dev-angelist.gitbook.io/crtp-notes) (Certified Red Team Professional). The real-world scenarios presented by Nikhil Mittal showcased just how easy it can be to implement insecure settings without realizing their potential consequences. I wanted to see for myself: how common are these misconfigurations, and how realistic is it to replicate them in a controlled environment?

Setting up a custom AD lab offers more than just preparation for certifications. Active Directory is used by over 95% of businesses worldwide, making it an essential tool in any pentester's or blue team's arsenal. Understanding how to build AD environments, how their components fit together, and how to exploit their vulnerabilities is crucial for anyone working in cybersecurity.

In this guide, we’ll walk through creating a basic, vulnerable AD lab that you can expand upon with additional services, users, and misconfigurations. This foundation will not only prepare you for certifications but will also serve as a sandbox for honing your skills.

### Main Resources

* [Active Directory - Main Concepts](https://dev-angelist.gitbook.io/home/offensive-security/active-directory-ad)
* [Certified Red Team Professiona (CRTP) - Notes](https://dev-angelist.gitbook.io/crtp-notes)
* [The Cyber Mentor's Home Lab Setup](https://www.youtube.com)
* [AD Home Lab Setup by John Hammond](https://www.youtube.com/watch?v=pKtDQtsubio\&list=PL1H1sBF1VAKVoU6Q2u7BBGPsnkn-rajlp)
* [ADSecurity.org](https://adsecurity.org/)
* [Hexdump AD Exploitation](https://www.youtube.com/watch?v=4Oc8b3nRm2I\&list=PLJnLaWkc9xRi71Pso26JlvyBkLUOETLjn)
* [Hausec's Red/Blue Team Labs](https://hausec.com)

## What You'll Need

To create your lab, you'll need a few key downloads and tools:

### Virtualization Software

You'll need virtualization software to set up and manage your lab. Options include:

* [Oracle Virtual Box](https://www.virtualbox.org/wiki/Downloads)
* [VMWare](https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion)
* [QuickEmu (Tutorial)](https://dev-angelist.gitbook.io/quickemu)
* similar tools, cloud, docker, etc

#### Networking Tools (Optional)

While not strictly necessary for this guide, having tools like Wireshark or Burp Suite ready can enhance your exploration of network traffic and vulnerabilities.

### Operating Systems

* Attacker Machine \*nix like machine (Kali Linux, ParrotOS, Debian, Arch, etc) - **Optional, Needed only for attack**
* Windows Server 2016/19/22/25\~ (1 or more)
* Windows 7/10/11\~ Enterprise edition (1 or more)

## My Setup

In my case I decided to use the following three OS:

#### 1 - Kali Linux - Attacker Machine (optional)

Kali Linux - [VM (Virtual Box)](https://www.kali.org/get-kali/#kali-platforms)

* [Download](https://www.kali.org/get-kali/#kali-platforms)
* RAM 4GB | ROM 20GB
* Network NAT

#### 2 - Windows Server 2019 - Domain Controller (DC)

All Download Links versions:

<details>

<summary></summary>

* Old Version: <https://web.archive.org/web/20220308212352/https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016/>
* Windows 2012 R2 Essentials: <http://download.microsoft.com/download/8/F/7/8F7024D2-AB2A-4BE2-8406-1E3AC49C5C1F/9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVER_SOLUTION_EN-US-IRM_SSSO_X64FRE_EN-US_DV5.ISO>
* Windows 2012 R2: <http://download.microsoft.com/download/6/2/A/62A76ABB-9990-4EFC-A4FE-C7D698DAEB96/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_EN-US-IR3_SSS_X64FREE_EN-US_DV9.ISO>
* Windows 2016: <https://software-download.microsoft.com/download/pr/Windows_Server_2016_Datacenter_EVAL_en-us_14393_refresh.ISO>
* Windows 2019 Essentials: <https://software-download.microsoft.com/download/pr/17763.737.190906-2324.rs5_release_svc_refresh_SERVERESSENTIALS_OEM_x64FRE_en-us_1.iso>
* Windows 2019: <https://software-download.microsoft.com/download/pr/17763.737.190906-2324.rs5_release_svc_refresh_SERVER_EVAL_x64FRE_en-us_1.iso>
* Windows 2022: <https://software-static.download.prss.microsoft.com/sg/download/888969d5-f34g-4e03-ac9d-1f9786c66749/SERVER_EVAL_x64FRE_en-us.iso>
* Windows 2025: <https://software-static.download.prss.microsoft.com/dbazure/888969d5-f34g-4e03-ac9d-1f9786c66749/26100.1742.240906-0331.ge_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso>

</details>

**Windows Server 2019:** This will act as our Domain Controller (DC).<br>

* Download: [Windows Server 2019 Evaluation](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019)

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/cuxVZJW90p4h0ZksZ4c0/image.png" alt=""><figcaption></figcaption></figure>

Download language and architecture desidered (in my case x64/64bit and English), insert data in the form if required (Feel free to enter your data or not, there is no check on them)

#### 3 - Windows 10 Enterprise - Host1 and Host2

**Windows 10 Enterprise:** This will serve as our client workstations

* Download: [Windows 10 Enterprise Evaluation](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterprise)

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/ZykTQmm2gs9OLbRo5eaN/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/PxK9flW9c7aKvJax1O9F/image.png" alt=""><figcaption></figcaption></figure>

Download language and architecture desidered, in this case i decided to download 32-bit edition because it is lighter and more aligned with the little RAM available, furthermore there will be two machines with Win10 E.

### My Configuration (Less than 10GB of RAM)

Having a somewhat dated PC, I was initially a bit discouraged by the creation of a large laboratory with several machines, but despite this, this configuration can be run on a PC with about 8\~10GB of RAM, even if the performance will not be at its best, but the desired result is acceptable.

Here's how I set up the various machines on the network:

**Strongly to remember: At least 3/4 GB of RAM must be free on the host machine**

#### Create Nat Network

Tools -> Network -> Nat Network Details -> Enable Network -> { Name: NatAD CIDR: 192.168.57.0/24 Options: Supports DHCP }

We'll set this network interface on all machines

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/zoYGpu00onEQkUQCRlZY/image.png" alt=""><figcaption></figcaption></figure>

### 1 - Windows Server 2019 - Domain Controller (DC)

[Windows Server 2019 system requirements](https://learn.microsoft.com/en-us/windows-server/get-started/hardware-requirements?tabs=ram\&pivots=windows-server-2019)

Minimum requirements: RAM 2GB | ROM 40GB

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/STCUwnzWgS0bF86evitk/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/Pq59HJ8fhDLgU38tvFXs/image.png" alt=""><figcaption></figcaption></figure>

Before starting the VM (if it starts automatically, close it) remove the reference to the floppy: right click + remove or del:

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/6uRtKZu1o85IMyYjsFIa/image.png" alt=""><figcaption></figcaption></figure>

and set the nertwork interface to NAT Network -> NatAD

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/2BWsmRXxMoQE5kFH4PM4/image.png" alt=""><figcaption></figcaption></figure>

Start the VM

Select: Windows Server 2019 Standard Evaluation (Desktop Experience) - **the 2nd option**

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/nSTGHv3pK09Xmslp0jQI/WinSer2019_Install.gif" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/XdymSmIFnZN62yR8ZeeY/image.png" alt=""><figcaption></figcaption></figure>

I'm using this psw (more common in THM labs): P@$$W0rd

To unlock it you need to use Host (CTRL on the right) + DEL

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/08CFAJtJRyuno3GDv4D0/image.png" alt=""><figcaption></figcaption></figure>

Rename machine name 'CORP-DC' (optional): Settings -> About -> Next -> Restart&#x20;

Now, we need to add roles and features, go to: Manage -> Add Roles and Features

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/064kQaHH2myvxLHcgpgA/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/yMH8BAVlsZkNNGAXlmJf/image.png" alt=""><figcaption></figcaption></figure>

Check the 2nd value "Active Directory Domain Services"

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/MQHyxP2dACLJFi6RorDq/image.png" alt=""><figcaption></figcaption></figure>

Next, next, install:

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/hfsYjwyZTgVr2BeYU9J5/image.png" alt=""><figcaption></figcaption></figure>

Now, click on the flag and "Promote this server to a DC"

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/6XvL7dzLaQNCahsh5ecu/image.png" alt=""><figcaption></figcaption></figure>

Add a new forest: dev-angelist.lab

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2F8rAaCrDFDMNhRXl1cy6G%2Fimage.png?alt=media&#x26;token=2b9f5cf3-9cab-43e1-953c-b550f063d26c" alt=""><figcaption></figcaption></figure>

Insert a psw: P@$$W0rd

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/DagVMS70xxszEdyULqmj/image.png" alt=""><figcaption></figcaption></figure>

Next (no/unchecked create dns delegation), next, next, next, next, install.

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2Fbdaqekhef5f4VEmu0EcZ%2Fimage.png?alt=media&#x26;token=f561cdef-4685-4ae7-a798-567a695da1f3" alt=""><figcaption></figcaption></figure>

After that we'll automatically sign-out and machine will restart (if this does not happen, you can do it manually).

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FkSDz4YjKLjLoaCLgt1ex%2Fimage.png?alt=media&#x26;token=c1eb4264-db35-49ee-9ba6-e7c8c40ad8e2" alt=""><figcaption></figcaption></figure>

#### Add New GPO called "Dev-angelist Lab Policy"

Open Run (WIN+R) and type: gpmc.msc

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FKKv2bukANNERljatrl20%2Fimage.png?alt=media&#x26;token=c3978063-8851-4b82-81f8-3ddfaf105c09" alt=""><figcaption></figcaption></figure>

Click to: Create a GPO in this domain, and Link it here...

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2F3O4mQOR0Z1sdJ8DCONKY%2Fimage.png?alt=media&#x26;token=55875dd8-3315-4a36-8369-10017043b899" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FrAUm60lU6Jn03EWX2qWD%2Fimage.png?alt=media&#x26;token=ee137f5c-d35d-46bd-936d-fb1a90aa836a" alt=""><figcaption></figcaption></figure>

Edit our new GPO:

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2Fs5O592ynIWs3zBFLaWVw%2Fimage.png?alt=media&#x26;token=e8b22985-4acd-430e-8ccf-328cbb2866af" alt=""><figcaption></figcaption></figure>

#### Disable Windows Updates

Go to: Computer Configuration -> Policies -> Administrative Templates Policy definitions -> Windows Components -> Windows Update

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FRq3z1u1RnAbXD2vKTtDU%2Fimage.png?alt=media&#x26;token=69d7647c-5c3d-43b1-848e-0fb887f9889b" alt=""><figcaption></figcaption></figure>

Double click on "Configure Automatic Updates" -> Disabled -> Apply -> OK

#### Disable Antivirus

Continuing disabling Realtime Protection on Antivirus:

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FyUQPXRQ5bkvq3Mjgu8o4%2Fimage.png?alt=media&#x26;token=3b1efdde-f04d-4dcf-af78-135262607159" alt=""><figcaption></figcaption></figure>

Go to: Computer Configuration -> Policies -> Administrative Templates Policy definitions -> Windows Components -> Windows Defender Antivirus -> Real-time Protection.

Double click on "Turn off real-time protection" -> Enabled -> Apply -> OK

(Enabled because the phrase is a negation)

#### Update GPO

Now, open command prompt (cmd) and type: `gpupdate /force`

to force GPO updates

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FH6mtD1woWxAXKoovUTxl%2Fimage.png?alt=media&#x26;token=e0e1e4d5-6801-4fef-afca-864bebf14e7f" alt=""><figcaption></figcaption></figure>

### Create new AD users

Open powershell

and create a new user with this credentials: devan::P\@ssword123!

```powershell
New-ADUser -Name "devan" -SamAccountName "devan" -UserPrincipalName "devan@dev-angelist.lab" -ACcountPassword (ConvertTo-SecureString -AsPlainText "P@ssword123!" -Force) -Enabled $true
```

#### Enable user

```powershell
Enable-ADAccount -Identity "devan"
```

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FbH3qSsRLDJ6TEwyZ1K7U%2Fimage.png?alt=media&#x26;token=740ae15d-bf09-4db6-883e-122e1e00debe" alt=""><figcaption></figcaption></figure>

#### Make the new user a service account

```powershell
Set-ADUser -Identity devan -ServicePrincipalNames @{Add="HTTP/webserver.dev-angelist.lab"}
```

and verify that it was created using:

```powershell
Get-ADUser -Identity devan -Properties ServicePrincipalNames
```

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FC0WksY1Sm79zzcFcmqqS%2Fimage.png?alt=media&#x26;token=185e1f6c-c397-4aae-82aa-5f582c36fb1d" alt=""><figcaption></figcaption></figure>

***

### 2 - Windows 10 Enterprise - Host1 (32bit)

[Windows 10 system requirements](https://support.microsoft.com/en-us/windows/windows-10-system-requirements-6d4e9a79-66bf-7950-467c-795cf0386715)

Minimum requirements: RAM 1.5GB | ROM 22GB

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/EkTFm0dnF8HaT02MxrBQ/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/BSyBP963UF83RwqQ843d/image.png" alt=""><figcaption></figcaption></figure>

Before starting the VM (if it starts automatically, close it) remove the reference to the floppy: right click + remove or del, and set the nertwork interface to NAT Network -> NatAD

Start the VM to do initial installation, the process is more similar to the WinServer Machine, then i'll add only the different things:

Click on Domain join instaed

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/iTEFeslP6IU2rjXd0j7w/image.png" alt=""><figcaption></figcaption></figure>

Add a name (MS-01) and psw (P@$$W0rd123):

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FQZjrUestsO1PthX2EonB%2Fimage.png?alt=media&#x26;token=b310e5ed-f622-4df2-82a1-fcc369f094af" alt=""><figcaption></figcaption></figure>

Add three casual security questions/answers for the account (mandatory), deactivate location function, diagnostic data sending and Cortana.

Now we're in, and If you want you can rename the machine: DESK-01 and restart.

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/gzhcrXANQvqzncg0Ifar/image.png" alt=""><figcaption></figcaption></figure>

#### Join Workstation to Domain

#### Configure DNS

Trying to resolve Domain Controller (corp-dc) DNS we can't obtain it:&#x20;

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2Fs8WOMx7IPPwII3gtmT89%2Fimage.png?alt=media&#x26;token=647a0cb3-dd6a-44d0-bb1f-7bce909dec4c" alt=""><figcaption></figcaption></figure>

so, we need to configure it now changing the network configuration

this is the IP of Domain Controller machine `192.168.57.9`:

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FVeLhcEyvcLCLqSp36nfw%2Fimage.png?alt=media&#x26;token=bf61b401-e431-4ee3-bb9f-a023dd0c1c5b" alt=""><figcaption><p>on DC machine</p></figcaption></figure>

To change the DNS we need to opern network configuration interface using:

Open Run (WIN+R), type: ncpa.cpl&#x20;

Now select network interface of interest -> properties -> configure IPv4 settings -> set DNS server to the AD DNS (192.168.57.9) and the default gateway as alternative DNS (192.168.57.1).

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2F3edhDpMrGBhfHcaZDw8o%2Fimage.png?alt=media&#x26;token=3764b9ea-3283-4c9b-bace-845b0bf992f4" alt=""><figcaption></figcaption></figure>

Trying again to resolve the DC DNS we can see that's correct now!

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FUtDGxPxzXd5YH1d2p7Gl%2Fimage.png?alt=media&#x26;token=8d3dcaf7-ea34-48c9-8f0d-67e83d34b002" alt=""><figcaption></figcaption></figure>

Now we can join the workstation to the domain.&#x20;

The last step is to insert the user credential of user who has the required permissions, such as a domain admin account: 'Administrator'

Then go to: Control Panel -> System and Security -> System -> Advanced system settings -> Computer Name -> Change -> Domain -> "dev-angelist.lab"

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FwpBsFQRzMmdFMMshjNse%2Fimage.png?alt=media&#x26;token=a8a1410e-135b-4c23-9d5f-d0d82f4fd45c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FEr80VjIxBTaz4uIxWEkV%2Fimage.png?alt=media&#x26;token=b3428728-35ec-4aab-9908-123d860fed65" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FvkfRZ0hGEezk6Ca5qg6m%2Fimage.png?alt=media&#x26;token=9665853c-b6ef-4fe1-909a-e536d3a13b74" alt=""><figcaption></figcaption></figure>

We can verify it on DC machine using: `net user /domain`

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FkRdz2c5PDNBQC0W7yHr2%2Fimage.png?alt=media&#x26;token=071141f8-f590-4e47-8cab-9106c65e09ee" alt=""><figcaption></figcaption></figure>

Well done!

Now we can add on the Workstation machine with the devan account: dev-angelist\devan::P\@ssword123! or <devan@dev-angelist.lab>::P\@ssword123!

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FowuRfVOT0i58I7p6i5aR%2Fimage.png?alt=media&#x26;token=ba35fbdc-458b-47a3-9564-49ad2be1c713" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3946659895-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdU49wsD4JePhgvatg1P%2Fuploads%2FxNtQv5jRFdiHo9OCKRs3%2Fimage.png?alt=media&#x26;token=52243608-517b-4bb1-8e79-be23e09d67ca" alt=""><figcaption></figcaption></figure>

To create new users we can follow again the step: "Create new AD users".

### 3 - Kali Linux - Attacker Machine

Minimum requirements: RAM 2GB | ROM 40GB

This is the attacker machine, than it's needed/suggested only for AD exploitation.

In this case the process is more quick, because this is a specific version for [VM/Oracle](https://www.kali.org/get-kali/#kali-virtual-machines)

[Download Kali Linux VM vs (ova)](https://www.kali.org/get-kali/#kali-virtual-machines)

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/8Cm1Mt1vJH7I2FFlgL1p/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/OdU49wsD4JePhgvatg1P/blobs/sNQL3acV0wvWkel6jfLO/image.png" alt=""><figcaption></figcaption></figure>

The machine name is: 'Kali' and before to start it, it's necessary to remove the reference to the floppy: right click + remove or del, and set the nertwork interface to NAT Network -> NatAD

## Troubleshooting

### **Time Synchronization Issues**

🔍 **Issue:**

* Kerberos authentication fails if there is a time difference >5 minutes.
* The workstation is using an incorrect NTP source.

✅ **Solution:**

* Sync the time manually on the client:

  ```powershell
  w32tm /resync
  ```
* Check the DC’s time source:

  ```powershell
  pw32tm /query /source
  ```
* Set the client to sync with the DC:

  ```powershell
  w32tm /config /syncfromflags:domhier /update
  net stop w32time && net start w32time
  ```

### **User Not a Member of Required Groups**

🔍 **Issue:**

* The user is not part of “Domain Users” or another group required for login.
* The account is missing required privileges for network authentication.

✅ **Solution:**

* Check user’s group membership:

  ```powershell
  Get-ADUser -Identity <username> -Properties MemberOf
  ```
* If missing, add to **Domain Users**:

  ```powershell
  Add-ADGroupMember -Identity "Domain Users" -Members <username>
  ```

### **Domain Trust or DNS Resolution Issues**

🔍 **Issue:**

* The workstation cannot find the Domain Controller.
* `nltest /dsgetdc:<domain>` fails or returns an incorrect DC.

✅ **Solution:**

* Check domain resolution:

  ```powershell
  nslookup dev-angelist.lab
  ```
* If the workstation is pointing to the wrong DNS, set it to use the DC’s IP:

  ```
  Control Panel → Network and Sharing Center → Adapter Settings → Set DNS to DC IP
  ```
* Force domain discovery:

  ```powershell
  nltest /dsgetdc:dev-angelist.lab
  ```

### **Account Locked Out**

🔍 **Issue:**

* Multiple failed login attempts locked the account.
* The account is locked out in AD.

✅ **Solution:**

* Check if the account is locked:

  ```powershell
  Get-ADUser -Identity <username> -Properties LockedOut
  ```
* Unlock the account:

  ```powershell
  Unlock-ADAccount -Identity <username>
  ```

## Lab Pre-Configured

* [Game Of Active Directory (GOAD)](https://github.com/Orange-Cyberdefense/GOAD) - more than 16 RAM needed&#x20;
