You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.es.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ Este proyecto demuestra habilidades prácticas en:
42
42
- Diseño de tooling de seguridad con dashboard local, APIs autenticadas, logs, exportación y módulos separados
43
43
- Comunicación responsable en ciberseguridad con alcance legal, limitaciones documentadas, CI, guías de contribución y documentación bilingüe
44
44
45
-
Para demos, mantén `DASHBOARD_REDACT_CREDENTIALS` activado para que screenshots y respuestas API muestren datos redactados en vez de valores sensibles capturados. Las exportaciones CSV/reporte quedan desactivadas mientras este modo esta activo.
45
+
Para demos, mantén `DASHBOARD_REDACT_CREDENTIALS` activado para que screenshots, respuestas API y reportes eviten exponer datos sensibles capturados. La exportación CSV cruda queda desactivada mientras este modo está activo.
46
46
47
47
### Lo que Demuestra Este Proyecto
48
48
@@ -77,7 +77,7 @@ PhantomKit asume un laboratorio de corto alcance donde el operador controla el d
77
77
| Activo | Riesgo | Mitigación |
78
78
|---|---|---|
79
79
| Acceso al dashboard | Cliente local no autorizado controla módulos | Password separado, bloqueo de defaults, lockout, cookie HttpOnly |
80
-
| Entradas capturadas | Valores sensibles expuestos en demos/logs | Modo redactado, exports bloqueados en modo demo, redacción serial |
80
+
| Entradas capturadas | Valores sensibles expuestos en demos/logs | Modo redactado, reportes compatibles con redacción, CSV crudo bloqueado en modo demo, redacción serial |
81
81
| Artefactos almacenados | Datos LittleFS legibles con acceso físico | Emergency wipe, wipe por GPIO, limitación plaintext documentada |
82
82
| Redes cercanas | Disrupción accidental fuera de alcance | Documentos legales, alcance de uso, start/stop por módulo, checklist |
83
83
| Integridad de releases | Firmware local no revisado distribuido | Assets generados por GitHub Actions y checksums SHA-256 |
@@ -90,8 +90,11 @@ Los controles están documentados en [Seguridad por Diseño](docs/safety.es.md).
90
90
91
91
### Dashboard Web
92
92
- Control total desde cualquier dispositivo con navegador
93
+
- Wizard de auditoría con perfiles pasivo, portal autorizado y laboratorio completo
94
+
- Modo pasivo que bloquea módulos activos y mantiene escaneo/sniffer/reportes disponibles
93
95
- Captura de credenciales en tiempo real
94
96
- Logs de eventos en vivo con timestamp
97
+
- Reporte de sesión con alcance, contadores, hallazgos y log operativo
95
98
- SSID configurable sin reprogramar
96
99
- Operación autónoma sin internet ni servidor externo
97
100
@@ -101,7 +104,7 @@ Los controles están documentados en [Seguridad por Diseño](docs/safety.es.md).
101
104
|--------|-------------|---------|
102
105
| Evil Portal | Portal cautivo con 8 templates clonados | DNS Spoofing + Captive Portal |
103
106
| Deauth Attack | Desconecta dispositivos de una red objetivo | IEEE 802.11 Deauth Frames |
104
-
| Beacon Flood | Satura listas de redes con 50+ SSIDs falsos | Fake Beacon Frames |
107
+
| Beacon Flood | Satura listas de redes con SSIDs falsos rotativos| Fake Beacon Frames |
Copy file name to clipboardExpand all lines: README.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ This project demonstrates practical skills across:
42
42
- Security tooling design through a local dashboard, authenticated APIs, logging, export flows, and modular attack components
43
43
- Responsible security communication with legal scope, documented limitations, CI, contribution guidelines, and bilingual documentation
44
44
45
-
For demos, keep `DASHBOARD_REDACT_CREDENTIALS` enabled so screenshots and API responses show redacted sample values instead of sensitive captured data. CSV/report exports are disabled while this mode is active.
45
+
For demos, keep `DASHBOARD_REDACT_CREDENTIALS` enabled so screenshots, API responses, and reports avoid exposing sensitive captured data. CSV raw export stays disabled while this mode is active.
46
46
47
47
### What This Project Shows
48
48
@@ -77,7 +77,7 @@ PhantomKit assumes a short-range lab environment where the operator controls the
77
77
| Asset | Risk | Mitigation |
78
78
|---|---|---|
79
79
| Dashboard access | Unauthorized local client controls modules | Separate dashboard password, default-credential guard, lockout, HttpOnly session cookie |
80
-
| Captured inputs | Sensitive values exposed in demos/logs | Redacted dashboard/API mode, blocked exports while redacted, serial redaction |
80
+
| Captured inputs | Sensitive values exposed in demos/logs | Redacted dashboard/API mode, redaction-aware reports, blocked raw CSV while redacted, serial redaction |
81
81
| Stored artifacts | LittleFS data readable with physical access | Emergency wipe, GPIO wipe, documented plaintext limitation |
Copy file name to clipboardExpand all lines: docs/safety.es.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,9 @@ PhantomKit incluye funciones de simulación Wi-Fi que pueden interrumpir redes o
20
20
| Ruta separada para dashboard | El dashboard usa `/dashboard/login`; el portal cautivo usa `/login`| Evita mezclar autenticación del auditor con entrada del portal |
21
21
| Bloqueo de intentos local |`LOGIN_MAX_ATTEMPTS` + `LOGIN_LOCKOUT_MS`| Reduce riesgo de brute force local |
22
22
| Cookie de sesión endurecida | Cookie HttpOnly con `SameSite=Strict` y token regenerado tras login | Reduce exposición accidental de sesión |
23
+
| Modo pasivo de auditoría | El wizard habilita un perfil que bloquea deauth, beacon flood, evil twin, auto-attack, inicio de portal y karma | Permite observación y reportes sin disrupción RF activa |
23
24
| Modo demo redactado |`DASHBOARD_REDACT_CREDENTIALS` oculta valores crudos y desactiva exports | Hace seguras capturas de pantalla y demos públicas |
25
+
| Reportes compatibles con redacción | Los reportes incluyen alcance, contadores, hallazgos y logs mientras omiten campos crudos si la redacción está activa | Permite evidencia profesional sin filtrar secretos |
24
26
| Redacción en Serial |`SERIAL_REDACT_CREDENTIALS` oculta campos crudos en logs seriales | Evita filtraciones por monitor serial |
25
27
| Emergency wipe autenticado |`/api/panic` requiere sesión del dashboard | Evita borrado no autenticado por cualquier cliente del AP |
26
28
| Buffers acotados | Defaults más pequeños para probes, PMKIDs, targets y credenciales | Reduce presión de memoria y retención innecesaria |
@@ -32,10 +34,11 @@ Antes de cualquier demo o auditoría:
32
34
33
35
1. Confirmar autorización escrita y alcance.
34
36
2. Cambiar `AP_PASSWORD` y `DASHBOARD_PASSWORD`.
35
-
3. Mantener `DASHBOARD_REDACT_CREDENTIALS=1` para screenshots, portafolio y demos públicas.
36
-
4. Usar credenciales falsas o de entrenamiento cuando sea posible.
37
-
5. Detener módulos activos al terminar el ejercicio.
38
-
6. Ejecutar emergency wipe o wipe por GPIO antes de guardar, compartir o reutilizar el dispositivo.
37
+
3. Usar el perfil pasivo salvo que el alcance escrito autorice módulos activos.
38
+
4. Mantener `DASHBOARD_REDACT_CREDENTIALS=1` para screenshots, portafolio y demos públicas.
39
+
5. Usar credenciales falsas o de entrenamiento cuando sea posible.
40
+
6. Detener módulos activos al terminar el ejercicio.
41
+
7. Ejecutar emergency wipe o wipe por GPIO antes de guardar, compartir o reutilizar el dispositivo.
Copy file name to clipboardExpand all lines: docs/safety.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,9 @@ PhantomKit includes Wi-Fi security simulation features that can disrupt networks
20
20
| Separate dashboard route | Dashboard auth uses `/dashboard/login`; captive portal submissions use `/login`| Avoids confusing operator auth with portal input |
21
21
| Local login lockout |`LOGIN_MAX_ATTEMPTS` + `LOGIN_LOCKOUT_MS`| Reduces local brute-force risk |
22
22
| Session cookie hardening | HttpOnly cookie with `SameSite=Strict` and regenerated token after login | Reduces accidental session exposure |
23
+
| Passive audit mode | Audit wizard enables a profile that blocks deauth, beacon flood, evil twin, auto-attack, portal start, and karma | Allows observation and reporting without active RF disruption |
23
24
| Redacted demo mode |`DASHBOARD_REDACT_CREDENTIALS` blocks raw dashboard/API values and disables exports | Keeps portfolio screenshots and demos safe |
25
+
| Redaction-aware reports | Session reports include scope, counters, findings, and logs while omitting raw captured fields when redaction is enabled | Supports professional evidence without leaking secrets |
24
26
| Serial redaction |`SERIAL_REDACT_CREDENTIALS` hides raw captured fields in serial logs | Prevents raw secrets leaking through serial monitors |
25
27
| Authenticated emergency wipe |`/api/panic` requires dashboard session | Prevents unauthenticated data deletion by any AP client |
26
28
| Bounded capture buffers | Smaller defaults for probes, PMKIDs, targets, and credentials | Reduces memory pressure and limits unnecessary retention |
@@ -32,10 +34,11 @@ Before any demo or audit:
32
34
33
35
1. Confirm written authorization and scope.
34
36
2. Change `AP_PASSWORD` and `DASHBOARD_PASSWORD`.
35
-
3. Keep `DASHBOARD_REDACT_CREDENTIALS=1` for screenshots, portfolio material, and public demos.
36
-
4. Use fake or training credentials whenever possible.
37
-
5. Stop active modules when the exercise ends.
38
-
6. Run emergency wipe or hardware wipe before storing, sharing, or reusing the device.
37
+
3. Use the passive audit profile unless the written scope explicitly allows active modules.
38
+
4. Keep `DASHBOARD_REDACT_CREDENTIALS=1` for screenshots, portfolio material, and public demos.
39
+
5. Use fake or training credentials whenever possible.
40
+
6. Stop active modules when the exercise ends.
41
+
7. Run emergency wipe or hardware wipe before storing, sharing, or reusing the device.
When enabled, dashboard/API credential fields are redacted and CSV/report exports are blocked.
101
+
When enabled, dashboard/API credential fields are redacted and raw CSV export is blocked. Session reports remain available with sensitive fields omitted.
Copy file name to clipboardExpand all lines: docs/usage.es.md
+22-2Lines changed: 22 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,26 @@ Muestra en tiempo real todas las credenciales capturadas:
32
32
33
33
Muestra todos los eventos del sistema con timestamp.
34
34
35
+
## Wizard de Auditoría
36
+
37
+
La pestaña **Auditoría** permite fijar el alcance antes de iniciar módulos:
38
+
39
+
1. Selecciona un perfil:
40
+
-`passive`: bloquea deauth, beacon flood, evil twin, auto-attack, inicio de portal y karma.
41
+
-`portal`: prepara un ejercicio de portal cautivo autorizado sin activar deauth.
42
+
-`full`: habilita todos los módulos para laboratorio aislado.
43
+
2. Ingresa SSID/BSSID y canal autorizados cuando los conozcas.
44
+
3. Inicia la auditoría y revisa el log operativo.
45
+
4. Exporta el reporte de sesión antes de borrar artefactos.
46
+
47
+
El modo pasivo mantiene disponibles escaneos, probe sniffer, captura PMKID, reportes, logs y limpieza.
48
+
49
+
## Reportes
50
+
51
+
El reporte integrado incluye alcance actual, estado de modo pasivo, contadores, observaciones, estado de datos capturados y log operativo. Cuando `DASHBOARD_REDACT_CREDENTIALS` está activado, el reporte conserva conteos y metadatos de evidencia, pero no incluye campos capturados crudos.
52
+
53
+
La exportación CSV sigue bloqueada mientras la redacción está activa. Desactiva redacción solo dentro de un laboratorio autorizado cuando se requieren valores crudos.
54
+
35
55
## Módulos de Ataque
36
56
37
57
### 1. Portal (Captive Portal)
@@ -77,7 +97,7 @@ Muestra todos los eventos del sistema con timestamp.
77
97
4. Clic en **Detener** para limpiar
78
98
79
99
**Características:**
80
-
-50+ SSIDs predefinidos (algunos divertidos)
100
+
- SSIDs predefinidos rotativos con límite reducido para cuidar RAM
81
101
- Generación automática de BSSIDs
82
102
- Contador de beacons enviados en tiempo real
83
103
@@ -132,7 +152,7 @@ Muestra todos los eventos del sistema con timestamp.
132
152
3.**Activar Portal:** Activa el captive portal
133
153
4.**Esperar:** Las víctimas se conectan y ven el portal
134
154
5.**Capturar:** Las credenciales aparecen en el dashboard
135
-
6.**Documentar:**Copia las credenciales para el reporte
155
+
6.**Documentar:**Exporta el reporte de sesión y evita copiar valores crudos fuera del laboratorio
136
156
137
157
### Auditoría Avanzada
138
158
1.**Reconocimiento:** Usa Probe Sniffer para ver redes buscadas
-`portal`: prepares an authorized captive-portal exercise without enabling deauth.
33
+
-`full`: enables all modules for isolated lab use.
34
+
2. Enter the authorized SSID/BSSID and channel when known.
35
+
3. Start the audit and keep the live log visible.
36
+
4. Export the session report before wiping artifacts.
37
+
38
+
Passive mode still allows scans, probe sniffing, PMKID capture, reports, logs, and cleanup actions.
22
39
23
40
## Captive Portal
24
41
@@ -106,6 +123,8 @@ For professional awareness exercises, document:
106
123
- Remediation guidance
107
124
- Cleanup actions performed
108
125
126
+
The built-in report includes current scope, passive-mode state, counters, observations, captured-data status, and the operational log. When `DASHBOARD_REDACT_CREDENTIALS` is enabled, the report keeps counts and evidence metadata but does not include raw captured fields.
127
+
109
128
## Troubleshooting
110
129
111
130
### No networks appear during scan
@@ -122,4 +141,4 @@ For professional awareness exercises, document:
122
141
123
142
### Export returns 403
124
143
125
-
CSV/report export is intentionally blocked while `DASHBOARD_REDACT_CREDENTIALS` is enabled. Disable redaction only inside an authorized lab when raw values are required.
144
+
CSV export is intentionally blocked while `DASHBOARD_REDACT_CREDENTIALS` is enabled. The text report remains available with sensitive values redacted. Disable redaction only inside an authorized lab when raw values are required.
0 commit comments