Skip to content

Commit aea0dc8

Browse files
Prepare for release 6.0
1 parent d1d90e9 commit aea0dc8

File tree

14 files changed

+48
-41
lines changed

14 files changed

+48
-41
lines changed

.github/CONTRIBUTING.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
![DSInternals Logo](DSInternals-Dark.png#gh-light-mode-only)
2-
![DSInternals Logo](DSInternals-Light.png#gh-dark-mode-only)
1+
![DSInternals Logo](/.github/DSInternals-Dark.png#gh-light-mode-only)
2+
![DSInternals Logo](/.github/DSInternals-Light.png#gh-dark-mode-only)
33

44
# Contributing to the Project
55

@@ -49,18 +49,16 @@ $PSVersion
4949
### Development Environment
5050

5151
If you want to build the module from source code yourself, you need to install these programs first:
52-
- [Microsoft Visual Studio Community](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx) 2022 with these features installed:
52+
- [Microsoft Visual Studio Community](https://visualstudio.microsoft.com/vs/community/) 2022 with these features installed:
5353
* .NET Framework 4.8 targeting pack
5454
* C++ 2022 Redistributable Update
5555
* C++/CLI support for v143 build tools (Latest)
5656
* MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
5757
* MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
58-
* Windows Universal C Runtime
59-
* Windows 11 SDK (you might have to retarget the [DSInternals.Replication.Interop](../Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj) project to the version you have)
58+
* Windows 11 SDK (you might have to retarget the `DSInternals.Replication.Interop` projects to the version you have)
6059
* PowerShell Tools for Visual Studio (optional)
6160
* Git for Windows (optional)
6261
* GitHub Extension for Visual Studio (optional)
63-
- [Windows Management Framework 5](https://www.microsoft.com/en-us/download/details.aspx?id=50395).
6462

6563
To make IntelliSense work with *.psm1 files, the following code needs to be added to the `C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Xml\Schemas\catalog.xml` file:
6664

@@ -69,20 +67,18 @@ To make IntelliSense work with *.psm1 files, the following code needs to be adde
6967
<Association extension="ps1xml" schema="https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd" enableValidation="true"/>
7068
```
7169

72-
### Build Steps
70+
### Build and Debug Steps
71+
7372
1. Install the prerequisities.
7473
2. Checkout or download the source codes.
75-
3. Run the [Scripts\Make.ps1](../Scripts/Make.ps1) script from PowerShell.
76-
4. The resulting module will appear in the *Build\bin\Release* folder.
77-
78-
### Debugging
79-
80-
1. Open the [Src\DSInternals.sln](../Src/DSInternals.sln) file in Visual Studio.
81-
2. Put any cmdlets you wish to debug into the [Src\DSInternals.PowerShell\Run-Cmdlets.ps1](../Src/DSInternals.PowerShell/Run-Cmdlets.ps1) script.
82-
3. Set the [DSInternals.PowerShell](../Src/DSInternals.PowerShell/DSInternals.PowerShell.csproj) project as StartUp Project.
74+
3. Open the [Src\DSInternals.sln](/Src/DSInternals.sln) file in Visual Studio.
75+
2. Put any cmdlets you wish to debug into the [Src\DSInternals.PowerShell\Run-Cmdlets.ps1](/Src/DSInternals.PowerShell/Run-Cmdlets.ps1) script.
76+
3. Set the [DSInternals.PowerShell](/Src/DSInternals.PowerShell/DSInternals.PowerShell.csproj) project as StartUp Project.
8377
4. Switch to the _Debug_ configuration.
8478
5. Start debugging (F5).
8579

8680
### Continuous Integration
8781

82+
[![CI Build](https://github.com/MichaelGrafnetter/DSInternals/actions/workflows/autobuild.yml/badge.svg)](https://github.com/MichaelGrafnetter/DSInternals/actions/workflows/autobuild.yml)
83+
8884
GitHub Actions are used for CI builds.

.github/README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ The DSInternals project consists of these two parts:
1919
- [Active Directory password auditing](../Documentation/PowerShell/Test-PasswordQuality.md#test-passwordquality) that discovers accounts sharing the same passwords or having passwords in a public database like [HaveIBeenPwned](https://haveibeenpwned.com) or in a custom dictionary.
2020
- [Key credential auditing and generation](../Documentation/PowerShell/Get-ADKeyCredential.md#get-adkeycredential), including support for NGC, FIDO2 and STK keys. Keys can also be tested against the [ROCA vulnerability](https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV190026). New NGC keys can also be [registered through the MS-DRSR protocol](../Documentation/PowerShell/Add-ADReplNgcKey.md#add-adreplngckey).
2121
- [Bare-metal recovery of domain controllers](../Documentation/PowerShell/New-ADDBRestoreFromMediaScript.md#new-addbrestorefrommediascript) from just IFM backups (ntds.dit + SYSVOL).
22-
- Offline ntds.dit file manipulation, including [hash dumping](../Documentation/PowerShell/Get-ADDBAccount.md#get-addbaccount), [password resets](../Documentation/PowerShell/Set-ADDBAccountPassword.md#set-addbaccountpassword), [group membership changes](../Documentation/PowerShell/Set-ADDBPrimaryGroup.md#set-addbprimarygroup), [SID History injection](../Documentation/PowerShell/Add-ADDBSidHistory.md#add-addbsidhistory) and [enabling](../Documentation/PowerShell/Enable-ADDBAccount.md#enable-addbaccount)/[disabling](../Documentation/PowerShell/Disable-ADDBAccount.md#disable-addbaccount) accounts.
22+
- Offline ntds.dit file manipulation, including [hash dumping](../Documentation/PowerShell/Get-ADDBAccount.md#get-addbaccount), [password resets](../Documentation/PowerShell/Set-ADDBAccountPassword.md#set-addbaccountpassword), [group membership changes](../Documentation/PowerShell/Set-ADDBPrimaryGroup.md#set-addbprimarygroup), [trust password extraction](../Documentation/PowerShell/Get-ADDBTrust.md#get-addbtrust), [Golden gMSA and dMSA attacks](../Documentation/PowerShell/Get-ADDBServiceAccount.md#get-addbserviceaccount), [enabling](../Documentation/PowerShell/Enable-ADDBAccount.md#enable-addbaccount)/[disabling](../Documentation/PowerShell/Disable-ADDBAccount.md#disable-addbaccount) accounts, [LAPS password decryption](../Documentation/PowerShell/Get-ADDBAccount.md#example-9), and [DNS zone data export](../Documentation/PowerShell/Get-ADDBDnsResourceRecord.md#get-addbdnsresourcerecord).
2323
- [Online password hash dumping](../Documentation/PowerShell/Get-ADReplAccount.md#get-adreplaccount) through the Directory Replication Service (DRS) Remote Protocol (MS-DRSR). This feature is commonly called DCSync.
2424
- [Domain or local account password hash injection](../Documentation/PowerShell/Set-SamAccountPasswordHash.md#set-samaccountpasswordhash) through the Security Account Manager (SAM) Remote Protocol (MS-SAMR) or [directly into the database](../Documentation/PowerShell/Set-ADDBAccountPasswordHash.md#set-addbaccountpasswordhash).
2525
- [LSA Policy modification](../Documentation/PowerShell/Set-LsaPolicyInformation.md#set-lsapolicyinformation) through the Local Security Authority (Domain Policy) Remote Protocol (MS-LSAD / LSARPC).
26-
- [Extracting credential roaming data](../Documentation/PowerShell/Save-DPAPIBlob.md#save-dpapiblob) and DPAPI domain backup keys, either online through [directory replication](../Documentation/PowerShell/Get-ADReplBackupKey.md#get-adreplbackupkey), [LSARPC](../Documentation/PowerShell/Get-LsaBackupKey.md#get-lsabackupkey) and [offline from ntds.dit](../Documentation/PowerShell/Get-ADDBBackupKey.md#get-addbbackupkey).
27-
- Password hash calculation, including [NT hash](../Documentation/PowerShell/ConvertTo-NTHash.md#convertto-nthash), [LM hash](../Documentation/PowerShell/ConvertTo-LMHash.md#convertto-lmhash) and [kerberos keys](../Documentation/PowerShell/ConvertTo-KerberosKey.md#convertto-kerberoskey).
26+
- [Extracting credential roaming data](../Documentation/PowerShell/Save-DPAPIBlob.md#save-dpapiblob) and DPAPI domain backup keys, either online through [directory replication](../Documentation/PowerShell/Get-ADReplBackupKey.md#get-adreplbackupkey), [LSARPC](../Documentation/PowerShell/Get-LsaBackupKey.md#get-lsabackupkey), and [offline from ntds.dit](../Documentation/PowerShell/Get-ADDBBackupKey.md#get-addbbackupkey).
27+
- Password hash calculation, including [NT hash](../Documentation/PowerShell/ConvertTo-NTHash.md#convertto-nthash), [LM hash](../Documentation/PowerShell/ConvertTo-LMHash.md#convertto-lmhash), and [kerberos keys](../Documentation/PowerShell/ConvertTo-KerberosKey.md#convertto-kerberoskey).
2828

2929
> DISCLAIMER: Features exposed through these tools are not supported by Microsoft. Improper use might cause irreversible damage to domain controllers or negatively impact domain security.
3030
3131
## Author
3232

3333
### Michael Grafnetter
3434

35-
[![Twitter](https://img.shields.io/twitter/follow/MGrafnetter.svg?label=Twitter%20@MGrafnetter&style=social)](https://twitter.com/MGrafnetter)
35+
[![Twitter](https://img.shields.io/twitter/follow/MGrafnetter.svg?label=Twitter%20@MGrafnetter&style=social)](https://x.com/MGrafnetter)
3636
[![Blog](https://img.shields.io/badge/Blog-www.dsinternals.com-2A6496.svg)](https://www.dsinternals.com/en)
3737
[![LinkedIn](https://img.shields.io/badge/LinkedIn-grafnetter-0077B5.svg)](https://www.linkedin.com/in/grafnetter)
3838

@@ -47,9 +47,9 @@ I would like to thank all people who have contributed to the project by [sending
4747
[![GitHub Downloads](https://img.shields.io/github/downloads/MichaelGrafnetter/DSInternals/total.svg?label=GitHub%20Downloads&logo=GitHub)](https://github.com/MichaelGrafnetter/DSInternals/releases)
4848
[![NuGet Gallery Downloads](https://img.shields.io/nuget/dt/DSInternals.Common.svg?label=NuGet%20Gallery%20Downloads&logo=NuGet)](https://www.nuget.org/profiles/DSInternals)
4949

50-
### PowerShell Gallery (PowerShell 5+)
50+
### PowerShell Gallery
5151

52-
Since PowerShell 5, you can install the DSInternals module directly from the official [PowerShell Gallery](https://www.powershellgallery.com/packages/DSInternals/) by running the following command:
52+
You can install the DSInternals module directly from the official [PowerShell Gallery](https://www.powershellgallery.com/packages/DSInternals/) by running the following command:
5353

5454
```powershell
5555
Install-Module DSInternals -Force
@@ -86,7 +86,7 @@ This package is self-contained and it will also install all dependencies. Note t
8686

8787
### WAPT Package
8888

89-
The DSInternals PowerShell Module can also be installed using the [WAPT package](https://wapt.tranquil.it/store/tis-dsinternals/).
89+
The DSInternals PowerShell Module can also be installed using the [WAPT package](https://wapt.tranquil.it/store/en/tis-dsinternals).
9090

9191
The package can be installed by the [WAPT console](https://www.wapt.fr/en/doc/wapt-console-usage.html) or by the [WAPT Command-line interface](https://www.wapt.fr/en/doc/wapt-command-line-interface.html) like so:
9292

@@ -96,7 +96,7 @@ wapt-get install dsinternals
9696

9797
This package is self-contained and it will also install all dependencies.
9898

99-
### Offline Module Distribution (PowerShell 3+)
99+
### Offline Module Distribution
100100

101101
1. Download the [current release](https://github.com/MichaelGrafnetter/DSInternals/releases) from GitHub.
102102
2. *Unblock* the ZIP file, using either the *Properties dialog* or the `Unblock-File` cmdlet. If you fail to do so, all the extracted DLLs will inherit this attribute and PowerShell will refuse to load them.
@@ -118,8 +118,8 @@ The easiest way of integrating the DSInternals functionality into .NET applicati
118118

119119
### Building from Source Code
120120

121-
[![Visual Studio 2022](https://img.shields.io/badge/Visual%20Studio-2022-383278.svg?logo=Visual-Studio-Code)](CONTRIBUTING.md#building-from-source-code)
122-
[![Build Status](https://dev.azure.com/DSInternals/DSInternals%20CI/_apis/build/status/DSInternals?branchName=master)](https://dev.azure.com/DSInternals/DSInternals%20CI/_build/latest?definitionId=2&branchName=master)
121+
[![Visual Studio 2022](https://img.shields.io/badge/Visual%20Studio-2022-383278.svg)](CONTRIBUTING.md#building-from-source-code)
122+
[![CI Build](https://github.com/MichaelGrafnetter/DSInternals/actions/workflows/autobuild.yml/badge.svg)](https://github.com/MichaelGrafnetter/DSInternals/actions/workflows/autobuild.yml)
123123

124124
You can of course download the [source code](https://github.com/MichaelGrafnetter/DSInternals/archive/master.zip), perform a review and compile the Module/Framework yourself. See the [CONTRIBUTING](CONTRIBUTING.md#building-from-source-code) guide for more info.
125125

@@ -147,6 +147,7 @@ I have also published a series of articles about the DSInternals module on [my b
147147
- [Impersonating Office 365 Users With Mimikatz](https://www.dsinternals.com/en/impersonating-office-365-users-mimikatz/)
148148

149149
### Slide Decks
150+
150151
- [Black Hat Europe 2019: DSInternals PowerShell Module](https://www.dsinternals.com/wp-content/uploads/eu-19-Grafnetter-DSInternals-PowerShell-Module.pdf)
151152
- [Black Hat Europe 2019: Exploiting Windows Hello for Business](https://www.dsinternals.com/wp-content/uploads/eu-19-Grafnetter-Exploiting-Windows-Hello-for-Business.pdf)
152153
- [HipConf New York 2018: Offline Attacks on Active Directory](https://www.dsinternals.com/wp-content/uploads/HIP_AD_Offline_Attacks.pdf)

Documentation/CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55

66
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
77

8-
## [Unreleased]
8+
## [6.0] - 2025-08-14
99

1010
### Added
1111

12+
- PowerShell Core 7 and .NET SDK are now supported on the Windows platform.
13+
- The PowerShell module, NuGet packages, binaries, and scripts are digitally signed.
14+
- All pure CLR assemblies are built deterministically.
1215
- The new [Get-ADDBTrust](PowerShell/Get-ADDBTrust.md#get-addbtrust) cmdlet can read inter-domain trust objects from `ntds.dit` files, decrypt the trust passwords, and derive the Kerberos trust keys.
1316
- Added the [Get-ADReplKdsRootKey](PowerShell/Get-ADReplKdsRootKey.md#get-adreplkdsrootkey) cmdlet to enable reading specific KDS Root Keys over the MS-DRSR protocol.
1417
- Full support for `ntds.dit` files originating from RODCs.
@@ -625,7 +628,8 @@ This is a [Chocolatey](https://chocolatey.org/packages/dsinternals-psmodule)-onl
625628
## 1.0 - 2015-01-20
626629
Initial release!
627630

628-
[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v5.4.1...HEAD
631+
[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v6.0...HEAD
632+
[6.0]: https://github.com/MichaelGrafnetter/DSInternals/compare/v5.4.1...v6.0
629633
[5.4.1]: https://github.com/MichaelGrafnetter/DSInternals/compare/v5.3...v5.4.1
630634
[5.3]: https://github.com/MichaelGrafnetter/DSInternals/compare/v5.2...v5.3
631635
[5.2]: https://github.com/MichaelGrafnetter/DSInternals/compare/v5.1...v5.2

Documentation/PowerShell/Get-ADDBTrust.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
---
1+
---
22
external help file: DSInternals.PowerShell.dll-Help.xml
33
Module Name: DSInternals
44
online version: https://github.com/MichaelGrafnetter/DSInternals/blob/master/Documentation/PowerShell/Get-ADDBTrust.md

Documentation/PowerShell/about_DSInternals.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# DSInternals
1+
# DSInternals
22
## about_DSInternals
33

44
# SHORT DESCRIPTION

Src/DSInternals.Common/DSInternals.Common.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
<!-- NuGet package metadata -->
33
<PropertyGroup>
44
<IsPackable>true</IsPackable>
5-
<Version>5.5</Version>
5+
<Version>6.0</Version>
66
<AssemblyTitle>DSInternals Common Library</AssemblyTitle>
77
<Title>$(AssemblyTitle)</Title>
88
<Description>This package is shared between all other DSInternals packages. Its main features are Azure AD Graph API and ADSI clients for for retrieval of cryptographic material. It contains implementations of common hash functions used by Windows, including NT hash, LM hash and OrgId hash. It also contains methods for SysKey/BootKey retrieval.</Description>
9-
<PackageReleaseNotes>- Added support for AD trusts.</PackageReleaseNotes>
9+
<PackageReleaseNotes>- Migrated to .NET SDK.
10+
- Added support for AD trusts.</PackageReleaseNotes>
1011
<PackageTags>ActiveDirectory Security Entra AD AAD Identity Active Directory</PackageTags>
1112
<TargetFrameworks>net48;net8.0-windows</TargetFrameworks>
1213
</PropertyGroup>

Src/DSInternals.DataStore/DSInternals.DataStore.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
<!-- NuGet package metadata -->
33
<PropertyGroup>
44
<IsPackable>true</IsPackable>
5-
<Version>5.5</Version>
5+
<Version>6.0</Version>
66
<AssemblyTitle>DSInternals DataStore Library</AssemblyTitle>
77
<Title>$(AssemblyTitle)</Title>
88
<Description>DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation. It can be used to extract password hashes from Active Directory backups or to modify the sIDHistory and primaryGroupId attributes.</Description>
9-
<PackageReleaseNotes>- Added support for AD trusts.
10-
- Switched to using custom NuGet packages.</PackageReleaseNotes>
9+
<PackageReleaseNotes>- Migrated to .NET SDK.
10+
- Added support for AD trusts.
11+
- Switched to using custom ManagedEsent NuGet packages.</PackageReleaseNotes>
1112
<PackageTags>ActiveDirectory Security NTDS AD Identity Active Directory</PackageTags>
1213
<TargetFrameworks>net48;net8.0-windows</TargetFrameworks>
1314
</PropertyGroup>

Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
44
<metadata>
55
<id>DSInternals-PSModule</id>
6-
<version>5.5</version>
6+
<version>6.0</version>
77
<packageSourceUrl>https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src/DSInternals.PowerShell/Chocolatey</packageSourceUrl>
88
<owners>MichaelGrafnetter</owners>
99
<title>DSInternals PowerShell Module</title>
@@ -37,6 +37,7 @@ The DSInternals PowerShell Module has these main features:
3737
## Disclaimer
3838
Features exposed through these tools are not supported by Microsoft. Improper use might cause irreversible damage to domain controllers or negatively impact domain security.</description>
3939
<releaseNotes>
40+
* Implemented support for PowerShell Core 7 on Windows.
4041
* The new Get-ADDBTrust cmdlet can read inter-domain trust objects from ntds.dit files, decrypt the trust passwords, and derive the Kerberos trust keys.
4142
* Added the Get-ADReplKdsRootKey cmdlet to enable reading specific KDS Root Keys over the MS-DRSR protocol.
4243
* Implemented full support for ntds.dit files originating from RODCs.

Src/DSInternals.PowerShell/DSInternals.psd1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ PrivateData = @{
228228

229229
# ReleaseNotes of this module
230230
ReleaseNotes = @"
231+
- Implemented support for PowerShell Core 7 on Windows.
231232
- The new Get-ADDBTrust cmdlet can read inter-domain trust objects from ntds.dit files, decrypt the trust passwords, and derive the Kerberos trust keys.
232233
- Added the Get-ADReplKdsRootKey cmdlet to enable reading specific KDS Root Keys over the MS-DRSR protocol.
233234
- Implemented full support for ntds.dit files originating from RODCs.

Src/DSInternals.Replication.Interop/AssemblyInfo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ using namespace System::Security::Permissions;
1313
//
1414
[assembly:AssemblyTitleAttribute(L"DSInternals Replication Interop Library")];
1515
// Note: Do not forget to change the version in version.rc files.
16-
[assembly:AssemblyVersionAttribute("5.5")];
16+
[assembly:AssemblyVersionAttribute("6.0")];
1717
[assembly:AssemblyProductAttribute(L"DSInternals PowerShell Module")];
1818
[assembly:AssemblyCopyrightAttribute(L"Copyright (c) 2015-2025 Michael Grafnetter. All rights reserved.")];
1919
[assembly:AssemblyDescriptionAttribute(L"")];

0 commit comments

Comments
 (0)