Skip to content

Tools for interacting with authentication packages using their individual message protocols

License

Notifications You must be signed in to change notification settings

EvanMcBroom/lsa-whisperer

Repository files navigation

LSA Whisperer

MIT License Bloodhound Slack Sponsored by SpecterOps

LSA Whisperer is a set of tools for interacting with authentication packages using their individual message protocols. You may download prebuilt copies of LSA Whisperer from the assets section of its latest release.

Support is currently provided for the cloudap, kerberos, msv1_0, negotiate, pku2u, and schannel packages and cloudap's AzureAD plugin. Partial or unstable support is provided for livessp, negoexts, and the security package manager (SPM). Please refer to the wiki to see which message protocols are currently supported.

Support for more authentication packages and package calls may be added in the future. If you are interested in a package call that is not implemented or you see an area of the wiki that can be improved, please submit an issue on GitHub or consider making a pull request (PR) for the project. Contributions are appreciated!

Building

LSA Whisperer uses CMake to generate and run the build system files for your platform. The project does not rely on any library manager to allow it to be easily built in an offline environment if desired. You will need the latest Windows 11 SDK, which at the time of this writing is 10.0.22621.0.

git clone --recurse-submodules https://github.com/EvanMcBroom/lsa-whisperer.git
cd lsa-whisperer/builds
cmake .. -A {Win32 | x64}
cmake --build .

✏️ If you have an issue building the project, please check the output of the generation step (e.g., cmake ..) to ensure that cmake chose the correct Windows SDK version. If you have multiple Windows SDKs installed, you will likely need to remove all files in the builds folder then rerun the generation step while specifying the correct version for cmake to use (e.g., cmake .. -DCMAKE_SYSTEM_VERSION=10.0.22621.0).

By default CMake will build both the lsa-whisperer utility and the sspi static library it uses. The lsa-whisperer utility will be linked against the static version of the runtime library which will allow the tool to run as a standalone program on other hosts.

If Doxygen and the Python modules in the docs/requirements.txt file are installed, then CMake will build the documentation for the sspi static library as well.

Open Source

Thank you to the following packages that are used in LSA Whisperer directly or indirectly:

Although not used by LSA Whisperer, the following projects greatly helped in its development:

Acknowledgments

Thank you to SpecterOps for supporting this research and to my coworkers who have helped with its development.

Thank you Elad and Lee for both inspiring this tool and the research, support, and collaboration throughout its development. Elad additionally developed operational use cases for msv1_0 and Lee both introduced me to cloudap and showed it's potential for recovering authentication data. Thank you as well to Will for always being a good sounding board and helping test the tool, Daniel for answering my AzureAD questions, and Kai for helping both research cloudap and add Kerberos support.

Related Work

About

Tools for interacting with authentication packages using their individual message protocols

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published