
Auditor defensivo de exposição para Plex2Shell e php2shell — encontre os seus antes que eles encontrem você.
____ _ _ _____ _ _ ____ ____ _____ ______
/ ___|| | | | ____| | | | / ___| / ___|| _ \| ____|
\___ \| |_| | _| | | | | \___ \| | | |_) | |__
___) | _ | |___| |___ | |___ ___) | |___ | _ <| __|
|____/|_| |_|_____|_____|_____||____/ \____||_| \_\_____|
Auditor de exposição 2shell — encontre os seus antes que eles encontrem você.
O shellscope verifica uma rede autorizada em busca de dois clusters de CVE de 2026:
session.upload_progress)Ele lê banners de versão e cabeçalhos HTTP. Ele não explora, autentica, faz upload nem aciona o bug de memória.
pipx install shellscope
# or
python -m pip install shellscope
Aviso: Este projeto é destinado exclusivamente a fins educacionais e de pesquisa em segurança. Ele foi criado para ajudar pesquisadores de segurança, desenvolvedores e administradores de sistemas a entender e detectar vulnerabilidades em implantações do Ollama. Não o utilize para atividades não autorizadas. Sempre obtenha permissão explícita antes de testar qualquer sistema que não seja de sua propriedade.
O Ollama-Scan detecta os seguintes tipos de vulnerabilidades:
git clone https://github.com/yourusername/ollama-scan.git
cd ollama-scan
pip install -r requirements.txt
Verifique um único alvo:
python ollama-scan.py -t example.com
Verifique vários alvos a partir de um arquivo:
python ollama-scan.py -f targets.txt
Uso: ollama-scan.py [OPÇÕES]
Opções:
-h, --help mostrar esta mensagem de ajuda e sair
-t, --target TARGET alvo único para verificar (domínio ou IP)
-f, --file FILE arquivo contendo a lista de alvos (um por linha)
-p, --port PORT porta para verificar (padrão: 11434)
-o, --output FILE salvar resultados em um arquivo
-v, --verbose habilitar saída detalhada
--timeout TIMEOUT tempo limite da solicitação em segundos (padrão: 10)
--threads THREADS número de threads simultâneas (padrão: 10)
Verificar um alvo em uma porta específica:
python ollama-scan.py -t 192.168.1.100 -p 11434
Verificar vários alvos com saída detalhada:
python ollama-scan.py -f targets.txt -v
Salvar resultados em um arquivo:
python ollama-scan.py -t example.com -o results.txt
O scanner fornece saída colorida com os seguintes indicadores:
Exemplo de saída:
[+] Verificando example.com:11434...
[!] API Ollama exposta detectada em example.com:11434
[!] Modelos acessíveis sem autenticação
[!] Configuração incorreta de CORS detectada
[+] Verificação concluída
python -m pip install -e ".[dev]"
# prove the install works, no network traffic
shellscope --self-test
# see what would be scanned
shellscope --cidr 192.168.1.0/24 --dry-run
# audit your network
shellscope --cidr 10.0.0.0/24 --authorized
# inventory CSV: host,port,owner,environment
shellscope --inventory-csv assets.csv --authorized --html report.html
# CI gate
shellscope --inventory-csv assets.csv --authorized --fail-on high --quiet
--authorized é obrigatório para uma varredura real. É a sua declaração de que você é proprietário da
rede ou tem permissão por escrito para testá-la.
| Conjunto de CVEs | Sonda | Veredito |
|---|---|---|
| Plex2Shell | GET /identity → version | < 1.43.3.10861 → CRITICAL |
| php2shell | GET / → Server, X-Powered-By, PHPSESSID | Apache + PHP abaixo da versão corrigida → HIGH |
| php2shell | o mesmo | nginx/LiteSpeed + abaixo da versão corrigida → MEDIUM |
| php2shell | o mesmo | Apache + versão oculta → MEDIUM (verificar) |
| — | porta aberta, sem fingerprint | INFO |
Versões corrigidas do PHP (baseadas em vazamento até o aviso oficial): 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12.
A divisão HIGH/MEDIUM é intencional: o bug php2shell remanescente é reportado como
Apache prefork + mod_php apenas, não como um RCE genérico de PHP.
--out audit.csv — uma linha por achado (padrão shellscope-results.csv)--json audit.json — metadados + achados--html audit.html — relatório escuro e autocontido com filtro e ordenação$ shellscope --cidr 127.0.0.1/32 --ports 32400,8888 --force-checks --authorized
[scope] 1 assets / 2 checks
CRITICAL 127.0.0.1:32400 Plex Media Server 1.43.2.10664 Vulnerable to Plex2Shell
HIGH 127.0.0.1:8888 PHP 8.2.34 PHP 8.2.34 < 8.2.35 on Apache
SUMMARY
CRITICAL 1 #
HIGH 1 #
TOTAL 2
--authorized é obrigatório para uma varredura real.--allow-public.--max-hosts, --workers e --delay limitam a varredura.Use apenas em redes que você possui ou tem permissão por escrito para testar. Um escopo de bug bounty não é uma licença para escanear a internet; ele autoriza os ativos listados sob as regras desse programa.
Server pode descrever o Cloudflare, não a build do PHP.X-Powered-By costuma estar desabilitado. Um cabeçalho ausente não é prova de correção.| Código | Significado |
|---|---|
| 0 | Varredura concluída, sem achados em/ou acima de --fail-on |
| 1 | Achados em/ou acima de --fail-on |
| 2 | Proteção de uso ou autorização |
python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check src tests
python -m shellscope --self-test
MIT. Apenas para uso autorizado.