Skip to content

CRT-3005/AD-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

AD-Project

Objective

The goal of this project was to create a basic Active Directory (AD) environment, simulate attacks from Kali Linux, and configure Splunk to collect and analyze telemetry from target machines.

Lab Environment

  • Windows 10 Client: Splunk Universal Forwarder + Sysmon
  • Windows Server: Active Directory Domain Services (ADDS) + Splunk Forwarder + Sysmon
  • Ubuntu Server: Splunk Enterprise (SIEM)
  • Kali Linux: Attack platform

Skills Learned

  • Setting up Active Directory Domain Services (ADDS)
  • Installing and configuring Splunk on Ubuntu Server
  • Forwarding logs from endpoints to a SIEM
  • Configuring Sysmon for enhanced telemetry
  • Analyzing and interpreting network logs
  • Recognizing common attacker techniques
  • Conducting brute force attacks for testing SIEM detection

Tools Used

  • VirtualBox – VM creation and NAT network setup
  • Active Directory Domain Services (ADDS) – Domain and user account creation
  • Splunk Enterprise – Log ingestion and analysis
  • Sysmon – Windows system monitoring
  • Crowbar – Brute force attack tool
  • Atomic Red Team (ART) – MITRE ATT&CK simulation framework

Workflow Overview

  1. Install Windows Server 2022 and configure it as a Domain Controller.
  2. Join a Windows 10 client to the Active Directory domain.
  3. Create users, groups, and organizational units within Active Directory.
  4. Install Splunk Universal Forwarders on both VMs.
  5. Forward logs (Security, System, Application) to Splunk.
  6. Build dashboards in Splunk to visualize AD activity.
  7. Simulate basic attack scenarios (e.g., brute force, privilege escalation).
  8. Capture and analyze events in Splunk.
  9. Configure alerts in Splunk based on suspicious activity.
  10. Document manual review and response actions.

Steps

adproject-network-diagram

Figure 1 – Lab Network Topology: Four VirtualBox VMs — Splunk Server, Active Directory, Windows 10 Client, and Kali Linux — connected via NAT for attack simulation and log analysis.

00-installer-config yaml

Figure 2 - Splunk Server Network Configuration: Static IP set on Splunk server as per network diagram. Default gatway configured for NAT network. Google DNS used as no DNS server setup for this lab.

ip -a Splunk

Figure 3 – Splunk Server IP Verification: Output from ip -a confirming the Splunk server is using the static IP address 192.168.10.10/24 as configured.

splunk-login-page

Figure 4 – Splunk Web Interface Access: Successful connection to the Splunk Enterprise GUI from the Windows 10 client machine, confirming network and service availability.

ADDC Settings

Figure 5 – Active Directory Server Configuration: Properties of ADDC01 showing it is joined to the ADProject.local domain with the correct static IP address 192.168.10.7.

IT User

Figure 6 - AD Group 1: IT OU created and user added into AD.

HR User

Figure 7 - AD Group 2: HR OU created and user added into AD.

inputs conf

Figure 8 - input.conf: New variant of inputs.conf created for Splunk index (Client Machine). The Splunk Universal Forwader will push the events listed in this file over to the Splunk server. This was also setup on the DC as you will see with Figure 13 where two hosts appear in the Splunk logs.

inputs conf location

Figure 9 - input.conf location change: Defualt location for inputs.conf is C:\Program Files\SplunkUniversalForwarder\etc\system\default which needs to stay as is. A new inputs.conf file was created in C:\Program Files\SplunkUniversalForwarder\etc\local which Splunk will look to. Note that anytime the inputs.conf file is changed the Universal Forward service needs to be restarted.

image

Figure 10 - Splunk Forwarder: Within the SplunkForwarder service the Log On tab needs to be changed to use Local System Account otherwise it will not have all the required permissions.

endpoint-index

Figure 11 - endpoint index created: In Figure 8 the inputs.conf file has the index listed as endpoint. This has to be created within Splunk otherwise the logs will not show.

receiving-9997

Figure 12 - Setting up receiving port in Splunk: By default the port for receiving logs is 9997 and this is what is used in this lab.

endpoints-pc-ad

Figure 13 - Confirming hosts visile in Splunk: Both the DC and the client are forwarding logs into Splunk.

rdp-win10-client

Figure 14 - Enabling RDP on client machine: By enabling RDP this will help with the next steps where the brute force attack comes into play.

rockyou-passwords-list

Figure 15 - Crowbar: Beginning to use Crowbar and generating passwords file for brute force attack

adding-password

Figure 16 - Password file: This is the example password file that will be used for the

SplunkEventJNeutron

Figure 17 - JNeutron logs: Searching specifically for JNeutron user logs

EventCode4625

Figure 18 - Failed login attemps: Event ID referencing failed login attempts

FailedLoginAttempts

Figure 19 - Splunk logs for failed login attempts: Telemetry for failed login attempts

FullEventLogBruteForce

Figure 20 - Brute Force Splunk logs: Kali machine used to brute force the password with Crowbar. Spunk logs verify the attempts showing 'Unknown username or bad password' and logs show the IP of the Kali machine which is where these attempts are originating from.

InstallingART

Figure 21 - Installing Atomic Red Team: Installed Atomic Red Team via PowerShell using the official script from Red Canary. Included NuGet provider setup and confirms successful installation of Invoke-AtomicTest for executing atomic tests.

AtomicTestT1136 001-LocalUser

Figure 22 - : T1136.001: Demonstrates multiple methods of local account creation using Command Prompt, PowerShell, and .NET, aligned with MITRE ATT&CK T1136.001. Includes both standard and administrator account creation, highlighting detection challenges across techniques.

DetectingT1136 001-NewLocalUser

Figure 23 - Local account detection: The Splunk logs now show creation of the new account. This would help in real life scenarios by alerting to a potential breach in a network.

Outcomes

  • Successfully built a working AD environment with Splunk monitoring
  • Simulated real-world brute force and persistence attacks
  • Verified detection of attacker activity via SIEM
  • Gained hands-on experience with both defensive and offensive security tools

About

Active Directory security lab with Windows telemetry, Sysmon, Splunk ingestion, and authentication attack simulation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors