redforge-sec 0.2.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.
- redforge_sec-0.2.0/PKG-INFO +263 -0
- redforge_sec-0.2.0/README.md +238 -0
- redforge_sec-0.2.0/pyproject.toml +37 -0
- redforge_sec-0.2.0/redforge/__init__.py +9 -0
- redforge_sec-0.2.0/redforge/cli.py +512 -0
- redforge_sec-0.2.0/redforge/compliance/__init__.py +6 -0
- redforge_sec-0.2.0/redforge/compliance/cis.py +103 -0
- redforge_sec-0.2.0/redforge/compliance/password.py +74 -0
- redforge_sec-0.2.0/redforge/core/__init__.py +5 -0
- redforge_sec-0.2.0/redforge/core/config.py +72 -0
- redforge_sec-0.2.0/redforge/core/report.py +105 -0
- redforge_sec-0.2.0/redforge/core/runner.py +153 -0
- redforge_sec-0.2.0/redforge/core/scheduler.py +61 -0
- redforge_sec-0.2.0/redforge/core/store.py +94 -0
- redforge_sec-0.2.0/redforge/defense/__init__.py +6 -0
- redforge_sec-0.2.0/redforge/defense/ioc.py +35 -0
- redforge_sec-0.2.0/redforge/defense/log_analyzer.py +100 -0
- redforge_sec-0.2.0/redforge/pentest/__init__.py +49 -0
- redforge_sec-0.2.0/redforge/pentest/auth_tester.py +66 -0
- redforge_sec-0.2.0/redforge/pentest/exploit_sdk.py +243 -0
- redforge_sec-0.2.0/redforge/pentest/web_attacks.py +741 -0
- redforge_sec-0.2.0/redforge/recon/__init__.py +32 -0
- redforge_sec-0.2.0/redforge/recon/dns.py +122 -0
- redforge_sec-0.2.0/redforge/recon/endpoints.py +61 -0
- redforge_sec-0.2.0/redforge/recon/headers.py +86 -0
- redforge_sec-0.2.0/redforge/recon/ports.py +65 -0
- redforge_sec-0.2.0/redforge/recon/subdomains.py +53 -0
- redforge_sec-0.2.0/redforge/recon/takeover.py +47 -0
- redforge_sec-0.2.0/redforge/vuln/__init__.py +8 -0
- redforge_sec-0.2.0/redforge/vuln/config_audit.py +70 -0
- redforge_sec-0.2.0/redforge/vuln/cve.py +158 -0
- redforge_sec-0.2.0/redforge/vuln/secrets.py +94 -0
- redforge_sec-0.2.0/redforge/vuln/tls_scan.py +79 -0
- redforge_sec-0.2.0/redforge/webapp/__init__.py +5 -0
- redforge_sec-0.2.0/redforge/webapp/app.py +254 -0
- redforge_sec-0.2.0/redforge_sec.egg-info/PKG-INFO +263 -0
- redforge_sec-0.2.0/redforge_sec.egg-info/SOURCES.txt +48 -0
- redforge_sec-0.2.0/redforge_sec.egg-info/dependency_links.txt +1 -0
- redforge_sec-0.2.0/redforge_sec.egg-info/entry_points.txt +3 -0
- redforge_sec-0.2.0/redforge_sec.egg-info/requires.txt +3 -0
- redforge_sec-0.2.0/redforge_sec.egg-info/top_level.txt +1 -0
- redforge_sec-0.2.0/setup.cfg +4 -0
- redforge_sec-0.2.0/tests/test_core.py +60 -0
- redforge_sec-0.2.0/tests/test_labeler.py +138 -0
- redforge_sec-0.2.0/tests/test_new_tools.py +114 -0
- redforge_sec-0.2.0/tests/test_pentest.py +69 -0
- redforge_sec-0.2.0/tests/test_pentest_extended.py +296 -0
- redforge_sec-0.2.0/tests/test_runner.py +59 -0
- redforge_sec-0.2.0/tests/test_vuln.py +64 -0
- redforge_sec-0.2.0/tests/test_web_attacks.py +183 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: redforge-sec
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Security Operations Platform — legit pentest, vuln, compliance, and defense tooling. Scope-enforced.
|
|
5
|
+
Author-email: RedForge Team <redforge@users.noreply.github.com>
|
|
6
|
+
License: Proprietary
|
|
7
|
+
Project-URL: Homepage, https://github.com/Grantgazvoda-alt/redforge
|
|
8
|
+
Project-URL: Repository, https://github.com/Grantgazvoda-alt/redforge
|
|
9
|
+
Project-URL: Documentation, https://github.com/Grantgazvoda-alt/redforge
|
|
10
|
+
Keywords: security,pentest,vulnerability,compliance,red-team,scope-enforced
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Information Technology
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Security
|
|
20
|
+
Requires-Python: >=3.9
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: httpx>=0.24.0
|
|
23
|
+
Requires-Dist: dnspython>=2.3.0
|
|
24
|
+
Requires-Dist: flask>=3.0.0
|
|
25
|
+
|
|
26
|
+
<div align="center">
|
|
27
|
+
|
|
28
|
+
# 🛡️ RedForge
|
|
29
|
+
|
|
30
|
+
**Security Operations Platform** — serious offensive + defensive tooling for the systems you own or are authorized to test.
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+

|
|
34
|
+

|
|
35
|
+

|
|
36
|
+

|
|
37
|
+

|
|
38
|
+
[](https://github.com/Grantgazvoda-alt/redforge)
|
|
39
|
+
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 📖 Project Description
|
|
45
|
+
|
|
46
|
+
RedForge is a **legitimate security operations platform** that turns professional offensive-security work into billable deliverables — the way real pentesters, bug-bounty hunters, and compliance auditors earn.
|
|
47
|
+
|
|
48
|
+
It is a full offensive **and** defensive stack in one CLI + web dashboard:
|
|
49
|
+
|
|
50
|
+
- **Reconnaissance** — subdomains, DNS records, endpoints, security headers, service ports, subdomain takeover checks
|
|
51
|
+
- **Vulnerability assessment** — CVE knowledge base, TLS config scans, config-file secret audit, full-repo secrets scanning
|
|
52
|
+
- **Exploitation education** — a scope-gated SDK that demonstrates injection classes (command, SQLi, path traversal) with inert strings and benign demos only
|
|
53
|
+
- **Compliance** — CIS-style hardening checks, password strength analysis
|
|
54
|
+
- **Defensive monitoring** — access-log analysis, indicator-of-compromise (IOC) matching
|
|
55
|
+
- **Reporting** — professional markdown reports, CSV/JSON exports, combined scan runner, and a scheduled scanner
|
|
56
|
+
- **Web dashboard** — a Flask UI for running scans and reviewing findings
|
|
57
|
+
|
|
58
|
+
> ⚠️ **Authorization is mandatory.** RedForge refuses to run against any target outside your declared `scope.json`. Unauthorized testing is illegal under the CFAA (US), the Computer Misuse Act 1990 (UK), Directive (EU) 2013/40/EU, and comparable laws worldwide. See [`docs/legal-compliance.md`](docs/legal-compliance.md) for the full authorization pack and a signed-scope agreement template.
|
|
59
|
+
|
|
60
|
+
**RedForge never targets third parties.** Every network-facing tool calls `Scope.require()` and raises `PermissionError` on anything outside your scope. The pentest SDK deliberately produces no working malware, persistence, or exfiltration.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## ✨ Features
|
|
65
|
+
|
|
66
|
+
| Area | Tools |
|
|
67
|
+
|---|---|
|
|
68
|
+
| 🕵️ Recon | Subdomain enum (crt.sh + HackerTarget fallback), DNS records (A/AAAA/MX/TXT/NS/CNAME), **subdomain brute force**, endpoint discovery, subdomain takeover detection, HTTP security headers, port scan **with banner grabbing** |
|
|
69
|
+
| 🩹 Vulnerabilities | Curated CVE knowledge base + search, TLS config scan, config-file secret audit, **recursive repo secrets scan** |
|
|
70
|
+
| 🎓 Pentest SDK | Scope-gated command-injection tester, SQLi probe (inert strings), path-traversal prober, disabled reverse-shell stub, bounded auth tester, **CORS scanner, JWT auditor, HTTP-verb/TRACE tester, open-redirect payloads** |
|
|
71
|
+
| 🏛️ Compliance | CIS-style local hardening checks, password strength scoring |
|
|
72
|
+
| 🛰️ Defense | Access-log anomaly analysis, IOC matching (wallets, malware strings, payload patterns) |
|
|
73
|
+
| 📊 Reporting | Markdown / CSV / JSON reports, combined multi-tool scan runner, scheduled scans, SQLite-backed store |
|
|
74
|
+
| 🌐 Webapp | Flask dashboard with findings board, scope view, and one-click scan runner |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 🚀 Installation
|
|
79
|
+
|
|
80
|
+
### From source
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
git clone https://github.com/Grantgazvoda-alt/redforge.git
|
|
84
|
+
cd redforge
|
|
85
|
+
|
|
86
|
+
python -m venv .venv
|
|
87
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
88
|
+
|
|
89
|
+
pip install -e .
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Dependencies
|
|
93
|
+
|
|
94
|
+
| Package | Purpose |
|
|
95
|
+
|---|---|
|
|
96
|
+
| `httpx` | HTTP client for header/endpoint scans |
|
|
97
|
+
| `dnspython` | DNS record resolution |
|
|
98
|
+
| `flask` | Web dashboard |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 🔐 Scope File (do this first!)
|
|
103
|
+
|
|
104
|
+
Create `scope.json` listing **every** target you own or are authorized to test:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"targets": [
|
|
109
|
+
"example.com",
|
|
110
|
+
"staging.example.com",
|
|
111
|
+
"192.168.1.0/24"
|
|
112
|
+
],
|
|
113
|
+
"note": "Authorized assets owned/operated by the requester."
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
RedForge **hard-blocks** any target not in this list — it raises `PermissionError` before touching the network.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 🧰 Usage
|
|
122
|
+
|
|
123
|
+
All commands take `--scope scope.json` (and optionally `--db path.db`).
|
|
124
|
+
|
|
125
|
+
### Reconnaissance
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Subdomains via certificate transparency + DNS resolution
|
|
129
|
+
redforge recon subdomains example.com --scope scope.json --resolve
|
|
130
|
+
|
|
131
|
+
# DNS records + subdomains (with fallback source)
|
|
132
|
+
redforge recon dns example.com --scope scope.json
|
|
133
|
+
|
|
134
|
+
# Discover common endpoints on an authorized host (admin, .env, .git, /actuator…)
|
|
135
|
+
redforge recon endpoints example.com --scope scope.json
|
|
136
|
+
|
|
137
|
+
# Detect potential subdomain takeover (dangling CNAME)
|
|
138
|
+
redforge recon takeover sub.example.com --scope scope.json
|
|
139
|
+
|
|
140
|
+
# HTTP security headers
|
|
141
|
+
redforge recon headers https://example.com --scope scope.json --save
|
|
142
|
+
|
|
143
|
+
# Common service ports
|
|
144
|
+
redforge recon ports 192.168.1.10 --scope scope.json
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Vulnerability assessment
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Curated CVE lookup + knowledge-base search
|
|
151
|
+
redforge vuln cve log4j
|
|
152
|
+
redforge vuln cve openssh # search
|
|
153
|
+
|
|
154
|
+
# Config file secret audit (your own files)
|
|
155
|
+
redforge vuln config .env.example --save
|
|
156
|
+
|
|
157
|
+
# Recursive repo / single-file secrets scan
|
|
158
|
+
redforge vuln secrets /path/to/my/repo --save
|
|
159
|
+
redforge vuln secrets config.py
|
|
160
|
+
|
|
161
|
+
# TLS configuration scan
|
|
162
|
+
redforge vuln tls example.com --scope scope.json --save
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Compliance
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# CIS-style hardening checks on the local host
|
|
169
|
+
redforge compliance cis --save
|
|
170
|
+
|
|
171
|
+
# Password strength analysis
|
|
172
|
+
redforge compliance password 'My-S3cure-Passw0rd!'
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Defense
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Access-log analysis (401 storms, scanner UAs, sensitive-path probing)
|
|
179
|
+
redforge defense logs access.log --save
|
|
180
|
+
|
|
181
|
+
# IOC matching in text / logs
|
|
182
|
+
redforge defense ioc "send to 1BoatSLRHtKNngkdXEeobR76b53LETtpyT via curl | sh"
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Combined scan & scheduling
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# One command, many tools
|
|
189
|
+
redforge scan example.com --scope scope.json \
|
|
190
|
+
--tools headers,ports,tls,dns,endpoints,takeover
|
|
191
|
+
|
|
192
|
+
# Scheduled recurring scans (every 6h, 24 runs)
|
|
193
|
+
redforge schedule example.com --scope scope.json \
|
|
194
|
+
--tools headers,ports,dns --interval 21600 --runs 24
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Reporting
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Markdown report from saved findings
|
|
201
|
+
redforge report example.com --scope scope.json --engagement "Q3 Audit"
|
|
202
|
+
|
|
203
|
+
# CSV / JSON export
|
|
204
|
+
redforge report example.com --scope scope.json --format csv
|
|
205
|
+
redforge report example.com --scope scope.json --format json
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Web dashboard
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
redforge-web --scope scope.json --host 127.0.0.1 --port 5000
|
|
212
|
+
# open http://127.0.0.1:5000
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 🧠 Architecture
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
redforge/
|
|
221
|
+
├── redforge/
|
|
222
|
+
│ ├── cli.py # argparse CLI
|
|
223
|
+
│ ├── core/ # scope enforcement, SQLite store, reports, runner, scheduler
|
|
224
|
+
│ ├── recon/ # subdomains, dns, endpoints, takeover, headers, ports
|
|
225
|
+
│ ├── vuln/ # cve, config_audit, tls_scan, secrets
|
|
226
|
+
│ ├── compliance/ # cis, password
|
|
227
|
+
│ ├── defense/ # log_analyzer, ioc
|
|
228
|
+
│ ├── pentest/ # exploit_sdk (scope-gated), auth_tester
|
|
229
|
+
│ └── webapp/ # Flask dashboard
|
|
230
|
+
├── tests/ # pytest suite (38 tests)
|
|
231
|
+
├── docs/legal-compliance.md
|
|
232
|
+
└── scope.example.json
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 🔬 Testing
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
pip install -e . pytest
|
|
239
|
+
pytest tests/ -v
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Continuous integration runs the suite across Python 3.10/3.11/3.12 on every push and pull request (see `/.github/workflows/ci.yml`).
|
|
243
|
+
|
|
244
|
+
[](https://github.com/Grantgazvoda-alt/redforge/actions/workflows/ci.yml)
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## ⚖️ Ethics & Responsible Use
|
|
249
|
+
|
|
250
|
+
- **Scope enforcement is built in.** Every network-facing tool calls `Scope.require()` and raises `PermissionError` on out-of-scope targets.
|
|
251
|
+
- **The pentest SDK is deliberately non-malicious.** It generates inert strings and benign demos only — no working malware, persistence, or data exfiltration. Reverse-shell generation is a warning-gated, disabled stub. Real shells are never emitted.
|
|
252
|
+
- **You are responsible for where you point it.** RedForge is a tool; the legality of your actions is determined by your authorization.
|
|
253
|
+
- **Run authorized engagements only.** Point it at systems you own or have written permission to test — and nothing else.
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## 📄 License
|
|
258
|
+
|
|
259
|
+
Proprietary / internal use. See [`docs/legal-compliance.md`](docs/legal-compliance.md) for the liability disclaimer and authorization requirements.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
<sub>Built by the RedForge team — GrantGazvoda-alt</sub>
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 🛡️ RedForge
|
|
4
|
+
|
|
5
|
+
**Security Operations Platform** — serious offensive + defensive tooling for the systems you own or are authorized to test.
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+

|
|
13
|
+
[](https://github.com/Grantgazvoda-alt/redforge)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 📖 Project Description
|
|
20
|
+
|
|
21
|
+
RedForge is a **legitimate security operations platform** that turns professional offensive-security work into billable deliverables — the way real pentesters, bug-bounty hunters, and compliance auditors earn.
|
|
22
|
+
|
|
23
|
+
It is a full offensive **and** defensive stack in one CLI + web dashboard:
|
|
24
|
+
|
|
25
|
+
- **Reconnaissance** — subdomains, DNS records, endpoints, security headers, service ports, subdomain takeover checks
|
|
26
|
+
- **Vulnerability assessment** — CVE knowledge base, TLS config scans, config-file secret audit, full-repo secrets scanning
|
|
27
|
+
- **Exploitation education** — a scope-gated SDK that demonstrates injection classes (command, SQLi, path traversal) with inert strings and benign demos only
|
|
28
|
+
- **Compliance** — CIS-style hardening checks, password strength analysis
|
|
29
|
+
- **Defensive monitoring** — access-log analysis, indicator-of-compromise (IOC) matching
|
|
30
|
+
- **Reporting** — professional markdown reports, CSV/JSON exports, combined scan runner, and a scheduled scanner
|
|
31
|
+
- **Web dashboard** — a Flask UI for running scans and reviewing findings
|
|
32
|
+
|
|
33
|
+
> ⚠️ **Authorization is mandatory.** RedForge refuses to run against any target outside your declared `scope.json`. Unauthorized testing is illegal under the CFAA (US), the Computer Misuse Act 1990 (UK), Directive (EU) 2013/40/EU, and comparable laws worldwide. See [`docs/legal-compliance.md`](docs/legal-compliance.md) for the full authorization pack and a signed-scope agreement template.
|
|
34
|
+
|
|
35
|
+
**RedForge never targets third parties.** Every network-facing tool calls `Scope.require()` and raises `PermissionError` on anything outside your scope. The pentest SDK deliberately produces no working malware, persistence, or exfiltration.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## ✨ Features
|
|
40
|
+
|
|
41
|
+
| Area | Tools |
|
|
42
|
+
|---|---|
|
|
43
|
+
| 🕵️ Recon | Subdomain enum (crt.sh + HackerTarget fallback), DNS records (A/AAAA/MX/TXT/NS/CNAME), **subdomain brute force**, endpoint discovery, subdomain takeover detection, HTTP security headers, port scan **with banner grabbing** |
|
|
44
|
+
| 🩹 Vulnerabilities | Curated CVE knowledge base + search, TLS config scan, config-file secret audit, **recursive repo secrets scan** |
|
|
45
|
+
| 🎓 Pentest SDK | Scope-gated command-injection tester, SQLi probe (inert strings), path-traversal prober, disabled reverse-shell stub, bounded auth tester, **CORS scanner, JWT auditor, HTTP-verb/TRACE tester, open-redirect payloads** |
|
|
46
|
+
| 🏛️ Compliance | CIS-style local hardening checks, password strength scoring |
|
|
47
|
+
| 🛰️ Defense | Access-log anomaly analysis, IOC matching (wallets, malware strings, payload patterns) |
|
|
48
|
+
| 📊 Reporting | Markdown / CSV / JSON reports, combined multi-tool scan runner, scheduled scans, SQLite-backed store |
|
|
49
|
+
| 🌐 Webapp | Flask dashboard with findings board, scope view, and one-click scan runner |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🚀 Installation
|
|
54
|
+
|
|
55
|
+
### From source
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
git clone https://github.com/Grantgazvoda-alt/redforge.git
|
|
59
|
+
cd redforge
|
|
60
|
+
|
|
61
|
+
python -m venv .venv
|
|
62
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
63
|
+
|
|
64
|
+
pip install -e .
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Dependencies
|
|
68
|
+
|
|
69
|
+
| Package | Purpose |
|
|
70
|
+
|---|---|
|
|
71
|
+
| `httpx` | HTTP client for header/endpoint scans |
|
|
72
|
+
| `dnspython` | DNS record resolution |
|
|
73
|
+
| `flask` | Web dashboard |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 🔐 Scope File (do this first!)
|
|
78
|
+
|
|
79
|
+
Create `scope.json` listing **every** target you own or are authorized to test:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"targets": [
|
|
84
|
+
"example.com",
|
|
85
|
+
"staging.example.com",
|
|
86
|
+
"192.168.1.0/24"
|
|
87
|
+
],
|
|
88
|
+
"note": "Authorized assets owned/operated by the requester."
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
RedForge **hard-blocks** any target not in this list — it raises `PermissionError` before touching the network.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 🧰 Usage
|
|
97
|
+
|
|
98
|
+
All commands take `--scope scope.json` (and optionally `--db path.db`).
|
|
99
|
+
|
|
100
|
+
### Reconnaissance
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Subdomains via certificate transparency + DNS resolution
|
|
104
|
+
redforge recon subdomains example.com --scope scope.json --resolve
|
|
105
|
+
|
|
106
|
+
# DNS records + subdomains (with fallback source)
|
|
107
|
+
redforge recon dns example.com --scope scope.json
|
|
108
|
+
|
|
109
|
+
# Discover common endpoints on an authorized host (admin, .env, .git, /actuator…)
|
|
110
|
+
redforge recon endpoints example.com --scope scope.json
|
|
111
|
+
|
|
112
|
+
# Detect potential subdomain takeover (dangling CNAME)
|
|
113
|
+
redforge recon takeover sub.example.com --scope scope.json
|
|
114
|
+
|
|
115
|
+
# HTTP security headers
|
|
116
|
+
redforge recon headers https://example.com --scope scope.json --save
|
|
117
|
+
|
|
118
|
+
# Common service ports
|
|
119
|
+
redforge recon ports 192.168.1.10 --scope scope.json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Vulnerability assessment
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Curated CVE lookup + knowledge-base search
|
|
126
|
+
redforge vuln cve log4j
|
|
127
|
+
redforge vuln cve openssh # search
|
|
128
|
+
|
|
129
|
+
# Config file secret audit (your own files)
|
|
130
|
+
redforge vuln config .env.example --save
|
|
131
|
+
|
|
132
|
+
# Recursive repo / single-file secrets scan
|
|
133
|
+
redforge vuln secrets /path/to/my/repo --save
|
|
134
|
+
redforge vuln secrets config.py
|
|
135
|
+
|
|
136
|
+
# TLS configuration scan
|
|
137
|
+
redforge vuln tls example.com --scope scope.json --save
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Compliance
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# CIS-style hardening checks on the local host
|
|
144
|
+
redforge compliance cis --save
|
|
145
|
+
|
|
146
|
+
# Password strength analysis
|
|
147
|
+
redforge compliance password 'My-S3cure-Passw0rd!'
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Defense
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Access-log analysis (401 storms, scanner UAs, sensitive-path probing)
|
|
154
|
+
redforge defense logs access.log --save
|
|
155
|
+
|
|
156
|
+
# IOC matching in text / logs
|
|
157
|
+
redforge defense ioc "send to 1BoatSLRHtKNngkdXEeobR76b53LETtpyT via curl | sh"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Combined scan & scheduling
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# One command, many tools
|
|
164
|
+
redforge scan example.com --scope scope.json \
|
|
165
|
+
--tools headers,ports,tls,dns,endpoints,takeover
|
|
166
|
+
|
|
167
|
+
# Scheduled recurring scans (every 6h, 24 runs)
|
|
168
|
+
redforge schedule example.com --scope scope.json \
|
|
169
|
+
--tools headers,ports,dns --interval 21600 --runs 24
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Reporting
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Markdown report from saved findings
|
|
176
|
+
redforge report example.com --scope scope.json --engagement "Q3 Audit"
|
|
177
|
+
|
|
178
|
+
# CSV / JSON export
|
|
179
|
+
redforge report example.com --scope scope.json --format csv
|
|
180
|
+
redforge report example.com --scope scope.json --format json
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Web dashboard
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
redforge-web --scope scope.json --host 127.0.0.1 --port 5000
|
|
187
|
+
# open http://127.0.0.1:5000
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 🧠 Architecture
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
redforge/
|
|
196
|
+
├── redforge/
|
|
197
|
+
│ ├── cli.py # argparse CLI
|
|
198
|
+
│ ├── core/ # scope enforcement, SQLite store, reports, runner, scheduler
|
|
199
|
+
│ ├── recon/ # subdomains, dns, endpoints, takeover, headers, ports
|
|
200
|
+
│ ├── vuln/ # cve, config_audit, tls_scan, secrets
|
|
201
|
+
│ ├── compliance/ # cis, password
|
|
202
|
+
│ ├── defense/ # log_analyzer, ioc
|
|
203
|
+
│ ├── pentest/ # exploit_sdk (scope-gated), auth_tester
|
|
204
|
+
│ └── webapp/ # Flask dashboard
|
|
205
|
+
├── tests/ # pytest suite (38 tests)
|
|
206
|
+
├── docs/legal-compliance.md
|
|
207
|
+
└── scope.example.json
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## 🔬 Testing
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
pip install -e . pytest
|
|
214
|
+
pytest tests/ -v
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Continuous integration runs the suite across Python 3.10/3.11/3.12 on every push and pull request (see `/.github/workflows/ci.yml`).
|
|
218
|
+
|
|
219
|
+
[](https://github.com/Grantgazvoda-alt/redforge/actions/workflows/ci.yml)
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## ⚖️ Ethics & Responsible Use
|
|
224
|
+
|
|
225
|
+
- **Scope enforcement is built in.** Every network-facing tool calls `Scope.require()` and raises `PermissionError` on out-of-scope targets.
|
|
226
|
+
- **The pentest SDK is deliberately non-malicious.** It generates inert strings and benign demos only — no working malware, persistence, or data exfiltration. Reverse-shell generation is a warning-gated, disabled stub. Real shells are never emitted.
|
|
227
|
+
- **You are responsible for where you point it.** RedForge is a tool; the legality of your actions is determined by your authorization.
|
|
228
|
+
- **Run authorized engagements only.** Point it at systems you own or have written permission to test — and nothing else.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 📄 License
|
|
233
|
+
|
|
234
|
+
Proprietary / internal use. See [`docs/legal-compliance.md`](docs/legal-compliance.md) for the liability disclaimer and authorization requirements.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
<sub>Built by the RedForge team — GrantGazvoda-alt</sub>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "redforge-sec"
|
|
7
|
+
version = "0.2.0"
|
|
8
|
+
description = "Security Operations Platform — legit pentest, vuln, compliance, and defense tooling. Scope-enforced."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = {text = "Proprietary"}
|
|
12
|
+
authors = [{name = "RedForge Team", email = "redforge@users.noreply.github.com"}]
|
|
13
|
+
keywords = ["security", "pentest", "vulnerability", "compliance", "red-team", "scope-enforced"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 4 - Beta",
|
|
16
|
+
"Intended Audience :: Information Technology",
|
|
17
|
+
"Operating System :: OS Independent",
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.9",
|
|
20
|
+
"Programming Language :: Python :: 3.10",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Topic :: Security",
|
|
24
|
+
]
|
|
25
|
+
dependencies = ["httpx>=0.24.0", "dnspython>=2.3.0", "flask>=3.0.0"]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
Homepage = "https://github.com/Grantgazvoda-alt/redforge"
|
|
29
|
+
Repository = "https://github.com/Grantgazvoda-alt/redforge"
|
|
30
|
+
Documentation = "https://github.com/Grantgazvoda-alt/redforge"
|
|
31
|
+
|
|
32
|
+
[project.scripts]
|
|
33
|
+
redforge = "redforge.cli:main"
|
|
34
|
+
redforge-web = "redforge.webapp.app:main"
|
|
35
|
+
|
|
36
|
+
[tool.setuptools.packages.find]
|
|
37
|
+
include = ["redforge*"]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"""RedForge — Security Operations Platform.
|
|
2
|
+
|
|
3
|
+
A legitimate offensive + defensive security platform: penetration testing,
|
|
4
|
+
vulnerability assessment, red-team automation, bug-bounty tooling, compliance
|
|
5
|
+
auditing, and defensive monitoring. Scope is strictly limited to assets the
|
|
6
|
+
user owns or is explicitly authorized to test.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
__version__ = "0.2.0"
|