[New Module: tombfind.py] Add tombfind module for Tombstoned objects enumeration with username, GUID, and Parent OU extraction#1002
[New Module: tombfind.py] Add tombfind module for Tombstoned objects enumeration with username, GUID, and Parent OU extraction#1002x4c1s wants to merge 5 commits into
Conversation
|
Hi and thanks for your work! However, i fear this is duplicate to #736. You could check if the implementation matches your idea and give input if you find issues/features are missing which you have implemented. |
|
Hi, thanks again for the review. I compared my implementation with PR #736 as suggested. Functionality-wise they overlap, and the PR #736 extends on it by adding the capability to restore objects, but there are still a couple meaningful differences: If the team prefers using #736 as the base, no problem — just let me know if my output formatting, page size control, or code structure would be beneficial, and I can help merge it in. Thanks for the time and the feedback. |
|
As #736 is the first PR i think we should go forward with this one, but please feel free to discuss/collaborate with the author to implement changes you feel are superior in your implementation. I haven't looked at the structure that much, so i can't say which approach i like better. |
Description
This pull request adds a new
tombfindmodule to NetExec that allows operators to enumeratetombstoned(deleted but recoverable) Active Directory objects via LDAP.It supports both NTLM and Kerberos authentication and works against any domain functional level that exposes the
CN=Deleted Objectscontainer.This contribution does not introduce any breaking changes to existing NetExec functionality. Instead, it adds a dedicated LDAP module that expands the framework’s enumeration and recovery capabilities for domain controllers
The implementation relies solely on existing project dependencies, including Impacket, and does not introduce any new third-party libraries. The module includes clear in-line documentation, structured error handling, and follows the established NetExec module patterns.
Where Kerberos-related operations are required, the module leverages Impacket’s native cryptographic and ASN.1 classes, ensuring consistency with the rest of the codebase.
Type of change
Insert an "x" inside the brackets for relevant items (do not delete options)
Setup guide for the review
netexec ldap <dc-ip> -u <username> -p <password> -M tombfindto enumerate all tombstoned users.-o OUTPUT=<filename>to write the output to a fileScreenshots (if appropriate):
Pass The Hash
Kerberos and output to a file
Checklist:
Insert an "x" inside the brackets for completed and relevant items (do not delete options)
poetry run python -m ruff check . --preview, use--fixto automatically fix what it can)tests/e2e_commands.txtfile if necessary (new modules or features are required to be added to the e2e tests)