
Orchestratore di ricognizione di rete conforme alle regole OSCP per la scoperta delle porte, la classificazione dei servizi e la distribuzione di plugin di sola enumerazione su HTTP, SMB, FTP, SNMP, SSH e altri ancora.
ARCHIVIATO. Questo progetto è stato spostato in
custom-oscp-tooling. Tutto il codice di Cantina ora vive lì, insieme alla suite di strumenti Star Wars enum/advisor. Questo repository è mantenuto in sola lettura per motivi storici.
- Nuova sede: https://gitlab.com/WattoCyber/custom-oscp-tooling
- Esecuzione:
python tools/cantina.pyda quel repository

| Cos'è | Cantina è un orchestratore di recon di rete conforme a OSCP. Scoperta delle porte, enumerazione dei servizi e dispatch dei plugin. Nessuno sfruttamento. Nessuna esecuzione automatica di credential spray. |
| A chi è rivolto | Studenti OSCP e operatori di laboratorio che vogliono un'orchestrazione di recon di sola enumerazione con dispatch dei plugin e log di audit. |
| Cosa non è | Non è un framework di sfruttamento. Nessuna esecuzione automatica di credential spray. Solo enumerazione su target autorizzati e proprio laboratorio. |
Cantina è un orchestratore di recon di rete conforme a OSCP. Scoperta delle porte, enumerazione dei servizi e dispatch dei plugin. Nessuno sfruttamento. Nessuna esecuzione automatica di credential spray.
quick / full / udp / vuln / recon / all / deep)_commands.log, HTML/JSON opzionalenmap e gli strumenti di servizio richiamati dai plugin quando presenti# elenca i plugin (nessuna scansione)
python tools/cantina.py --list-plugins
# singolo host
python tools/cantina.py 10.10.10.5 -t quick
# recon con scansione completa + plugin
python tools/cantina.py 10.10.10.5 -t recon \
--force-services tcp/80/http tcp/445/smb tcp/22/ssh \
-o ./out -j
# multi-target concorrente
python tools/cantina.py -T hosts.txt -t all --max-workers 3 --timeout 90
CLI silenziosa (senza banner): python tools/cantina.py TARGET -q
Inserisci un modulo sotto plugins/ (o --plugins-dir):
PLUGIN = {
"name": "my_enum",
"services": ["ftp"],
"ports": [21],
"enabled": True,
"replaces_builtin": True,
"description": "FTP enum (solo enum)",
"legal": "solo enumerazione; conforme a OSCP; nessuna esecuzione automatica di exploit/spray",
}
def match(signals):
return signals.get("svc_type") == "ftp" or int(signals.get("port") or 0) == 21
def run(ctx):
art = ctx.port_dir / "plugin_my_enum.txt"
art.write_text(f"nota di enum per {ctx.target}:{ctx.port}\n")
return {"ok": True, "artifact": str(art)}
replaces_builtin: True salta il vecchio ramo monorepo per quel servizio, così non esegui due volte.
pip install -e ".[dev]" # oppure: pip install pytest
python -m pytest tests/ -q
# atteso: exit 0
Capacità primaria senza un target live:
python cantina.py --list-plugins
# atteso: nomi dei plugin stampati, exit 0
Solo enumerazione. Solo target autorizzati e proprio laboratorio / ambito esame OSCP. Sei responsabile dell'ambito.
tools/ Strumenti CLI (esegui con: python tools/<tool>.py)
cantina.py CLI + orchestratore
cantina_plugins.py scoperta / selezione / esecuzione
plugins/ Plugin di enumerazione dei servizi
assets/banner.txt Banner del terminale CLI
banner.jpg Immagine hero del README
tests/ Test unitari (strumenti stub)
lab/ Ground truth opzionale del laboratorio multi-servizio
fixtures/ Fixture di parsing nmap