
Scanner de vulnerabilidades multi-motor com mecanismos Nuclei Lite, Afrog e XRay integrados. Inclui descoberta de ativos via FOFA/Shodan, detecção de interação OOB, sistema de plugins Python e gerenciamento de resultados em tempo real para operações de red team.
OmniScan é um scanner de vulnerabilidades leve e multi-motor baseado em Python, projetado para operações de Red Team e pesquisa de segurança. Ele não apenas integra o motor leve Nuclei Lite e o motor Afrog, mas também fornece recursos poderosos de coleta de ativos e gerenciamento de resultados.
simpleeval em vez de eval e executa expressões DSL em um ambiente sandbox para evitar execução de código por modelos maliciosos.{{lang-file}} -> etc/passwd), suportando Fuzzing inteligente.hmac, gzip, reverse, rand_base, etc.).flow e req-condition.cookie-reuse e controle de redirecionamento redirects.Interactsh integrado, lida automaticamente com vulnerabilidades sem retorno (ex: Blind RCE, SSRF).tqdm integrada, exibindo em tempo real o progresso da varredura de cada plugin em cada alvo.BasePlugin e implementar o método check(url).git_config.py: Detecta vazamento de .git/configspring_boot.py: Detecta Spring Boot Actuatords_store.py: Detecta vazamento de .DS_Storephpinfo.py: Detecta página phpinfo()backup_files.py: Detecta arquivos de backup comuns (.bak, .zip, etc.)swagger_ui.py: Detecta documentação Swagger UIcountry="CN").asyncio e aiohttp.interactsh-client. (Já enviei o interactsh-client.zip, você pode descompactá-lo diretamente neste diretório)xxx.oast.pro).{{interactsh-url}} no modelo pelo Payload obtido em tempo real.Clonar o Repositório:
git clone https://github.com/d3ckx1/OmniScan.git
cd omniscan
Instalar Dependências:
pip3 install -r requirements.txt
Configurar Ferramentas (Opcional):
Afrog ou XRay, certifique-se de que os respectivos executáveis estão no diretório raiz do projeto ou no PATH do sistema.config.yml (opcional) para definir chaves de API e parâmetros de varredura.Varrer uma única URL:
python3 omniscan.py -u http://example.com --tool lite -T ./templates/cve/
Pesquisar ativos no FOFA e varrer com o motor Nuclei Lite:
python3 omniscan.py -f 'app="SpringBoot"' --tool lite -T ./templates/spring-boot/
Ler alvos de urls.txt e varrer:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/cve/
python3 omniscan.py -l urls.txt --tool lite -T ./templates/python3 omniscan.py -l urls.txt --tool afrogpython3 omniscan.py -l urls.txt --tool xrayExecute sem o parâmetro --tool para entrar em um menu interativo de seleção de ferramenta:
python3 omniscan.py -l urls.txt
Varrer vulnerabilidades Blind RCE (Interactsh habilitado automaticamente):
python3 omniscan.py -l urls.txt --tool lite -T ./templates/blind-rce.yaml
Se uma interação OOB for detectada, o console exibirá [OOB DETECTED] e registrará a vulnerabilidade.
Usar o motor Nuclei Lite e habilitar todos os plugins:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/ --plugins
Executar apenas os plugins Git Config e PHPInfo:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/ --plugin-file plugins/git_config.py,plugins/phpinfo.py
Não realizar varredura real, apenas verificar a compatibilidade do modelo:
python3 omniscan.py --classify-only --tool lite -T ./templates/
config.yml)app:
lite_timeout: 10 # Tempo limite de requisição (segundos)
lite_threads: 10 # Número de threads concorrentes
use_async: true # Habilitar modo assíncrono
user_agents: # Pool de User-Agent personalizado
- "Mozilla/5.0..."
fofa:
email: "your_email"
key: "your_key"
shodan:
api_key: "your_key"
output:
formats: ["json", "csv", "html"] # Formatos de relatório
omniscan.py: Ponto de entrada principal do programa, responsável pela análise de parâmetros e agendamento de tarefas.nuclei_lite.py: Motor principal do Nuclei Lite, implementa análise e varredura de modelos YAML.result_manager.py: Módulo de gerenciamento de resultados, lida com deduplicação e geração de relatórios.database.py: Gerenciamento do banco de dados SQLite.config.py: Módulo de carregamento de configuração.P: O que significa [OOB DETECTED]?
R: Isso indica que o scanner detectou com sucesso uma interação fora da banda (Out-of-Band Interaction). Geralmente significa que o alvo acionou um callback DNS ou HTTP, confirmando a presença de vulnerabilidades como Blind RCE, SSRF ou Blind SQLi.
P: Como configurar a API FOFA/Shodan?
R: Você pode preencher a chave da API no arquivo config.yml ou definir através das variáveis de ambiente FOFA_EMAIL, FOFA_KEY, SHODAN_API_KEY.
P: Quais sistemas operacionais são suportados? R: O Omniscan é multiplataforma, suporta Linux, macOS e Windows. Ferramentas externas (como afrog, interactsh-client) precisam ser executáveis no sistema atual.
MIT License
| Parâmetro | Descrição | Exemplo |
|---|
-u URL | Varrer uma única URL | -u http://example.com |
-f | Usar FOFA para pesquisar ativos | -f 'country="CN"' |
-s | Usar Shodan para pesquisar ativos | -s 'apache' |
-l FILE | Especificar arquivo de alvos local | -l targets.txt |
-T TEMPLATE | Especificar caminho do modelo Nuclei (arquivo/diretório) | -T ./templates/ |
--tool NAME | Especificar ferramenta de varredura (nuclei/afrog/xray/lite) | --tool lite |
--severity | Especificar níveis de severidade (padrão: critical,high) | --severity high,medium |
--plugins | Habilitar varredura com plugins Python (varre o diretório plugins/) | --plugins |
--plugin-file FILE | Especificar arquivo(s) de plugin específico(s) para executar (separados por vírgula) | --plugin-file plugins/test.py |
--new | Varrer apenas modelos recém-lançados (requer suporte do Nuclei) | --new |
--no-resume | Desabilitar retomada de ponto de interrupção | --no-resume |
--verbose | Exibir logs detalhados de depuração | --verbose |