Skip to content

ADscan v3.0.1

Choose a tag to compare

@ADScanPro ADScanPro released this 01 Dec 11:29
· 95 commits to main since this release
e3e5b0b

TL;DR

  • 🕒 Much tougher time handling: PDC retries, RPC fallback, NTP edge cases fixed.

  • 🌐 More reliable DNS & domain management: dhcpcd/dnsmasq//etc/hosts issues fixed and cleaned up.

  • 🧠 BloodHound-first group enumeration with LDAP as a fallback.

  • ⚙️ New CI command to run ADscan in CI pipelines.

  • 🔐 Spraying & rusthound-ce hardened: LDAPS timeout fallback, isolated venv, spraying bug fixes.

  • 🧷 Better automation: auto password extraction during spidering/search, extra retries for flaky flag retrieval.

  • 🎨 General UX/UI improvements and redesign of the TUI.

After upgrading to 3.0.1, run:

pipx upgrade adscan && adscan install && adscan check


🔄 Important behavior changes

BloodHound-first group enumeration

Group enumeration now uses BloodHound as the primary source, with LDAP used as a fallback when BH is unavailable or fails.
This improves consistency of group data and lines up better with BH-centric workflows.

New CI command

A dedicated CI command has been added to integrate ADscan into CI pipelines (CI/CD, nightly lab checks, etc.).
Check adscan --help for the new CI entrypoint and available flags.

Spraying toolkit in an isolated venv

The password spraying toolkit has been moved into its own isolated virtualenv, reducing dependency conflicts and side effects on the system Python.


🧭 Reliability & stability improvements

Time sync hardening

  • Added 3 attempts to synchronize the clock with the PDC, making Kerberos and other time-sensitive operations more reliable.

  • Added a clock synchronization fallback via RPC when the primary method fails.

  • Fixed a bug that occurred when NTP was closed/unavailable so time sync now degrades gracefully instead of breaking flows.

DNS & network robustness

  • Fixed a bug where dhcpcd could remove /etc/resolv.conf during dnsmasq setup.

  • Introduced a new method to remove stale entries from both the dnsmasq configuration and /etc/hosts, improving reliability when domains/IPs change between runs.

  • Fixed a bug where DNS would not resolve correctly if start_auth or start_unauth had not been executed yet.

BloodHound / rusthound-ce integration

  • Fixed an LDAPS timeout issue in rusthound-ce and ensured a proper fallback without LDAPS when secure LDAP is not reachable.

Spraying & flags

  • Fixed a password spraying bug introduced with the newer bloodhound-cli version.

  • Ensured the spraying toolkit runs in an isolated venv (see above) to avoid dependency clashes.

  • Fixed cases where flags were sometimes not retrieved by adding 3 retries on the relevant operations.

System integration

  • Fixed a system command bus error that could sporadically break shell/system calls.

🤖 UX / automation improvements

Automatic password extraction

  • Added automatic password extraction during spidering and when searching descriptions.
    When ADscan finds content that looks like credentials, it now attempts to extract and surface them more reliably.

DNS / domain management polish

  • The new stale-entry removal for dnsmasq and /etc/hosts keeps your environment closer to a “known good” state across multiple runs and domain changes.

General UX/UI redesign

  • General TUI/UX improvements and layout tweaks to make output more readable and navigation smoother (more structured output, better grouping, clearer prompts).

🛠️ Additional fixes & checks

  • Added specific Python tool version checks to avoid subtle incompatibility issues.

  • Fixed the check summary so it now accurately reflects the real state of the environment.


📦 Upgrade notes

After installing 3.0.1, refresh the toolchain and verify everything is healthy:

pipx upgrade adscan && adscan install && adscan check

If you already run ADscan in CI/CD, review the new CI command via adscan --help and adjust your pipeline scripts accordingly.


📣 Feedback

If you hit issues or regressions:

  • Open a GitHub issue with:

    • ADscan version

    • Distro/version

    • Redacted logs (no domains/hostnames/creds)

This release is heavily focused on reliability (time, DNS, BH integration) and operator experience, so any edge cases you report help harden ADscan for everyone. 🙏