vamp-cloud-enum 1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vamp_cloud_enum-1.0/PKG-INFO +188 -0
- vamp_cloud_enum-1.0/README.md +167 -0
- vamp_cloud_enum-1.0/pyproject.toml +37 -0
- vamp_cloud_enum-1.0/setup.cfg +4 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.egg-info/PKG-INFO +188 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.egg-info/SOURCES.txt +10 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.egg-info/dependency_links.txt +1 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.egg-info/entry_points.txt +2 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.egg-info/requires.txt +2 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.egg-info/top_level.txt +2 -0
- vamp_cloud_enum-1.0/vamp_cloud_enum.py +1614 -0
- vamp_cloud_enum-1.0/vampsec_report.py +959 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vamp-cloud-enum
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: Cloud asset enumeration and exposure analysis for authorized audits
|
|
5
|
+
Author-email: VampSecure Studios <contact@vampsecurestudios.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Vampsecure-Labs/vamp-cloud-enum
|
|
8
|
+
Project-URL: Repository, https://github.com/Vampsecure-Labs/vamp-cloud-enum
|
|
9
|
+
Keywords: security,pentest,audit,cybersecurity,vampsecure,cloud,aws,azure,gcp,enumeration,osint
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Information Technology
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Security
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
20
|
+
Requires-Dist: rich>=13.7.0
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img src="https://img.shields.io/badge/version-1.0-crimson?style=flat-square" />
|
|
24
|
+
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
25
|
+
<img src="https://img.shields.io/badge/providers-AWS%20%7C%20Azure%20%7C%20GCP-teal?style=flat-square" />
|
|
26
|
+
<img src="https://img.shields.io/badge/VampSecure_Labs-Security_Research-8b0000?style=flat-square" />
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<h1 align="center">vamp-cloud-enum</h1>
|
|
30
|
+
<p align="center"><em>Cloud Storage Bucket Enumerator — VampSecure Labs</em></p>
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
**vamp-cloud-enum** discovers and audits misconfigured cloud storage buckets across AWS S3, Azure Blob Storage, and Google Cloud Storage. Starting from one or more target domain names, the tool generates a candidate bucket name wordlist (40+ suffix and prefix permutations) and probes each combination across all three cloud providers simultaneously.
|
|
37
|
+
|
|
38
|
+
For each bucket found, the tool determines whether it is publicly accessible, whether directory listing is enabled, and whether the bucket name or exposed contents contain sensitive keywords — escalating severity accordingly. Public buckets with listing enabled are classified as CRITICAL; exposed namespaces without listing are classified based on sensitive-keyword presence.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Features
|
|
43
|
+
|
|
44
|
+
- Three-provider coverage: AWS S3 (virtual-hosted, path-style, listing API, website endpoint), Azure Blob Storage (account and container enumeration), GCP Cloud Storage (path-style and virtual-hosted)
|
|
45
|
+
- 40+ bucket name candidates generated from target domain permutations
|
|
46
|
+
- Sensitive keyword detection for automatic severity escalation (backup, credentials, private, secret, config, etc.)
|
|
47
|
+
- Custom wordlist support for organization-specific naming conventions
|
|
48
|
+
- Provider filtering — run against a single provider or all three
|
|
49
|
+
- Content listing detection — distinguishes PUBLIC (browseable) from PUBLIC (opaque)
|
|
50
|
+
- Configurable concurrency and timeout for rate-sensitive environments
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Requirements
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Python 3.11+
|
|
58
|
+
aiohttp >= 3.9.0
|
|
59
|
+
rich >= 13.7.0
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Install dependencies:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pip install -r requirements.txt
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Installation
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
git clone https://github.com/belky-me/vamp-cloud-enum.git
|
|
74
|
+
cd vamp-cloud-enum
|
|
75
|
+
pip install -r requirements.txt
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Usage
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
python vamp_cloud_enum.py -d DOMAIN [OPTIONS]
|
|
84
|
+
|
|
85
|
+
Target (required, repeatable):
|
|
86
|
+
-d, --domain DOMAIN Target domain — use multiple times for multiple domains
|
|
87
|
+
|
|
88
|
+
Wordlist:
|
|
89
|
+
-w, --wordlist FILE Custom wordlist for bucket name generation
|
|
90
|
+
|
|
91
|
+
Provider selection:
|
|
92
|
+
--providers PROVIDER,... Comma-separated: s3, azure, gcp (default: all)
|
|
93
|
+
|
|
94
|
+
Performance:
|
|
95
|
+
--concurrency N Concurrent HTTP workers (default: 30)
|
|
96
|
+
--timeout N Per-request timeout in seconds (default: 8)
|
|
97
|
+
|
|
98
|
+
Analysis control:
|
|
99
|
+
--no-content-listing Skip directory listing detection probes
|
|
100
|
+
|
|
101
|
+
Output:
|
|
102
|
+
--json FILE Write findings to JSON
|
|
103
|
+
--html FILE Generate standalone HTML report
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Examples
|
|
109
|
+
|
|
110
|
+
Enumerate all providers for a single target domain:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
python vamp_cloud_enum.py -d example.com
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Enumerate multiple domains and generate a JSON report:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python vamp_cloud_enum.py -d example.com -d subsidiary.com -o cloud_findings.json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Check only AWS S3 with a custom wordlist:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
python vamp_cloud_enum.py -d example.com --providers s3 -w corp_names.txt
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Full enumeration with HTML report for client delivery:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
python vamp_cloud_enum.py -d example.com -d example-cdn.com \
|
|
132
|
+
--providers s3,azure,gcp \
|
|
133
|
+
--concurrency 50 \
|
|
134
|
+
--html cloud_report.html
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Output Formats
|
|
140
|
+
|
|
141
|
+
| Format | How to enable | Description |
|
|
142
|
+
|--------|---------------|-------------|
|
|
143
|
+
| Console | Default | Rich table with provider, bucket name, status, listing, and severity |
|
|
144
|
+
| JSON | `--json FILE` | Full structured findings with URL, provider, status code, and keywords found |
|
|
145
|
+
| HTML | `--html FILE` | Standalone dark-theme report for client delivery or archival |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Exit Codes
|
|
150
|
+
|
|
151
|
+
| Code | Meaning | CI/CD usage |
|
|
152
|
+
|------|---------|-------------|
|
|
153
|
+
| `0` | No public buckets found | Pass gate |
|
|
154
|
+
| `1` | HIGH findings — public bucket without listing | Escalate to owner |
|
|
155
|
+
| `2` | CRITICAL findings — listing enabled or sensitive-name public bucket | Fail gate — immediate action required |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Severity Model
|
|
160
|
+
|
|
161
|
+
| Severity | Condition |
|
|
162
|
+
|----------|-----------|
|
|
163
|
+
| CRITICAL | Bucket is PUBLIC and directory listing is enabled, **or** public bucket name contains sensitive keywords |
|
|
164
|
+
| HIGH | Bucket is PUBLIC — accessible but listing is disabled |
|
|
165
|
+
| MEDIUM | Bucket is PRIVATE but name contains sensitive keywords (namespace exposure) |
|
|
166
|
+
| LOW | Bucket namespace exists but content is fully private |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Part of VampSecure Labs Toolkit
|
|
171
|
+
|
|
172
|
+
`vamp-cloud-enum` is part of the **VampSecure Labs Security Research Toolkit** — a collection of professional-grade, self-hosted security assessment tools.
|
|
173
|
+
|
|
174
|
+
| Tool | Purpose |
|
|
175
|
+
|------|---------|
|
|
176
|
+
| [vamp-forticheck](https://github.com/belky-me/vamp-forticheck) | Multi-vendor edge device CVE scanner |
|
|
177
|
+
| [vamp-cve-oracle](https://github.com/belky-me/vamp-cve-oracle) | CVE intelligence and RBVM engine |
|
|
178
|
+
| [vamp-passive-recon](https://github.com/belky-me/vamp-passive-recon) | Passive recon and attack surface mapping |
|
|
179
|
+
| [vamp-subdomain-takeover](https://github.com/belky-me/vamp-subdomain-takeover) | Subdomain takeover vulnerability scanner |
|
|
180
|
+
| [vamp-cloud-enum](https://github.com/belky-me/vamp-cloud-enum) | Cloud storage bucket enumerator |
|
|
181
|
+
| [vamp-orchestrator](https://github.com/belky-me/vamp-orchestrator) | Multi-tool assessment orchestrator |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
<p align="center">
|
|
186
|
+
© VampSecure Studios — VampSecure Labs Security Research Division<br/>
|
|
187
|
+
For authorized security assessments only. Unauthorized use is prohibited.
|
|
188
|
+
</p>
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/badge/version-1.0-crimson?style=flat-square" />
|
|
3
|
+
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
4
|
+
<img src="https://img.shields.io/badge/providers-AWS%20%7C%20Azure%20%7C%20GCP-teal?style=flat-square" />
|
|
5
|
+
<img src="https://img.shields.io/badge/VampSecure_Labs-Security_Research-8b0000?style=flat-square" />
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<h1 align="center">vamp-cloud-enum</h1>
|
|
9
|
+
<p align="center"><em>Cloud Storage Bucket Enumerator — VampSecure Labs</em></p>
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
**vamp-cloud-enum** discovers and audits misconfigured cloud storage buckets across AWS S3, Azure Blob Storage, and Google Cloud Storage. Starting from one or more target domain names, the tool generates a candidate bucket name wordlist (40+ suffix and prefix permutations) and probes each combination across all three cloud providers simultaneously.
|
|
16
|
+
|
|
17
|
+
For each bucket found, the tool determines whether it is publicly accessible, whether directory listing is enabled, and whether the bucket name or exposed contents contain sensitive keywords — escalating severity accordingly. Public buckets with listing enabled are classified as CRITICAL; exposed namespaces without listing are classified based on sensitive-keyword presence.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- Three-provider coverage: AWS S3 (virtual-hosted, path-style, listing API, website endpoint), Azure Blob Storage (account and container enumeration), GCP Cloud Storage (path-style and virtual-hosted)
|
|
24
|
+
- 40+ bucket name candidates generated from target domain permutations
|
|
25
|
+
- Sensitive keyword detection for automatic severity escalation (backup, credentials, private, secret, config, etc.)
|
|
26
|
+
- Custom wordlist support for organization-specific naming conventions
|
|
27
|
+
- Provider filtering — run against a single provider or all three
|
|
28
|
+
- Content listing detection — distinguishes PUBLIC (browseable) from PUBLIC (opaque)
|
|
29
|
+
- Configurable concurrency and timeout for rate-sensitive environments
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Requirements
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Python 3.11+
|
|
37
|
+
aiohttp >= 3.9.0
|
|
38
|
+
rich >= 13.7.0
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Install dependencies:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install -r requirements.txt
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
git clone https://github.com/belky-me/vamp-cloud-enum.git
|
|
53
|
+
cd vamp-cloud-enum
|
|
54
|
+
pip install -r requirements.txt
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Usage
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
python vamp_cloud_enum.py -d DOMAIN [OPTIONS]
|
|
63
|
+
|
|
64
|
+
Target (required, repeatable):
|
|
65
|
+
-d, --domain DOMAIN Target domain — use multiple times for multiple domains
|
|
66
|
+
|
|
67
|
+
Wordlist:
|
|
68
|
+
-w, --wordlist FILE Custom wordlist for bucket name generation
|
|
69
|
+
|
|
70
|
+
Provider selection:
|
|
71
|
+
--providers PROVIDER,... Comma-separated: s3, azure, gcp (default: all)
|
|
72
|
+
|
|
73
|
+
Performance:
|
|
74
|
+
--concurrency N Concurrent HTTP workers (default: 30)
|
|
75
|
+
--timeout N Per-request timeout in seconds (default: 8)
|
|
76
|
+
|
|
77
|
+
Analysis control:
|
|
78
|
+
--no-content-listing Skip directory listing detection probes
|
|
79
|
+
|
|
80
|
+
Output:
|
|
81
|
+
--json FILE Write findings to JSON
|
|
82
|
+
--html FILE Generate standalone HTML report
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Examples
|
|
88
|
+
|
|
89
|
+
Enumerate all providers for a single target domain:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
python vamp_cloud_enum.py -d example.com
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Enumerate multiple domains and generate a JSON report:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
python vamp_cloud_enum.py -d example.com -d subsidiary.com -o cloud_findings.json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Check only AWS S3 with a custom wordlist:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
python vamp_cloud_enum.py -d example.com --providers s3 -w corp_names.txt
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Full enumeration with HTML report for client delivery:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
python vamp_cloud_enum.py -d example.com -d example-cdn.com \
|
|
111
|
+
--providers s3,azure,gcp \
|
|
112
|
+
--concurrency 50 \
|
|
113
|
+
--html cloud_report.html
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Output Formats
|
|
119
|
+
|
|
120
|
+
| Format | How to enable | Description |
|
|
121
|
+
|--------|---------------|-------------|
|
|
122
|
+
| Console | Default | Rich table with provider, bucket name, status, listing, and severity |
|
|
123
|
+
| JSON | `--json FILE` | Full structured findings with URL, provider, status code, and keywords found |
|
|
124
|
+
| HTML | `--html FILE` | Standalone dark-theme report for client delivery or archival |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Exit Codes
|
|
129
|
+
|
|
130
|
+
| Code | Meaning | CI/CD usage |
|
|
131
|
+
|------|---------|-------------|
|
|
132
|
+
| `0` | No public buckets found | Pass gate |
|
|
133
|
+
| `1` | HIGH findings — public bucket without listing | Escalate to owner |
|
|
134
|
+
| `2` | CRITICAL findings — listing enabled or sensitive-name public bucket | Fail gate — immediate action required |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Severity Model
|
|
139
|
+
|
|
140
|
+
| Severity | Condition |
|
|
141
|
+
|----------|-----------|
|
|
142
|
+
| CRITICAL | Bucket is PUBLIC and directory listing is enabled, **or** public bucket name contains sensitive keywords |
|
|
143
|
+
| HIGH | Bucket is PUBLIC — accessible but listing is disabled |
|
|
144
|
+
| MEDIUM | Bucket is PRIVATE but name contains sensitive keywords (namespace exposure) |
|
|
145
|
+
| LOW | Bucket namespace exists but content is fully private |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Part of VampSecure Labs Toolkit
|
|
150
|
+
|
|
151
|
+
`vamp-cloud-enum` is part of the **VampSecure Labs Security Research Toolkit** — a collection of professional-grade, self-hosted security assessment tools.
|
|
152
|
+
|
|
153
|
+
| Tool | Purpose |
|
|
154
|
+
|------|---------|
|
|
155
|
+
| [vamp-forticheck](https://github.com/belky-me/vamp-forticheck) | Multi-vendor edge device CVE scanner |
|
|
156
|
+
| [vamp-cve-oracle](https://github.com/belky-me/vamp-cve-oracle) | CVE intelligence and RBVM engine |
|
|
157
|
+
| [vamp-passive-recon](https://github.com/belky-me/vamp-passive-recon) | Passive recon and attack surface mapping |
|
|
158
|
+
| [vamp-subdomain-takeover](https://github.com/belky-me/vamp-subdomain-takeover) | Subdomain takeover vulnerability scanner |
|
|
159
|
+
| [vamp-cloud-enum](https://github.com/belky-me/vamp-cloud-enum) | Cloud storage bucket enumerator |
|
|
160
|
+
| [vamp-orchestrator](https://github.com/belky-me/vamp-orchestrator) | Multi-tool assessment orchestrator |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
<p align="center">
|
|
165
|
+
© VampSecure Studios — VampSecure Labs Security Research Division<br/>
|
|
166
|
+
For authorized security assessments only. Unauthorized use is prohibited.
|
|
167
|
+
</p>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "vamp-cloud-enum"
|
|
7
|
+
version = "1.0"
|
|
8
|
+
description = "Cloud asset enumeration and exposure analysis for authorized audits"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.9"
|
|
12
|
+
authors = [{ name = "VampSecure Studios", email = "contact@vampsecurestudios.com" }]
|
|
13
|
+
keywords = ["security", "pentest", "audit", "cybersecurity", "vampsecure", "cloud", "aws", "azure", "gcp", "enumeration", "osint"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 5 - Production/Stable",
|
|
16
|
+
"Environment :: Console",
|
|
17
|
+
"Intended Audience :: Information Technology",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Topic :: Security",
|
|
22
|
+
]
|
|
23
|
+
dependencies = [
|
|
24
|
+
"aiohttp>=3.9.0",
|
|
25
|
+
"rich>=13.7.0",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
[project.scripts]
|
|
30
|
+
vamp-cloud-enum = "vamp_cloud_enum:main"
|
|
31
|
+
|
|
32
|
+
[project.urls]
|
|
33
|
+
Homepage = "https://github.com/Vampsecure-Labs/vamp-cloud-enum"
|
|
34
|
+
Repository = "https://github.com/Vampsecure-Labs/vamp-cloud-enum"
|
|
35
|
+
|
|
36
|
+
[tool.setuptools]
|
|
37
|
+
py-modules = ["vamp_cloud_enum", "vampsec_report"]
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vamp-cloud-enum
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: Cloud asset enumeration and exposure analysis for authorized audits
|
|
5
|
+
Author-email: VampSecure Studios <contact@vampsecurestudios.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Vampsecure-Labs/vamp-cloud-enum
|
|
8
|
+
Project-URL: Repository, https://github.com/Vampsecure-Labs/vamp-cloud-enum
|
|
9
|
+
Keywords: security,pentest,audit,cybersecurity,vampsecure,cloud,aws,azure,gcp,enumeration,osint
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Information Technology
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Security
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: aiohttp>=3.9.0
|
|
20
|
+
Requires-Dist: rich>=13.7.0
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img src="https://img.shields.io/badge/version-1.0-crimson?style=flat-square" />
|
|
24
|
+
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
25
|
+
<img src="https://img.shields.io/badge/providers-AWS%20%7C%20Azure%20%7C%20GCP-teal?style=flat-square" />
|
|
26
|
+
<img src="https://img.shields.io/badge/VampSecure_Labs-Security_Research-8b0000?style=flat-square" />
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<h1 align="center">vamp-cloud-enum</h1>
|
|
30
|
+
<p align="center"><em>Cloud Storage Bucket Enumerator — VampSecure Labs</em></p>
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
**vamp-cloud-enum** discovers and audits misconfigured cloud storage buckets across AWS S3, Azure Blob Storage, and Google Cloud Storage. Starting from one or more target domain names, the tool generates a candidate bucket name wordlist (40+ suffix and prefix permutations) and probes each combination across all three cloud providers simultaneously.
|
|
37
|
+
|
|
38
|
+
For each bucket found, the tool determines whether it is publicly accessible, whether directory listing is enabled, and whether the bucket name or exposed contents contain sensitive keywords — escalating severity accordingly. Public buckets with listing enabled are classified as CRITICAL; exposed namespaces without listing are classified based on sensitive-keyword presence.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Features
|
|
43
|
+
|
|
44
|
+
- Three-provider coverage: AWS S3 (virtual-hosted, path-style, listing API, website endpoint), Azure Blob Storage (account and container enumeration), GCP Cloud Storage (path-style and virtual-hosted)
|
|
45
|
+
- 40+ bucket name candidates generated from target domain permutations
|
|
46
|
+
- Sensitive keyword detection for automatic severity escalation (backup, credentials, private, secret, config, etc.)
|
|
47
|
+
- Custom wordlist support for organization-specific naming conventions
|
|
48
|
+
- Provider filtering — run against a single provider or all three
|
|
49
|
+
- Content listing detection — distinguishes PUBLIC (browseable) from PUBLIC (opaque)
|
|
50
|
+
- Configurable concurrency and timeout for rate-sensitive environments
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Requirements
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Python 3.11+
|
|
58
|
+
aiohttp >= 3.9.0
|
|
59
|
+
rich >= 13.7.0
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Install dependencies:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pip install -r requirements.txt
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Installation
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
git clone https://github.com/belky-me/vamp-cloud-enum.git
|
|
74
|
+
cd vamp-cloud-enum
|
|
75
|
+
pip install -r requirements.txt
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Usage
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
python vamp_cloud_enum.py -d DOMAIN [OPTIONS]
|
|
84
|
+
|
|
85
|
+
Target (required, repeatable):
|
|
86
|
+
-d, --domain DOMAIN Target domain — use multiple times for multiple domains
|
|
87
|
+
|
|
88
|
+
Wordlist:
|
|
89
|
+
-w, --wordlist FILE Custom wordlist for bucket name generation
|
|
90
|
+
|
|
91
|
+
Provider selection:
|
|
92
|
+
--providers PROVIDER,... Comma-separated: s3, azure, gcp (default: all)
|
|
93
|
+
|
|
94
|
+
Performance:
|
|
95
|
+
--concurrency N Concurrent HTTP workers (default: 30)
|
|
96
|
+
--timeout N Per-request timeout in seconds (default: 8)
|
|
97
|
+
|
|
98
|
+
Analysis control:
|
|
99
|
+
--no-content-listing Skip directory listing detection probes
|
|
100
|
+
|
|
101
|
+
Output:
|
|
102
|
+
--json FILE Write findings to JSON
|
|
103
|
+
--html FILE Generate standalone HTML report
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Examples
|
|
109
|
+
|
|
110
|
+
Enumerate all providers for a single target domain:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
python vamp_cloud_enum.py -d example.com
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Enumerate multiple domains and generate a JSON report:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python vamp_cloud_enum.py -d example.com -d subsidiary.com -o cloud_findings.json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Check only AWS S3 with a custom wordlist:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
python vamp_cloud_enum.py -d example.com --providers s3 -w corp_names.txt
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Full enumeration with HTML report for client delivery:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
python vamp_cloud_enum.py -d example.com -d example-cdn.com \
|
|
132
|
+
--providers s3,azure,gcp \
|
|
133
|
+
--concurrency 50 \
|
|
134
|
+
--html cloud_report.html
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Output Formats
|
|
140
|
+
|
|
141
|
+
| Format | How to enable | Description |
|
|
142
|
+
|--------|---------------|-------------|
|
|
143
|
+
| Console | Default | Rich table with provider, bucket name, status, listing, and severity |
|
|
144
|
+
| JSON | `--json FILE` | Full structured findings with URL, provider, status code, and keywords found |
|
|
145
|
+
| HTML | `--html FILE` | Standalone dark-theme report for client delivery or archival |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Exit Codes
|
|
150
|
+
|
|
151
|
+
| Code | Meaning | CI/CD usage |
|
|
152
|
+
|------|---------|-------------|
|
|
153
|
+
| `0` | No public buckets found | Pass gate |
|
|
154
|
+
| `1` | HIGH findings — public bucket without listing | Escalate to owner |
|
|
155
|
+
| `2` | CRITICAL findings — listing enabled or sensitive-name public bucket | Fail gate — immediate action required |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Severity Model
|
|
160
|
+
|
|
161
|
+
| Severity | Condition |
|
|
162
|
+
|----------|-----------|
|
|
163
|
+
| CRITICAL | Bucket is PUBLIC and directory listing is enabled, **or** public bucket name contains sensitive keywords |
|
|
164
|
+
| HIGH | Bucket is PUBLIC — accessible but listing is disabled |
|
|
165
|
+
| MEDIUM | Bucket is PRIVATE but name contains sensitive keywords (namespace exposure) |
|
|
166
|
+
| LOW | Bucket namespace exists but content is fully private |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Part of VampSecure Labs Toolkit
|
|
171
|
+
|
|
172
|
+
`vamp-cloud-enum` is part of the **VampSecure Labs Security Research Toolkit** — a collection of professional-grade, self-hosted security assessment tools.
|
|
173
|
+
|
|
174
|
+
| Tool | Purpose |
|
|
175
|
+
|------|---------|
|
|
176
|
+
| [vamp-forticheck](https://github.com/belky-me/vamp-forticheck) | Multi-vendor edge device CVE scanner |
|
|
177
|
+
| [vamp-cve-oracle](https://github.com/belky-me/vamp-cve-oracle) | CVE intelligence and RBVM engine |
|
|
178
|
+
| [vamp-passive-recon](https://github.com/belky-me/vamp-passive-recon) | Passive recon and attack surface mapping |
|
|
179
|
+
| [vamp-subdomain-takeover](https://github.com/belky-me/vamp-subdomain-takeover) | Subdomain takeover vulnerability scanner |
|
|
180
|
+
| [vamp-cloud-enum](https://github.com/belky-me/vamp-cloud-enum) | Cloud storage bucket enumerator |
|
|
181
|
+
| [vamp-orchestrator](https://github.com/belky-me/vamp-orchestrator) | Multi-tool assessment orchestrator |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
<p align="center">
|
|
186
|
+
© VampSecure Studios — VampSecure Labs Security Research Division<br/>
|
|
187
|
+
For authorized security assessments only. Unauthorized use is prohibited.
|
|
188
|
+
</p>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
vamp_cloud_enum.py
|
|
4
|
+
vampsec_report.py
|
|
5
|
+
vamp_cloud_enum.egg-info/PKG-INFO
|
|
6
|
+
vamp_cloud_enum.egg-info/SOURCES.txt
|
|
7
|
+
vamp_cloud_enum.egg-info/dependency_links.txt
|
|
8
|
+
vamp_cloud_enum.egg-info/entry_points.txt
|
|
9
|
+
vamp_cloud_enum.egg-info/requires.txt
|
|
10
|
+
vamp_cloud_enum.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|