Manticore is the Go library of offensive and defensive security primitives that powers the tools of The Manticore Project. It provides the building blocks (protocol structures, Active Directory abstractions, cryptographic helpers) that the individual tools rely on so that each tool does not have to reimplement the same plumbing.
This release, v1.0.3, is a mix of new groundwork and small corrections. The headline is the start of SMB v1.0 support, but most of the work here is about tightening interfaces that already existed and adding the project governance documents that the repository was missing. None of these changes are large on their own; together they make the library a little more correct and a little easier to contribute to.
SMBv1 groundwork
The most significant new addition is the beginning of SMB v1.0 support. This release starts implementing the protocol rather than completing it, so the work is foundational: laying down the structures and primitives that later releases will build the full client and message flow on top of. SMB is a core protocol for offensive tooling against Windows environments, so having a native implementation in Manticore, rather than depending on an external library, lets the project control the wire format and how messages are parsed and serialized.
Domain functionality level
Two changes in this release improve how Manticore reasons about domain capabilities. The IsDomainAtLeast function had a bug when called on domain objects, which is now fixed, and the interfaces around the Domain Functionality Level have been improved. These are the pieces of code that let a tool decide whether a given domain supports a feature before attempting to use it, so getting the comparison logic right matters for any caller that gates behaviour on the functional level.
This release also includes a temporary fix for an upstream issue, applied while waiting for a dependency PR to be merged. It is intentionally a stopgap so the library keeps building correctly in the meantime.
Shadow credentials and a rename
The KeyCredential structure was partially refactored in support of shadow credentials. KeyCredentials underpin the shadow credentials technique against Active Directory, where an attacker writes a key credential onto a target object to authenticate as it via PKINIT, so cleaner handling of this structure directly benefits tools built on top of Manticore.
Alongside this, NBTNS was renamed to NBNS for coherence. NBNS (NetBIOS Name Service) is the correct name, and aligning the code with the standard terminology avoids confusion for anyone working with the NetBIOS components.
Project governance
Finally, this release adds the governance files the repository was missing: a CODE_OF_CONDUCT.md and a SECURITY.md. These set out the expectations for contributors and the process for reporting security issues responsibly. The CI workflow that auto-prefixes issues was also updated. These are housekeeping changes, but they matter for a project that accepts outside contributions.