
Orquestrador de reconhecimento de rede permitido no OSCP para descoberta de portas, classificação de serviços e despacho de plugins exclusivamente de enumeração em HTTP, SMB, FTP, SNMP, SSH e muito mais.
ARQUIVADO. Este projeto foi movido para
custom-oscp-tooling. Todo o código do Cantina agora vive lá, junto com o conjunto de ferramentas de enumeração/advisor do Star Wars. Este repositório é mantido somente leitura por motivos históricos.
- Novo endereço: https://gitlab.com/WattoCyber/custom-oscp-tooling
- Executar:
python tools/cantina.pya partir desse repositório

| O que é | Cantina é um orquestrador de reconhecimento de rede compatível com OSCP. Descoberta de portas, enumeração de serviços e despacho de plugins. Sem exploração. Sem execução automática de spray de credenciais. |
| Para quem é | Estudantes de OSCP e operadores de laboratório que desejam orquestração de reconhecimento de rede somente com enumeração, despacho de plugins e logs de auditoria. |
| O que não é | Não é um framework de exploração. Sem execução automática de spray de credenciais. Enumeração apenas em alvos autorizados e no próprio laboratório. |
Cantina é um orquestrador de reconhecimento de rede compatível com OSCP. Descoberta de portas, enumeração de serviços e despacho de plugins. Sem exploração. Sem execução automática de spray de credenciais.
quick / full / udp / vuln / recon / all / deep)_commands.log, HTML/JSON opcionalnmap e ferramentas de serviço que os plugins chamam quando presentes# listar plugins (sem scan)
python tools/cantina.py --list-plugins
# host único
python tools/cantina.py 10.10.10.5 -t quick
# recon com scan completo + 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-alvo concorrente
python tools/cantina.py -T hosts.txt -t all --max-workers 3 --timeout 90
CLI silenciosa (sem banner): python tools/cantina.py TARGET -q
Coloque um módulo em plugins/ (ou --plugins-dir):
PLUGIN = {
"name": "my_enum",
"services": ["ftp"],
"ports": [21],
"enabled": True,
"replaces_builtin": True,
"description": "Enumeração FTP (somente enumeração)",
"legal": "somente enumeração; seguro para OSCP; sem execução automática de 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 de enumeração para {ctx.target}:{ctx.port}\n")
return {"ok": True, "artifact": str(art)}
replaces_builtin: True ignora o antigo ramo do monorepo para aquele serviço, evitando execução duplicada.
pip install -e ".[dev]" # ou: pip install pytest
python -m pytest tests/ -q
# esperado: exit 0
Capacidade principal sem alvo ativo:
python cantina.py --list-plugins
# esperado: nomes dos plugins impressos, exit 0
Somente enumeração. Apenas alvos autorizados e próprio laboratório / escopo do exame OSCP. Você é responsável pelo escopo.
tools/ Ferramentas CLI (executar com: python tools/<ferramenta>.py)
cantina.py CLI + orquestrador
cantina_plugins.py descobrir / selecionar / executar
plugins/ Plugins de enumeração de serviços
assets/banner.txt Banner do terminal CLI
banner.jpg Imagem principal do README
tests/ Testes unitários (ferramentas simuladas)
lab/ Ground truth opcional de laboratório multi-serviço
fixtures/ Fixtures de parse do nmap