adhammer-sdk 1.5.0

ADHammer Core — the AD audit + offensive toolkit as one importable SDK (re-exports the collector, graph, checks, kerberos, ldap, sysvol, bloodhound, secrets, and report subsystems). The CLI is the `adhammer` binary.
Documentation

What it is

ADhammer is split into Core (the reusable libraries under crates/*) and the CLI (the adhammer binary that drives them). This crate is the single import surface for Core: a downstream tool can

[dependencies]
adhammer-sdk = "1.4"

and then use adhammer_sdk::{graph, kerberos, sysvol, …} instead of depending on each adhammer-* crate individually.

Re-exported subsystems, bottom-up:

  • types — core types (Sid, Guid, Snapshot, Finding, SecretString).
  • collector — LDAP collection.
  • checks — AD hygiene rules.
  • graph — control-path graph + attack chains.
  • kerberos — Kerberos verbs.
  • ldap — raw LDAP client (relay path).
  • sysvol — GPP + policy analysis.
  • bloodhound — BloodHound CE v5 export.
  • secrets — offline SAM / LSA / DCC2.
  • report — JSON / HTML / MD / text reports.

1.4.10 additions

  • blackbox module — BlackBoxRunner, RunPolicy, ConsentPolicy, CheckSelection, RunSummary, RunnerRefusal. Runner control-plane with max_hosts / max_duration_secs enforcement, PostCred capability gating, and cross-cutting scope excludes. The observable no-cred assessment capability the runner supports lands in 1.5.0 (WS-FOUNDATION-BLACKBOX-CLI + WS-FOUNDATION-DNS-HANDROLL).

Example

use adhammer_sdk::types::{EngagementScope, ScopeTarget};
use adhammer_sdk::{BlackBoxRunner, RunPolicy, ConsentPolicy, CheckSelection};
use std::net::IpAddr;
use std::str::FromStr;

let scope = EngagementScope::new(vec![ScopeTarget::Host {
    addr: IpAddr::from_str("10.0.0.10").unwrap(),
}])
.unwrap();
let runner = BlackBoxRunner::new(
    RunPolicy {
        scope,
        consent: ConsentPolicy { allow_impact: false, allow_spoof: false, interactive: false },
        max_hosts: Some(1),
        max_duration_secs: Some(3600),
    },
    CheckSelection::default(),
);

Related

License

MIT — see LICENSE.