βββββββββββ ββββββββββ βββββββ βββ βββββββββββββββ
ββββββββββββββββββββββββββββββββββββ ββββββββββββββββ
ββββββ ββββββ βββββββββββ ββββββββββ βββ βββ
ββββββ ββββββ βββββββ βββ ββββββββββ βββ βββ
ββββββββββββ ββββββ ββββββββββββ ββββββ βββ
βββββββββββ ββββββ βββββββ βββ ββββββ βββ
ExpoKit β Ultimate Dump Solution. A comprehensive security auditing tool for scanning and dumping data from exposed repositories and files on web servers. Designed for identifying accidentally published sensitive data during penetration testing.
This tool is intended for legal use only within the scope of penetration testing with written permission from the system owner or for auditing your own resources. Unauthorized access to computer systems is illegal.
- Git Dumper β Full dump of exposed
.gitrepositories (Recursive & Brute-force modes) - SVN Dumper β Dump
.svnrepositories (Supportswc.dbandentriesformats) - DS_Store Dumper β Extract filenames from
.DS_Storeand download listed files - Index Dumper β Dump files from open directory listings
- Network Scanner β Search for exposed repositories by IP/CIDR/Range/File list
- Link Extractor β Parse HTTP links from files
- Domain Extractor β Parse domain names from files
- Multi-threading β Configurable job threads (default: 10)
- Proxy Support β HTTP/HTTPS proxy support
- Retry Logic β Automatic retries on failure (default: 3)
- Abort Control β Interrupt operation (Double press
Swithin 5 seconds) - Safety β Sanitizes
.git/configto prevent RCE during checkout - Progress Tracking β Console title updates with real-time progress
- Color Logging β Color-coded console output with file logging
# Using .NET CLI
dotnet build -c Release
# Or using MSBuild
msbuild ExpoKit.csproj /p:Configuration=ReleaseNote: Requires .NET Framework 4.0 (For potential Windows XP Compatiable) or .NET Core/5+ depending on project configuration.
# Dump a Git repository
ExpoKit.exe --dump https://example.com/.git ./output
# Scan and dump immediately
ExpoKit.exe --scan --dump --strategy=immediate 192.168.1.0/24
# Dump from a list of URLs (or domains list)
ExpoKit.exe --dump targets.txt ./output| Mode | Description |
|---|---|
--scan |
Scan CIDR/IP/File for exposed .git/.svn/.DS_Store |
--dump |
Dump data from target URLs (Default if URL provided) |
--extract-links |
Extract HTTP links from files |
--extract-domains |
Extract domains from files |
| Strategy | Description |
|---|---|
--strategy=batch |
(Default) Scan all targets first, then dump all found |
--strategy=immediate |
Scan and dump each target immediately upon discovery |
Usage: ExpoKit.exe [Modes] [Target] [Options]
OPTIONS:
-v, --verbose Enable verbose logging
--jobs=N Number of threads (default: 10)
--retry=N Number of retry attempts (default: 3)
--timeout=N Timeout in seconds (default: 5)
--user-agent=UA Custom User-Agent string
--proxy=URL Proxy server URL
-H "NAME=VALUE" Custom HTTP Header
ExpoKit.exe --dump https://target.com/.git ./git_dumpExpoKit.exe --scan --dump 10.0.0.0/24 ./scan_resultsExpoKit.exe --dump targets.txt ./outputExpoKit.exe --dump https://target.com/.git ./output --proxy=http://127.0.0.1:8080 -H "Authorization=Bearer token123"ExpoKit.exe --extract-domains ./data_folder extracted_domains.txtExpoKit.exe --dump https://target.com/.git ./output -v --jobs=20 --retry=5ExpoKit.exe --scan --dump --strategy=immediate 192.168.1.0/24ExpoKit.exe --extract-links ./data_folderExpoKit/
βββ Program.cs # Single file containing all functionality
βββ Logs/ # Log files directory (auto-created)
βββ ExpoKit_Results/ # Dump results (auto-created)
βββ GitDumps_YYYYMMDD_HHMMSS/
βββ SvnDumps_YYYYMMDD_HHMMSS/
βββ DsStoreDumps_YYYYMMDD_HHMMSS/
βββ IndexDumps_YYYYMMDD_HHMMSS/
βββ BatchDumps_YYYYMMDD_HHMMSS/
βββ ScanResults_YYYYMMDD_HHMMSS/
The tool supports various input formats:
# Single URL
https://example.com/.git
# CIDR Range
192.168.1.0/24
# IP Range
10.0.0.1-50
# File List
targets.txt
# Directory (reads all .txt files recursively)
./targets/
.git/configSanitization β Automatically disables dangerous commands (fsmonitor,sshcommand,askpass,editor,pager) to prevent RCE during checkout- SSL Validation Bypass β Automatically bypasses certificate validation (useful for test environments with self-signed certs)
- Timeouts β Prevents hanging on network requests (configurable)
- Logging β All actions are logged to files in the
Logs/directory with timestamps - Connection Limits β Default connection limit set to 100
ExpoKit_Results/
βββ GitDumps_20240101_120000/
β βββ example_com/
β βββ .git/
β βββ objects/
β βββ refs/
β βββ config
βββ SvnDumps_20240101_120000/
β βββ example_com/
β βββ wc.db
β βββ pristine/
βββ ScanResults_20240101_120000/
β βββ valid.txt
βββ Logs/
βββ log_20240101_120000.log
Note: To fully restore a Git repository, git.exe must be installed and available in your PATH, as the tool attempts to run git checkout . automatically.
| Key | Action |
|---|---|
S (Press twice within 5 sec) |
Abort current operation |
- Check for directory listing availability
- If available: Recursive directory traversal
- If not available: Brute-force mode:
- Fetch
HEAD - Search for refs in config
- Process
packed-refs - Parse
indexfile - Process pack files
- Fetch
- Decompress objects and search for additional refs
- Execute
git checkoutto restore files - Sanitize
.git/configto prevent RCE
- Check for
wc.db(SVN 1.7+ format) - If found: Parse SHA1 hashes and download pristine files
- If not found: Check for
entries(Legacy format) - Download all available revision files
The scanner checks for:
.git/HEAD(Git repositories).svn/wc.db(SVN 1.7+).svn/entries(SVN Legacy).DS_Store(macOS metadata)
Both HTTP and HTTPS protocols are tested for each target.
Logs are saved to Logs/log_YYYYMMDD_HHMMSS.log with color-coded entries:
| Level | Color | Example |
|---|---|---|
[OK] / [FOUND] |
Green | [OK] .git/objects/ab/cdef123... |
[INFO] |
Cyan | [INFO] Starting Scan phase... |
[WARN] |
Yellow | [WARN] Large CIDR range detected |
[ERR] / [FAIL] |
Red | [ERR] Download failed |
[VERB] |
Dark Gray | [VERB] Requesting: https://... |
- Increase
--jobsfor faster scanning (default: 10) - Use
--strategy=immediatefor quick results on small ranges - Use
--strategy=batchfor large scans to avoid duplicate work - Enable
--verbosefor debugging connection issues - Use proxy for anonymous scanning
| Issue | Solution |
|---|---|
| Git checkout fails | Ensure git.exe is in PATH |
| SSL errors | Tool auto-bypasses cert validation |
| Slow scanning | Increase --jobs value |
| Connection timeouts | Increase --timeout value |
| Missing files | Check --retry value and network |
Use responsibly and only for lawful purposes.
To contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
If you encounter issues:
- Check logs in the
Logs/folder - Use
--verbosemode for detailed output - Ensure the target resource is accessible
- Verify network connectivity and proxy settings
ExpoKit β Ultimate Dump Solution for web resource security auditing.