View Issue Details

IDProjectCategoryView StatusLast Update
0009797Kali LinuxQueued Tool Additionpublic2026-08-02 10:05
Reporteryeray.martin Assigned To 
PriorityhighSeverityminorReproducibilityhave not tried
Status acknowledgedResolutionopen 
Summary0009797: ADscan - Active Directory exposure validation CLI
Description

ADscan runs an Active Directory assessment from one terminal: enumeration,
Kerberoasting, AS-REP roasting, AD CS abuse (ESC1 to ESC17), DCSync, RBCD,
shadow credentials, NTLM relay, credential dumping, and attack-path analysis
to Domain Admin. 104 techniques, each mapped to MITRE ATT&CK, listed here:
https://github.com/ADScanPro/adscan/blob/main/COVERAGE.md

Homepage: https://adscanpro.com
Source: https://github.com/ADScanPro/adscan
Install: pipx install adscan
License: Business Source License 1.1, Change Date 2029-02-01,
Change License Apache 2.0
Activity: releases roughly weekly, 0000386:0000500 stars, ~35k PyPI downloads

Two things I would rather settle before doing any packaging work.

First, the license. The policy asks whether the licensing allows free
redistribution. BSL 1.1 grants it in as many words: "the right to copy,
modify, create derivative works, redistribute, and make non-production use of
the Licensed Work". What it restricts is competing production use,
specifically offering the work to third parties on a hosted or embedded basis
against the paid version. Kali and its users can redistribute and use it at no
cost, and every version converts to Apache 2.0 on the Change Date. It is
source-available rather than OSI-approved, so I am not going to assume that
counts. Does it?

Second, packaging. ADscan currently ships as a PyPI launcher that runs the
scanner in a Docker image. A .deb would either pull that image on first run or
need the runtime repackaged natively. If a container dependency is a
non-starter, say so now and I will scope the native work before filing
anything else.

On your other criteria: it is built for internal AD assessments and lab work,
so the use case fits. On overlap, Kali already ships tools covering individual
steps ADscan performs; what it adds is chaining them and validating the path
end to end instead of reporting each step alone. If that is not enough
differentiation for you, fair enough. Resources are modest: Python plus the
runtime image, no GPU or special hardware, runs on a stock Kali with network
access to the target domain.

I maintain the project and will do the packaging work if the answers above go
the right way.

Activities

g0tmi1k

g0tmi1k

2026-07-31 15:07

administrator   ~0021912

@kali-team, please could this be packaged up.
@author, If you want to help the packaging process, you can check the documentation here:

yeray.martin

yeray.martin

2026-08-02 10:05

reporter   ~0021917

Thanks for taking it, and for the packaging links. I'll do the work.

Two things a packager will need from me before anyone starts, so here they are up front.

Licensing, for debian/copyright: Business Source License 1.1, Change Date 2029-02-01, Change License Apache 2.0. It grants copying, modification, derivative works and redistribution outright; what it restricts is competing production use, specifically offering the work to third parties on a hosted or embedded basis. So Kali and its users can redistribute and run it at no cost, but it is source-available rather than OSI-approved. I assume that puts it in non-free. Tell me if you'd rather it sat somewhere else.

Packaging. Today ADscan installs as a PyPI launcher that runs the scanner in a Docker image, and I doubt that is what you want inside a .deb. I'd rather build a native package, and on Kali specifically that turns out to be cheap: the container mostly exists to carry the tool belt (netexec, impacket, certipy, bloodyAD, john, freerdp) and you already package all of it. So:

  • adscan as a Python 3 package, no container, with Depends/Recommends on the Kali packages it shells out to.
  • The async AD stack it imports (aiosmb, asysocks, badauth, badldap, kerbad, winacl, pypykatz, aardwolf) are maintained forks of the skelsec libraries carrying our own fixes, not upstream releases. I'd vendor them inside the package rather than propose eight new source packages. If you'd rather have them split out, say so and I'll scope that instead.
  • The one call I'd like from you is the PDF report, which renders through headless Chromium. I can make that a Suggests and fall back to HTML output when it isn't installed, so the package stays small.

If that shape works I'll prepare the source package and follow the docs you linked. Who should I send it to when it's ready?

Issue History

Date Modified Username Field Change
2026-07-25 21:50 yeray.martin New Issue
2026-07-31 08:00 daniruiz Summary New tool request: ADscan (Active Directory exposure validation CLI) => ADscan - Active Directory exposure validation CLI
2026-07-31 15:07 g0tmi1k Note Added: 0021912
2026-07-31 15:07 g0tmi1k Priority normal => high
2026-07-31 15:07 g0tmi1k Status new => acknowledged
2026-07-31 15:07 g0tmi1k Category New Tool Requests => Queued Tool Addition
2026-08-02 10:05 yeray.martin Note Added: 0021917