CTFR-Reloaded
Herramienta de enumeracion de subdominios 100% gratuita — sin API keys, sin registro, sin costo.
Desarrollado por MrGuillote.
| CLI + TUI | Dashboard web | Consola en vivo |
|---|---|---|
| 8 fuentes CT gratuitas | Stats, scores y export | Logs SSE durante el scan |
| DNS, HTTP, takeover, TLS, CDN | Tabla filtrable y ordenable | Mismo motor que la terminal |
Uso etico: escanea solo dominios sobre los que tengas autorizacion.
Inicio rapido
pip install ctfr-reloaded
| Que queres hacer | Comando |
|---|---|
| Scan en terminal | ctfr-reloaded -d ejemplo.com |
| Scan completo | ctfr-reloaded -d ejemplo.com --resolve --alive --takeover --tls --cdn --tqdm |
| Dashboard web | python -m ctfr_reloaded serve → http://127.0.0.1:9473/ |
| Reporte HTML / PDF | ctfr-reloaded -d ejemplo.com -o reporte.html |
| Burp Suite | ctfr-reloaded -d ejemplo.com --burp |
Si clonaste el repo, tambien podes usar
python ctfr.pyen lugar dectfr-reloaded.
Demo
Capturas reales con osint.com.ar: todas las fuentes, resolucion DNS, comprobacion HTTP, takeover, TLS, CDN y scoring.
Terminal
CLI con colores, logs por fuente y barras de progreso
ctfr-reloaded -d ejemplo.com --source all --resolve --alive --takeover --tls --cdn --tqdm -v
Salida completa de ejemplo: docs/demo-terminal.txt.
Dashboard web
Tarjetas de resumen, distribucion de scores, keywords y tabla interactiva
python -m ctfr_reloaded serve
# → http://127.0.0.1:9473/
Consola de actividad
Panel lateral LOG con streaming en tiempo real (fuentes, DNS, HTTP, scoring…)
Instalacion
pip (PyPI)
pip install ctfr-reloaded
Un solo paquete con todo incluido: terminal, dashboard web, export HTML/PDF/JSON/CSV y modo Burp. No hace falta instalar extras.
Desde GitHub
git clone https://github.com/MrGuillote/ctfr-reloaded.git
cd ctfr-reloaded
pip install -e ".[dev]"
Docker (GHCR)
docker pull ghcr.io/mrguillote/ctfr-reloaded:latest
docker run --rm ghcr.io/mrguillote/ctfr-reloaded:latest -d ejemplo.com
Fuentes gratuitas (8)
| Fuente | Flag | Notas |
|---|---|---|
| crt.sh | crtsh |
Lento, a veces 404/timeout |
| crt.name | crtname |
Rapido, recomendado |
| Certspotter | certspotter |
|
| HackerTarget | hackertarget |
|
| Wayback Machine | wayback |
|
| Anubis | anubis |
|
| Bufferover | bufferover |
|
| RapidDNS | rapiddns |
|
| Todas | all (default) |
Uso
Scan basico
ctfr-reloaded -d ejemplo.com
Scan FULL
Todas las fuentes + DNS + HTTP + takeover + TLS + CDN + score + reporte HTML:
ctfr-reloaded -d ejemplo.com \
--source all \
--resolve --alive --takeover --tls --cdn \
--tqdm -v \
--history \
-o reporte.html --format html
Equivalente en una linea:
ctfr-reloaded -d ejemplo.com --source all --resolve --alive --takeover --tls --cdn --tqdm -v --history -o reporte.html --format html
Salida JSON:
ctfr-reloaded -d ejemplo.com --source all --resolve --alive --takeover --tls --cdn --tqdm -j -o resultados.json
Mas ejemplos
# Recon con barra de progreso
ctfr-reloaded -d ejemplo.com --resolve --alive --takeover --tls --cdn --tqdm
# TUI interactivo
ctfr-reloaded -d ejemplo.com --tui
# Watch con alertas Discord
ctfr-reloaded -d ejemplo.com --watch --interval 1800 \
--discord-webhook "https://discord.com/api/webhooks/..."
# Pipeline
ctfr-reloaded -d ejemplo.com --pipe | httpx -silent
Burp Suite
# 1. Abrir Burp (proxy en 127.0.0.1:8080)
# 2. Ejecutar
ctfr-reloaded -d ejemplo.com --burp
--burp configura el proxy, activa --resolve + --alive y exporta ejemplo.com-burp.txt con URLs listas para importar.
En Burp: Target → Scope → Add → Paste URL(s).
# Solo URLs por consola
ctfr-reloaded -d ejemplo.com --burp --pipe
# Poblar site map con httpx via Burp
ctfr-reloaded -d ejemplo.com --burp --with httpx
Features
| Feature | Flag |
|---|---|
| Burp Suite | --burp |
| Barra tqdm | --tqdm |
| TUI interactivo | --tui |
| Export PDF | -o reporte.pdf |
| Webhook Discord | --discord-webhook URL |
| Webhook Telegram | --telegram-token + --telegram-chat-id |
| Takeover detection | --takeover |
| Historial SQLite | --history |
| Monitoreo | --watch --interval SEC |
| Desactivar score | --no-score |
Score (priorizacion)
Cada subdominio recibe un score de 0 a 100 para ordenar resultados. No es un nivel de riesgo real — es una heuristica de prioridad para pentest u OSINT.
| Factor | Puntos |
|---|---|
| Base | +10 |
Keyword interesante (api, dev, mail, admin, git, etc.) |
+15 por match |
Resuelve DNS (--resolve) |
+10 |
Responde HTTP (--alive) |
+20 |
Posible subdomain takeover (--takeover) |
+50 |
Deteccion CDN (--cdn) |
+5 |
Info TLS (--tls) |
+5 |
| Nombre corto (apex) | +5 |
Ejemplo sin flags extra:
api.ejemplo.com → 25 (10 + keyword "api")
dev.ejemplo.com → 25 (10 + keyword "dev")
ejemplo.com → 15 (10 + nombre corto)
www.ejemplo.com → 10 (solo base)
Para desactivar el calculo: --no-score.
Dashboard web y API local
python -m ctfr_reloaded serve
# → http://127.0.0.1:9473/
Servidor local en tu PC — no requiere API keys ni servicios externos.
| URL | Descripcion |
|---|---|
| http://127.0.0.1:9473/ | Dashboard — formulario, stats, tabla interactiva |
| http://127.0.0.1:9473/docs | Swagger (endpoints REST) |
| http://127.0.0.1:9473/scan?domain=ejemplo.com | Scan JSON basico |
| http://127.0.0.1:9473/health | Estado del servidor |
Puerto configurable: python -m ctfr_reloaded serve --port 8080
El reporte -o reporte.html usa el mismo diseno visual. Ver capturas en Demo.
Contribuir
Ver CONTRIBUTING.md para setup, tests y pull requests.
Encontraste un bug? Abri un issue.
Licencia
GPL v3 — LICENSE
Metadata
Release files for ctfr-reloaded 4.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ctfr_reloaded-4.2.3.tar.gz | 56.3 kB | Without provenance | Details for ctfr_reloaded-4.2.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ctfr_reloaded-4.2.3-py3-none-any.whl | Python 3 | none | any | Details for ctfr_reloaded-4.2.3-py3-none-any.whl |
Total release size: 114.4 kB
Release files / ctfr_reloaded-4.2.3.tar.gz
| Download URL | ctfr_reloaded-4.2.3.tar.gz |
|---|---|
| Size | 56.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55233556066037e4c0038a559d95af3c7b3dcd9027d1598794a72b2634a682db
|
|
BLAKE2b-256 checksum How to use checksums |
7b9b4a9b1beb1c1fdf7f31d8f451a4d6d81b6281a29e2fa6d71b2f7a811fc06c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / ctfr_reloaded-4.2.3-py3-none-any.whl
| Download URL | ctfr_reloaded-4.2.3-py3-none-any.whl |
|---|---|
| Size | 58.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a7f210971a313164251f071477aa0641a8c5a3f386daae5dacf6b338bc2b7b49
|
|
BLAKE2b-256 checksum How to use checksums |
4669ca92f6c188aa2ac7338d9e9fc4ab8f145823c752a786e5ac75817dd046a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Security for ctfr-reloaded 4.2.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.