Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mtth-bfft/adeleg
Active Directory delegation management tool
https://github.com/mtth-bfft/adeleg
Last synced: 5 days ago
JSON representation
Active Directory delegation management tool
- Host: GitHub
- URL: https://github.com/mtth-bfft/adeleg
- Owner: mtth-bfft
- Created: 2022-02-09T19:47:04.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T15:08:53.000Z (over 1 year ago)
- Last Synced: 2024-08-02T15:37:08.838Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 394 KB
- Stars: 274
- Watchers: 7
- Forks: 32
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ADeleg
![Build](https://github.com/mtth-bfft/adeleg/actions/workflows/test.yml/badge.svg) ![Release](https://img.shields.io/github/v/release/mtth-bfft/adeleg) ![Issues](https://img.shields.io/github/issues-raw/mtth-bfft/adeleg)
Is an Active Directory delegation management tool. It allows you to make a detailed inventory of delegations set up so far in a forest, along with their potential issues:
- Objects owned by users
- Objects with ACEs for users
- Non canonical ACL
- Disabled ACL inheritance
- Default ACL modified in schema
- Deleted delegation trusteesIt also allows you to document your delegation model in JSON files, to obtain a more readable view:
## Usage
Download the [latest release here](https://github.com/mtth-bfft/adeleg/releases/latest) and double click on it for a graphical interface:
![Screenshot of GUI](docs/images/screenshot_gui.png)
You can also use the tool from a terminal by passing any option to it (if you don't want to pass any particular option, just use `--text`):
![Screenshot of CLI](docs/images/screenshot_cli.png)
If you want to export results, you can choose a CSV output using `--csv my.csv`
This is also suitable if you are interested in differences introduced since a previous dump (e.g. in PowerShell, `diff (cat export_new.csv) (cat export_old.csv)` )Results should be concise in forests without previous work in delegation management. If results are too verbose to be used, open an issue describing the type of results obscuring interesting ones, ideally with CSV exports or screenshots.
You can start using this inventory right away, in two ways:
1. look for highly privileged resources which have no reason to have any delegation set up on them, since they are only supposed to be managed by forest-wide administrators
![View by resource](docs/images/view_by_resource.png)
2. you can also start the other way around, and look for trustees which have no reason to have any right delegated to them (e.g. day-to-day end user accounts)
![View by trustee](docs/images/view_by_trustee.png)
## FAQ
_How do I know if one result is important? Should I consider everything a problem?_ You should start reviewing delegations on your critical assets (domain controllers, domain admins, their admin workstations, servers with sensitive business data, etc.): are these delegations needed for a user or service to do their work? could they not work with fewer access rights, or on fewer objects?
_My forest has years of delegations built up, how am I supposed to handle that many warnings?_ You may want to run the analysis periodically and only focus on differences, so that you can start from a baseline and clean up delegations little by little over time.
_Can I import results from this tool into product ?_ Yes, if your tool knows how to parse CSV: `.\adeleg.exe --csv dump.csv`
## How does it work?
This tool enumerates security descriptors of all objects, then filters out "expected" ACEs:
- Inherited ACEs, since we are only interested in the original ACE upper in the tree;
- ACEs in the `defaultSecurityDescriptor` of the object class in the schema;
- Some special cases which need to be handled manually.Special cases currently include:
- object owners under a container with a `CREATE_CHILD` delegation
- ACEs for `CREATOR_OWNER` which are replaced and split in two in some cases during inheritance
- AdminSDHolder ACEs, for principals with `adminCount` set to 1
- KDS Root Keys, RODCs, ADCS, ADFS, Exchange, etc. are work in progress## Copyright
All icons packaged with this project are the property of Microsoft Corporation.
For source code licensing, see LICENSE.md.