FindUncommonShares is a Python-based security reconnaissance tool that discovers uncommon Server Message Block (SMB) shares across large Windows Active Directory domains. It provides functionality similar to PowerView’s Invoke-ShareFinder.ps1, helping security teams identify shared folders that may expose sensitive information or have unintended access permissions.
The tool queries Active Directory through LDAP to identify domain computers, then enumerates their SMB shares using multithreaded connections. It supports structured exports, making the results easier to review, investigate, and document during an authorized security assessment.
--ignore-hidden-shares option excludes shares whose names end in $.Start by cloning the official repository onto a system with Python and network access to the authorized Windows domain. Review the project’s README for its current dependencies and installation instructions.
git clone https://github.com/p0dalirius/pyFindUncommonShares.git cd pyFindUncommonShares
Install the dependencies specified by the project. Using a virtual environment helps keep them separate from other Python applications.
python3 -m venv .venv source .venv/bin/activate python3 -m pip install -r requirements.txt
On Windows, activate the environment with .venv\Scripts\activate. Run the help command to check the options supported by the version you installed.
python3 FindUncommonShares.py -h
FindUncommonShares accepts domain authentication details and the domain controller’s IP address. The following example uses the command-line syntax documented in the supplied version of the tool. Replace the example values with those for your authorized lab or assessment environment.
./FindUncommonShares.py \ -u 'audituser' \ -d 'LAB.local' \ --dc-ip 192.168.2.1
The tool first discovers computers through LDAP and then attempts to enumerate their SMB shares. Results can include standard administrative shares and less familiar names, such as a custom share created for testing or departmental file storage.
To exclude hidden shares from the results, add the relevant option:
./FindUncommonShares.py \ -u 'audituser' \ -d 'LAB.local' \ --dc-ip 192.168.2.1 \ --ignore-hidden-shares
For current releases, check the repository’s help output before running these examples because command-line options can change between versions.
Saving the findings makes it easier to compare systems, investigate unusual share names, and prepare assessment reports. Choose the output format that fits your workflow.
Export to JSON:
./FindUncommonShares.py [options] --export-json shares.json
Export to Excel:
./FindUncommonShares.py [options] --export-xlsx shares.xlsx
Export to SQLite:
./FindUncommonShares.py [options] --export-sqlite shares.db
Replace [options] with the required authentication and domain arguments. JSON works well for automated processing, XLSX is convenient for manual review, and SQLite supports database queries and repeatable analysis.
An uncommon share is not automatically a vulnerability. Review each finding in context, paying attention to its purpose, owner, contents, and intended access permissions. Where supported by the installed version, access-checking options can help assess whether the authenticated user can read or write to a share.
Prioritize unexpected writable locations, shares containing sensitive business data, and permissions that exceed operational requirements. Coordinate any access checks with the system owner, especially in production environments where concurrent connections may create additional load.
For broader discovery workflows, explore these reconnaissance tools and techniques. Use FindUncommonShares only on domains and systems you are authorized to assess, and protect exported files because they can reveal internal hostnames, network addresses, and potentially sensitive share information.
Official project: FindUncommonShares on GitHub
A data protection platform is a unified system that helps organizations discover, classify, monitor, and…
AI companies operating in or around Switzerland face a compliance challenge that most legal teams…
Two major data privacy laws now govern how organizations handle personal data across Europe; the…
This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…
When I first started learning malware analysis and reverse engineering, I thought the hardest part…
Both git fetch and git pull talk to a remote repository, but they do very different things to your…