All Projects → JacksonVD → Pwnedpasswordsdll

JacksonVD / Pwnedpasswordsdll

Open source solution to check prospective AD passwords against previously breached passwords

Projects that are alternatives of or similar to Pwnedpasswordsdll

Pwnedornot
OSINT Tool for Finding Passwords of Compromised Email Addresses
Stars: ✭ 888 (+1150.7%)
Mutual labels:  passwords, haveibeenpwned
Pwned
Simple CLI script to check if you have a password that has been compromised in a data breach.
Stars: ✭ 47 (-33.8%)
Mutual labels:  passwords, haveibeenpwned
Pw Pwnage Cfworker
Deploy a Cloudflare Worker to sanely score users' new passwords with zxcvbn AND check for matches against haveibeenpwned's 7.8+ billion breached accounts
Stars: ✭ 125 (+76.06%)
Mutual labels:  passwords, haveibeenpwned
laravel-pwned-passwords
Simple Laravel validation rule that allows you to prevent or limit the re-use of passwords that are known to be pwned (unsafe). Based on TroyHunt's Have I Been Pwned (https://haveibeenpwned.com)
Stars: ✭ 67 (-5.63%)
Mutual labels:  passwords, haveibeenpwned
Pwned
A command-line tool for querying the 'Have I been pwned?' service.
Stars: ✭ 161 (+126.76%)
Mutual labels:  passwords, haveibeenpwned
Pwned
An easy, Ruby way to use the Pwned Passwords API.
Stars: ✭ 290 (+308.45%)
Mutual labels:  passwords, haveibeenpwned
Fet Loader
moved to gitlab.com/FETLoader
Stars: ✭ 27 (-61.97%)
Mutual labels:  dll
Libcorsairrgb
⌨️ Windows library for controlling lights on Corsair RGB keyboards
Stars: ✭ 52 (-26.76%)
Mutual labels:  dll
Dsinternals
Directory Services Internals (DSInternals) PowerShell Module and Framework
Stars: ✭ 776 (+992.96%)
Mutual labels:  passwords
Whaler
Program to reverse Docker images into Dockerfiles
Stars: ✭ 670 (+843.66%)
Mutual labels:  passwords
Firepwned
🙏 Checks Firefox saved passwords against known data leaks using the Have I Been Pwned API.
Stars: ✭ 69 (-2.82%)
Mutual labels:  haveibeenpwned
Reflexil
The .NET Assembly Editor
Stars: ✭ 1,117 (+1473.24%)
Mutual labels:  dll
Featherpasswordmanager
Highly portable extremely light-weight password manager that stores all your passwords in a local encrypted file.
Stars: ✭ 39 (-45.07%)
Mutual labels:  passwords
Pcsgolh
PCSGOLH - Pointless Counter-Strike: Global Offensive Lua Hooks. A open-source Lua API for CS:GO hacking written in modern C++
Stars: ✭ 56 (-21.13%)
Mutual labels:  dll
Hashtopolis
A Hashcat wrapper for distributed hashcracking
Stars: ✭ 835 (+1076.06%)
Mutual labels:  passwords
Masterpassword
Project moved to https://gitlab.com/spectre.app
Stars: ✭ 1,122 (+1480.28%)
Mutual labels:  passwords
Cocorico
👐 Cocorico is an open source marketplace solution for services and rentals. More information right here: https://www.cocorico.io/en/ 🚀 Cocorico is also available in an off-the-shelf SaaS package, check out https://www.hatch.li to launch your platform today. 😍 We are hiring (telecommute welcome 🏡): https://www.welcometothejungle.com/en/companies/cocorico/jobs/candidatures-spontanees#apply
Stars: ✭ 765 (+977.46%)
Mutual labels:  dll
Passwordcockpit
Passwordcockpit is a simple, free, open source, self hosted, web based password manager for teams. It is made in PHP, Javascript, MySQL and it run on a docker service. It allows users with any kind of device to safely store, share and retrieve passwords, certificates, files and much more.
Stars: ✭ 34 (-52.11%)
Mutual labels:  passwords
Dll hook Rs
Rust code to show how hooking in rust with a dll works.
Stars: ✭ 57 (-19.72%)
Mutual labels:  dll
That React App You Want
That react app you always wanted: [email protected], [email protected], postCSS, purifycss, dll's and code splitting examples, bregh. Highly opinionated but you better like it.
Stars: ✭ 27 (-61.97%)
Mutual labels:  dll

Introduction

PwnedPasswordsDLL is a DLL that allows password requests through any form of Active Directory integration to be checked against over 330 million previously breached passwords.

Check out https://jacksonvd.com/checking-for-breached-passwords-in-active-directory/ for more information on the background of the tool.

Compiling the Code (Visual Studio)

The code is heavily reliant on the Crypto++ library in order to convert the calling password to a SHA1 hash.  I have also only tested the code on x64 architecture, so I'm not sure if it will even work on 32-bit systems.

Compiling the code is quite simple in Visual Studio -

  1. Download the PwnedPasswordsDLL source from here
  2. Download Crypto++ from the following link (https://www.cryptopp.com/#download)
  3. Build Crypto++ as a library in x64 mode - the following link is a good resource on compiling it for use in Visual Studio (http://programmingknowledgeblog.blogspot.com.au/2013/04/compiling-and-integrating-crypto-into.html)
  4. Include the Crypto++ header directories through Project –> PwnedPasswordsDLL Properties –> Configuration Properties –> VC++ Directories. Edit the Include Directories and add the include directory
  5. Then, edit the Library Directories and add the Debug directory from the x64\Outputdirectory.
  6. Add cryptlib.lib to your Additional Dependencies list under Project –> PwnedPasswordsDLL Properties –> Configuration Properties –> Linker–>Input–> Additional Dependencies
  7. Change Runtime Library to Multi-threaded Debug (/MTd) underProject –> PwnedPasswordsDLL Properties –> Configuration Properties –>  C/C++–> Code Generation
  8. All that's left now is to Build and then test out the DLL!

Implementing the DLL

The implementation of the DLL is the easy part, save for downloading some rather large text files - whether you've compiled the code yourself or downloaded a release, the implementation process is the same.

Note: These instructions need to be followed on all Domain Controllers in the domain if you wish to implement this for Active Directory, as any of them may end up servicing a password change request.

As the solution is entirely on-premises, you need to download the 3 breached passwords zip files from https://haveibeenpwned.com/passwords and extract the plain-text documents to the C drive (the file path is customisable if you compile the code yourself, but not if you download the Release). 

  1. Download and extract the breached password lists, as per the instructions above
  2. The DLL itself needs to be placed in your system root directory (generally C:\Windows\System32).
  3. The DLL name needs to be added to the multi-string “Notification Packages” subkey under HKLM\System\CurrentControlSet\Control\LSA - note that you only need to add the name of the DLL, not including the file extension.
  4. To ensure that the DLL works alongside your Group Policy password filtering settings,  ensure that the Passwords must meet complexity requirements policy setting is enabled through your relevant GPO(s).
  5. Reboot the PC(s). Any password change request should now be filtered through the DLL.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].