diff --git a/Directory.Build.props b/Directory.Build.props index d9959b78..cc52e5cd 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,4 +1,14 @@ + + net472 + library + default + Rohan Vazarkar + SpecterOps + GPL-3.0-only + https://github.com/SpecterOps/SharpHoundCommon + 4.6.0 + <_Parameter1>CommonLibTest diff --git a/src/CommonLib/README.md b/src/CommonLib/README.md new file mode 100644 index 00000000..831dddbf --- /dev/null +++ b/src/CommonLib/README.md @@ -0,0 +1,46 @@ +# SharpHoundCommon + +SharpHoundCommon provides the high-level shared components used to build AD enumeration workflows. It includes initialization, caching, LDAP helpers, host and service processors, and registry and user-rights collection logic used by SharpHound collectors. + +## When to use this package + +Use `SharpHoundCommon` if you are building a collector or integration that needs higher-level enumeration behavior. This is the package most consumers should start with. + +## Requirements + +- .NET Framework 4.7.2 +- Windows and Active Directory oriented workloads + +## Install + +```powershell +dotnet add package SharpHoundCommon +``` + +## Getting started + +```csharp +using SharpHoundCommonLib; + +CommonLib.InitializeCommonLib(); +``` + +You may optionally provide an `ILogger` and a pre-created `Cache` instance to `CommonLib.InitializeCommonLib(...)`. + +## Included capabilities + +- Shared initialization and cache management via `CommonLib` and `Cache` +- LDAP querying and identity resolution via `LdapUtils` +- Host availability, SMB, and LDAP service checks via `ComputerAvailability`, `SmbProcessor`, and `DCLdapProcessor` +- Registry collection orchestration via `RegistryProcessor` +- User rights, SPN, and certificate-related processing helpers + +## Relationship to SharpHoundRPC + +`SharpHoundCommon` depends on `SharpHoundRPC` and is intended to be the higher-level entry point. Most consumers should not reference `SharpHoundRPC` directly unless they need its lower-level SAM, LSA, NetAPI, or registry APIs. + +## Source and support + +- Source: https://github.com/SpecterOps/SharpHoundCommon +- Issues: https://github.com/SpecterOps/SharpHoundCommon/issues +- License: GPL-3.0-only \ No newline at end of file diff --git a/src/CommonLib/SharpHoundCommonLib.csproj b/src/CommonLib/SharpHoundCommonLib.csproj index ccef3539..f67d5077 100644 --- a/src/CommonLib/SharpHoundCommonLib.csproj +++ b/src/CommonLib/SharpHoundCommonLib.csproj @@ -1,17 +1,11 @@  - net472 - library SharpHoundCommon - default - Rohan Vazarkar - SpecterOps Common library for C# BloodHound enumeration tasks - GPL-3.0-only - https://github.com/BloodHoundAD/SharpHoundCommon - 4.6.0 + README.md SharpHoundCommonLib SharpHoundCommonLib + True $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb @@ -29,28 +23,9 @@ - + - + - - - $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage - True - - - - - <_ReferenceCopyLocalPaths Include="@(ReferenceCopyLocalPaths->WithMetadataValue('ReferenceSourceTarget', 'ProjectReference')->WithMetadataValue('PrivateAssets', 'All'))" /> - - - - - - - - - - diff --git a/src/SharpHoundRPC/README.md b/src/SharpHoundRPC/README.md new file mode 100644 index 00000000..36c1b1f8 --- /dev/null +++ b/src/SharpHoundRPC/README.md @@ -0,0 +1,33 @@ +# SharpHoundRPC + +SharpHoundRPC exposes low-level Windows RPC, Win32, and remote collection helpers used by SharpHoundCommon and SharpHound collectors. It wraps SAM, LSA, NetAPI, and remote registry operations behind C# interfaces and result types. + +## When to use this package + +Use `SharpHoundRPC` directly only if you need low-level RPC or interop access. If you want higher-level enumeration workflows, install `SharpHoundCommon` instead. + +## Requirements + +- .NET Framework 4.7.2 +- Windows-focused functionality +- Appropriate privileges, network reachability, and RPC availability on target systems + +## Install + +```powershell +dotnet add package SharpHoundRPC +``` + +## Included capabilities + +- SAM access through `ISAMServer`, `ISAMDomain`, `SAMServerAccessor`, and related wrappers +- LSA policy access via `LSAPolicy` for SID lookup and privilege enumeration +- NetAPI helpers for sessions, workstation information, and domain controller discovery +- Remote registry strategies using WMI or Remote Registry +- Shared `Result` and related helper types for error handling + +## Source and support + +- Source: https://github.com/SpecterOps/SharpHoundCommon +- Issues: https://github.com/SpecterOps/SharpHoundCommon/issues +- License: GPL-3.0-only \ No newline at end of file diff --git a/src/SharpHoundRPC/SharpHoundRPC.csproj b/src/SharpHoundRPC/SharpHoundRPC.csproj index 185fb33e..ca63bca6 100644 --- a/src/SharpHoundRPC/SharpHoundRPC.csproj +++ b/src/SharpHoundRPC/SharpHoundRPC.csproj @@ -1,14 +1,8 @@  - net472 - library SharpHoundRPC - default - Rohan Vazarkar - SpecterOps SAM/LSA Wrapper for C# BloodHound tasks - GPL-3.0-only - 4.6.0 + README.md SharpHoundRPC SharpHoundRPC @@ -20,9 +14,9 @@ - + - +