
OSCP-konformer Netzwerk-Recon-Orchestrator für Port-Erkennung, Dienstklassifizierung und Enum-only-Plugin-Dispatch über HTTP, SMB, FTP, SNMP, SSH und mehr.
ARCHIVIERT. Dieses Projekt ist zu
custom-oscp-toolingumgezogen. Der gesamte Cantina-Code lebt jetzt dort, zusammen mit der Star-Wars-Enum/Advisor-Tool-Suite. Dieses Repo wird aus historischen Gründen schreibgeschützt aufbewahrt.
- Neue Heimat: https://gitlab.com/WattoCyber/custom-oscp-tooling
- Ausführen:
python tools/cantina.pyaus diesem Repo

| Was | Cantina ist ein OSCP-konformer Netzwerk-Recon-Orchestrator. Port-Erkennung, Service-Enum und Plugin-Dispatch. Keine Exploitation. Kein automatischer Credential-Spray-Lauf. |
| Für wen | OSCP-Studenten und Lab-Betreiber, die Enum-only-Netzwerk-Recon-Orchestrierung mit Plugin-Dispatch und Audit-Logs wünschen. |
| Was es nicht ist | Kein Exploitation-Framework. Kein automatischer Credential-Spray-Lauf. Nur Enumeration auf autorisierten Zielen und im eigenen Lab. |
Cantina ist ein OSCP-konformer Netzwerk-Recon-Orchestrator. Port-Erkennung, Service-Enum und Plugin-Dispatch. Keine Exploitation. Kein automatischer Credential-Spray-Lauf.
quick / full / udp / vuln / recon / all / deep)_commands.log-Audit, optional HTML/JSONnmap und Service-Tools, die Plugins bei Vorhandensein aufrufen# Plugins auflisten (kein Scan)
python tools/cantina.py --list-plugins
# Einzelner Host
python tools/cantina.py 10.10.10.5 -t quick
# Recon mit Vollscan + Plugins
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 parallel
python tools/cantina.py -T hosts.txt -t all --max-workers 3 --timeout 90
Ruhige CLI (ohne Banner): python tools/cantina.py TARGET -q
Lege ein Modul unter plugins/ ab (oder --plugins-dir):
PLUGIN = {
"name": "my_enum",
"services": ["ftp"],
"ports": [21],
"enabled": True,
"replaces_builtin": True,
"description": "FTP-Enum (nur Enum)",
"legal": "nur Enumeration; OSCP-sicher; kein Exploit/Spray-Autolauf",
}
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"Enum-Notiz für {ctx.target}:{ctx.port}\n")
return {"ok": True, "artifact": str(art)}
replaces_builtin: True überspringt den alten Monorepo-Zweig für diesen Dienst, damit du nicht doppelt ausführst.
pip install -e ".[dev]" # oder: pip install pytest
python -m pytest tests/ -q
# erwartet: Exit 0
Primäre Fähigkeit ohne Live-Ziel:
python cantina.py --list-plugins
# erwartet: Plugin-Namen werden ausgegeben, Exit 0
Nur Enumeration. Nur autorisierte Ziele und eigenes Lab / OSCP-Prüfungsumfang. Du bist für den Umfang verantwortlich.
tools/ CLI-Tools (ausführen mit: python tools/<tool>.py)
cantina.py CLI + Orchestrator
cantina_plugins.py entdecken / auswählen / ausführen
plugins/ Service-Enum-Plugins
assets/banner.txt CLI-Terminal-Banner
banner.jpg README-Hero-Bild
tests/ Unit-Tests (gestubbte Tools)
lab/ optionale Multi-Service-Lab-Ground-Truth
fixtures/ nmap-Parse-Fixtures