DLLPasswordFilterImplant is a custom password filter DLL that allows the capture of a user's credentials. Each password change event on a domain will trigger the registered DLL in order to exfiltrate the username and new password value prior successfully changing it in the Active Directory (AD).
For more information about password filters consult Microsoft's documentation.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
KEY=key.pem
openssl genrsa -out $KEY 2048
echo >> addKey.reg
echo '[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]' >> addKey.reg
echo "Key=hex:$(openssl rsa -in $KEY -pubout | sed -E '/^\-/d' | base64 -d | python2 -c 'import sys; print(",".join(["{:02x}".format(ord(b)) for b in sys.stdin.read()]))')" >> addKey.reg
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
The encrypted data is padded using OAEP and can be decrypted as follows:
# Convert the stitched hex string to raw bytes.
xxd -r -p exfiltrated.hex > raw.bin
# Decrypt using the private key.
openssl rsautl -decrypt -oaep -inkey $KEY -in raw.bin -out decrypted.txt
To completely remove the password filter of a system:
HKEY_LOCAL_MACHINE SYSTEM\CurrentControlSet\Control\Lsa
Works on:
The password filter was tested exclusively on systems listed above.
Here are some tool that may help you debug the DLL (if necessary):
Download Tool: https://github.com/GoSecure/DLLPasswordFilterImplant
With world working from home, it's time to make it enjoyable and effective.
Read DetailsThe recent pandemic was unexpected and unknown to most part of the world. It has changed our life and we are slowly adapting to our new lifestyle. The risks associated with the new lifestyle, both personal & corporate, are unknown to most of us.
Read Details