{"id":23044136,"url":"https://github.com/specterops/sharphound","last_synced_at":"2025-05-14T21:07:13.095Z","repository":{"id":38984220,"uuid":"385323486","full_name":"SpecterOps/SharpHound","owner":"SpecterOps","description":"C# Data Collector for BloodHound","archived":false,"fork":false,"pushed_at":"2025-05-02T15:39:29.000Z","size":340,"stargazers_count":933,"open_issues_count":22,"forks_count":199,"subscribers_count":24,"default_branch":"2.X","last_synced_at":"2025-05-13T08:43:43.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpecterOps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-07-12T17:07:04.000Z","updated_at":"2025-05-12T12:47:25.000Z","dependencies_parsed_at":"2023-09-26T23:38:52.230Z","dependency_job_id":"43d054da-860d-463c-9e53-8f5b66280324","html_url":"https://github.com/SpecterOps/SharpHound","commit_stats":null,"previous_names":["specterops/sharphound","bloodhoundad/sharphound"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpecterOps%2FSharpHound","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpecterOps%2FSharpHound/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpecterOps%2FSharpHound/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpecterOps%2FSharpHound/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpecterOps","download_url":"https://codeload.github.com/SpecterOps/SharpHound/tar.gz/refs/heads/2.X","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254227612,"owners_count":22035669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T21:00:44.965Z","updated_at":"2025-05-14T21:07:13.070Z","avatar_url":"https://github.com/SpecterOps.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SharpHound\n\n![GitHub all releases](https://img.shields.io/github/downloads/SpecterOps/SharpHound/total)\n\n## Get SharpHound\n\nThe latest build of SharpHound will always be found [here](https://github.com/SpecterOps/SharpHound/releases).\n\nTo determine the SharpHound version compatible with a deployed BloodHound CE instance, login to BloodHound CE's web UI and click on ⚙️ (Settings) → Download Collectors. Then, click either the \"Download SharpHound\" button in the user interface or use the displayed SharpHound version to download the appropriate [release binary](https://github.com/SpecterOps/SharpHound/releases). Alternatively, compile a SharpHound binary from the corresponding release commit.\n\n## Documentation\n\nPlease refer to the [SharpHound section](https://bloodhound.specterops.io/collect-data/ce-collection/sharphound), part of the [BloodHound Community Edition documentation](https://bloodhound.specterops.io/home). \n\n## Compile Instructions\n\nTo build this project, use .net 5.0 and run the following:\n\n```\ndotnet restore .\ndotnet build\n```\n\n## Requirements\n\nSharpHound is designed targeting .Net 4.6.2. SharpHound must be run from the context of a domain user, either directly through a logon or through another method such as RUNAS.\n\n# SharpHound\n\n```csharp\ndotnet restore .\ndotnet build\n```\n\n# CLI Arguments\nThe listing below details the CLI arguments SharpHound supports. Additional details about these options can be found in the [BloodHound CE Collection documentation](https://bloodhound.specterops.io/collect-data/ce-collection/sharphound-flags).\n```\n  -c, --collectionmethods    (Default: Default) Collection Methods: Container, Group, LocalGroup, GPOLocalGroup,\n                             Session, LoggedOn, ObjectProps, ACL, ComputerOnly, Trusts, Default, RDP, DCOM, DCOnly, UserRights, \n                             CARegistry, DCRegistry, CertServices, WebClientService, NTLMRegistry,SMBInfo,LdapServices\n\n  -d, --domain               Specify domain to enumerate\n\n  -s, --searchforest         (Default: false) Search all available domains in the forest\n\n  --stealth                  Stealth Collection (Prefer DCOnly whenever possible!)\n\n  -f                         Add an LDAP filter to the pregenerated filter.\n\n  --distinguishedname        Base DistinguishedName to start the LDAP search at\n\n  --computerfile             Path to file containing computer names to enumerate\n\n  --outputdirectory          (Default: .) Directory to output file too\n\n  --outputprefix             String to prepend to output file names\n\n  --cachename                Filename for cache (Defaults to a machine specific identifier)\n\n  --memcache                 Keep cache in memory and don't write to disk\n\n  --rebuildcache             (Default: false) Rebuild cache and remove all entries\n\n  --randomfilenames          (Default: false) Use random filenames for output\n\n  --zipfilename              Filename for the zip\n\n  --nozip                    (Default: false) Don't zip files\n\n  --trackcomputercalls       (Default: false) Adds a CSV tracking requests to computers\n\n  --zippassword              Password protects the zip with the specified password\n\n  --prettyprint              (Default: false) Pretty print JSON\n\n  --ldapusername             Username for LDAP\n\n  --ldappassword             Password for LDAP\n\n  --domaincontroller         Override domain controller to pull LDAP from. This option can result in data loss\n\n  --ldapport                 (Default: 0) Override port for LDAP\n\n  --secureldap               (Default: false) Connect to LDAP SSL instead of regular LDAP\n\n  --disablecertverification  (Default: false) Disable certificate verification for secure LDAP\n\n  --disablesigning           (Default: false) Disables Kerberos Signing/Sealing\n\n  --skipportcheck            (Default: false) Skip checking if 445 is open\n\n  --portchecktimeout         (Default: 500) Timeout for port checks in milliseconds\n\n  --skippasswordcheck        (Default: false) Skip PwdLastSet age check when checking computers\n\n  --excludedcs               (Default: false) Exclude domain controllers from session/localgroup enumeration (mostly for\n                             ATA/ATP)\n\n  --throttle                 Add a delay after computer requests in milliseconds\n\n  --jitter                   Add jitter to throttle (percent)\n\n  --threads                  (Default: 50) Number of threads to run enumeration with\n\n  --skipregistryloggedon     Skip registry session enumeration\n\n  --overrideusername         Override the username to filter for NetSessionEnum\n\n  --realdnsname              Override DNS suffix for API calls\n\n  --collectallproperties     Collect all LDAP properties from objects\n\n  -l, --Loop                 Loop computer collection\n\n  --loopduration             Loop duration (hh:mm:ss - 05:00:00 is 5 hours, default: 2 hrs)\n\n  --loopinterval             Add delay between loops (hh:mm:ss - 00:03:00 is 3 minute)\n\n  --statusinterval           (Default: 30000) Interval in which to display status in milliseconds\n\n  --localadminsessionenum    Specify if you want to use a dedicated LOCAL user for session enumeration\n\n  --localadminusername       Specify the username of the localadmin for session enumeration\n\n  --localadminpassword       Specify the password of the localadmin for session enumeration\n\n  -v                         (Default: 2) Enable verbose output. Lower is more verbose\n\n  --help                     Display this help screen.\n\n  --version                  Display version information.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecterops%2Fsharphound","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspecterops%2Fsharphound","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecterops%2Fsharphound/lists"}