• We just launched and are currently in beta. Join us as we build and grow the community.

Credential Dumping – Active Directory Reversible Encryption

devinbern

Battle Mage
D Rep
0
0
0
Rep
0
D Vouches
0
0
0
Vouches
0
Posts
186
Likes
170
Bits
2 MONTHS
2 2 MONTHS OF SERVICE
LEVEL 1 400 XP
Introduction

According to MITRE, an adversary may abuse Active Directory authentication encryption properties to gain access to credentials on Windows systems. The AllowReversiblePasswordEncryption property specifies whether reversible password encryption for an account is enabled or disabled. By default, this property is disabled (instead of storing user credentials as the output of one-way hashing functions) and should not be enabled unless legacy or other software requires it.

  • MITRE TACTIC: Credential Dumping (ID: TA0006)
  • MITRE Technique Modify Authentication Process (T1556)
  • MITRE SUB ID: Reversible Encryption (T1556.005)

In Domain Controller user account reversible encryption is enabled, which means the encrypted data can be reversed back to the user’s password. The password stored with a reversible encryption policy is not a hash since a function can be called to get back to the original clear-text password.

Do you know?

As per Microsoft: If you use the Challenge Handshake Authentication Protocol (CHAP) through remote access or Internet Authentication Services (IAS), you must enable this policy setting. CHAP is an authentication protocol that is used by remote access and network connections. Digest Authentication in Internet Information Services (IIS) also requires that you enable this policy setting.

Table of Content
  • Lab Setup
  • DC-Sync Attack-Dump Plain text Password
  • Mitigation
  • Conclusion

Lab Setup

Enabling Reversible encryption in Active Directory Users

There are multiple methods to enable Reversible encryption property:

  • User Account Property

Enable the Reversible encryption by modifying the account property for the Domain User account.

11.png


Powershell Command

Code:
set-ADUser – AllowReversiblePasswordEncryption $true

12.png


Group Policy Management

Enable the store password using reversible encryption with Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\

13.png


Validate the property through User’s property-Attribute Editor for UserAccountControl.

14.png


NOTE: Now if the system Administrator reset the password for the user account, an adversary may be able to obtain the plaintext of passwords created/changed after the property was enabled.

Enumeration

PowerShell Command to find user enabled with allow reversible password encryption.

Code:
Get-ADUser -Filter {AllowReversiblePasswordEncryption -eq "true"} | Select Name, sAMAccountName

15.png


Attack: DC-Sync

In our Previous article, we described the DCsync attack, read more from here. You can download the DC Sync Script tool here.

Commands to execute in the domain controller to check the user’s clear text password.

Code:
powershell.exe -ep bypass
Import-Module .\Invoke-DCSync.ps1
Invoke-DCSync -AllData

16.png


DCSync shows the clear-text password of the target user.

17.png


Mitigation
  • Ensure that Allow Reversible Password Encryption property is set to disabled.
  • Group policy store password using reversible encryption is set to disable.

Conclusion

In this article, we were able to decrypt the password of active directory user accounts. This article can serve as a reference for Red Team activists for Credential Dumping – Active Directory Plain Text Password.

Author: Faisal Khan security analyst and expert in infrastructure Security Contact him on LinkedIn
 

421,687

310,507

310,516

Top