
Scanner di vulnerabilità multi-motore con motori integrati Nuclei Lite, Afrog e XRay. Include scoperta di asset tramite FOFA/Shodan, rilevamento di interazioni OOB, sistema di plugin Python e gestione dei risultati in tempo reale per operazioni di red team.
OmniScan è uno scanner di vulnerabilità leggero e multi-motore basato su Python, progettato per operazioni Red Team e ricerca sulla sicurezza. Integra non solo il motore Nuclei Lite e il motore Afrog, ma offre anche potenti funzionalità di raccolta asset e gestione dei risultati.
simpleeval al posto di eval ed esegue le espressioni DSL in un ambiente sandbox per prevenire l'esecuzione di codice da template malevoli.{{lang-file}} -> etc/passwd), supporta Fuzzing intelligente.hmac, gzip, reverse, rand_base, ecc.).flow e req-condition.cookie-reuse e il controllo dei reindirizzamenti redirects.Interactsh integrato, gestisce automaticamente le vulnerabilità senza risposta diretta (es. Blind RCE, SSRF).tqdm integrata, mostra in tempo reale l'avanzamento di ogni plugin su ogni target.BasePlugin e implementare il metodo check(url).git_config.py: Rileva esposizione di .git/configspring_boot.py: Rileva Spring Boot Actuatords_store.py: Rileva esposizione di .DS_Storephpinfo.py: Rileva pagina phpinfo()backup_files.py: Rileva file di backup comuni (.bak, .zip, ecc.)swagger_ui.py: Rileva documentazione Swagger UIcountry="CN").asyncio e aiohttp.interactsh-client. (Ho già caricato interactsh-client.zip, puoi decomprimerlo direttamente in questa directory)xxx.oast.pro).{{interactsh-url}} nei template con il payload ottenuto in tempo reale.Clona il repository:
git clone https://github.com/d3ckx1/OmniScan.git
cd omniscan
Installa le dipendenze:
pip3 install -r requirements.txt
Configura gli strumenti (Opzionale):
Afrog o XRay, assicurati che i rispettivi eseguibili siano nella directory principale del progetto o nel PATH di sistema.config.yml (Opzionale) per impostare le chiavi API e i parametri di scansione.Scansiona un singolo URL:
python3 omniscan.py -u http://example.com --tool lite -T ./templates/cve/
Cerca asset da FOFA e scansiona con il motore Nuclei Lite:
python3 omniscan.py -f 'app="SpringBoot"' --tool lite -T ./templates/spring-boot/
Leggi i target da urls.txt e scansiona:
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 xrayEsegui senza il parametro --tool per entrare in un menu interattivo di selezione dello strumento:
python3 omniscan.py -l urls.txt
Scansiona per vulnerabilità Blind RCE (Interactsh abilitato automaticamente):
python3 omniscan.py -l urls.txt --tool lite -T ./templates/blind-rce.yaml
Se viene rilevata un'interazione OOB, la console stamperà [OOB DETECTED] e registrerà la vulnerabilità.
Usa il motore Nuclei Lite e abilita tutti i plugin:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/ --plugins
Esegui solo i plugin Git Config e PHPInfo:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/ --plugin-file plugins/git_config.py,plugins/phpinfo.py
Non esegue scansione reale, controlla solo la compatibilità dei template:
python3 omniscan.py --classify-only --tool lite -T ./templates/
config.yml)app:
lite_timeout: 10 # Timeout richiesta (secondi)
lite_threads: 10 # Numero thread concorrenti
use_async: true # Abilita modalità asincrona
user_agents: # Pool User-Agent personalizzato
- "Mozilla/5.0..."
fofa:
email: "your_email"
key: "your_key"
shodan:
api_key: "your_key"
output:
formats: ["json", "csv", "html"] # Formati report
omniscan.py: Punto di ingresso principale del programma, gestisce analisi parametri e pianificazione attività.nuclei_lite.py: Motore principale Nuclei Lite, implementa l'analisi dei template YAML e la scansione.result_manager.py: Modulo di gestione risultati, gestisce deduplicazione e generazione report.database.py: Gestione database SQLite.config.py: Modulo di caricamento configurazione.D: Cosa significa [OOB DETECTED]?
R: Indica che lo scanner ha rilevato con successo un'interazione Out-of-Band. Di solito significa che il target ha attivato un callback DNS o HTTP, dimostrando l'esistenza di vulnerabilità come Blind RCE, SSRF o Blind SQLi.
D: Come configurare l'API FOFA/Shodan?
R: Puoi inserire le chiavi API nel file config.yml oppure impostarle tramite variabili d'ambiente FOFA_EMAIL, FOFA_KEY, SHODAN_API_KEY.
D: Quali sistemi operativi sono supportati? R: OmniScan è multipiattaforma e supporta Linux, macOS e Windows. Gli strumenti esterni (come afrog, interactsh-client) devono essere eseguibili nel sistema corrente.
MIT License
| Parametro | Descrizione | Esempio |
|---|
-u URL | Scansione di un singolo URL | -u http://example.com |
-f | Cerca asset con FOFA | -f 'country="CN"' |
-s | Cerca asset con Shodan | -s 'apache' |
-l FILE | Specifica file target locale | -l targets.txt |
-T TEMPLATE | Specifica percorso template Nuclei (file/directory) | -T ./templates/ |
--tool NAME | Specifica strumento di scansione (nuclei/afrog/xray/lite) | --tool lite |
--severity | Specifica livello di gravità (predefinito critical,high) | --severity high,medium |
--plugins | Abilita scansione plugin Python (scansiona directory plugins/) | --plugins |
--plugin-file FILE | Specifica file plugin da eseguire (separati da virgola) | --plugin-file plugins/test.py |
--new | Scansiona solo template appena rilasciati (richiede supporto Nuclei) | --new |
--no-resume | Disabilita ripresa da interruzione | --no-resume |
--verbose | Mostra log di debug dettagliati | --verbose |