
बहु-इंजन भेद्यता स्कैनर जिसमें अंतर्निहित Nuclei Lite, Afrog, और XRay इंजन शामिल हैं। इसमें FOFA/Shodan के माध्यम से संपत्ति खोज, OOB इंटरैक्शन डिटेक्शन, Python प्लगइन सिस्टम, और रेड टीम संचालन के लिए रीयल-टाइम परिणाम प्रबंधन की सुविधाएँ हैं।
OmniScan एक Python-आधारित हल्का, बहु-इंजन भेद्यता स्कैनर है, जिसे विशेष रूप से रेड टीम संचालन और सुरक्षा अनुसंधान के लिए डिज़ाइन किया गया है। यह न केवल हल्का Nuclei इंजन (Lite) और Afrog इंजन को एकीकृत करता है, बल्कि शक्तिशाली संपत्ति संग्रह और परिणाम प्रबंधन सुविधाएँ भी प्रदान करता है।
simpleeval का उपयोग eval के स्थान पर किया जाता है, और सैंडबॉक्स वातावरण में DSL अभिव्यक्तियाँ निष्पादित की जाती हैं, जिससे दुर्भावनापूर्ण टेम्पलेट कोड को चलने से रोका जा सके।{{lang-file}} -> etc/passwd) को स्वचालित रूप से पहचानें और भरें, स्मार्ट फ़ज़िंग का समर्थन करता है।hmac, gzip, reverse, rand_base आदि शामिल हैं)।flow और req-condition तर्क नियंत्रण का समर्थन करता है।cookie-reuse सत्र रखरखाव और redirects रीडायरेक्ट नियंत्रण का समर्थन करता है।Interactsh क्लाइंट, बिना प्रतिक्रिया वाली भेद्यता (जैसे Blind RCE, SSRF) को स्वचालित रूप से संभालता है।tqdm प्रगति बार, प्रत्येक लक्ष्य पर प्रत्येक प्लगइन की स्कैन प्रगति को वास्तविक समय में प्रदर्शित करता है।BasePlugin वर्ग से विरासत प्राप्त करें और check(url) विधि को लागू करें।git_config.py: .git/config लीक का पता लगाएंspring_boot.py: Spring Boot Actuator का पता लगाएंds_store.py: .DS_Store लीक का पता लगाएंphpinfo.py: phpinfo() पृष्ठ का पता लगाएंbackup_files.py: सामान्य बैकअप फ़ाइलों (.bak, .zip आदि) का पता लगाएंswagger_ui.py: Swagger UI दस्तावेज़ीकरण का पता लगाएंcountry="CN")।asyncio और aiohttp फ्रेमवर्क का उपयोग करता है।interactsh-client बाइनरी फ़ाइल डाउनलोड और प्रबंधित करता है। (मैंने interactsh-client.zip अपलोड कर दिया है, आप इसे सीधे इस निर्देशिका में अनज़िप कर सकते हैं।)xxx.oast.pro)।{{interactsh-url}} को वास्तविक समय में प्राप्त पेलोड से बदल देता है।रिपॉजिटरी क्लोन करें:
git clone https://github.com/d3ckx1/OmniScan.git
cd omniscan
निर्भरताएँ स्थापित करें:
pip3 install -r requirements.txt
उपकरण कॉन्फ़िगर करें (वैकल्पिक):
Afrog या XRay का उपयोग करते हैं, तो सुनिश्चित करें कि संबंधित निष्पादन योग्य फ़ाइलें प्रोजेक्ट रूट निर्देशिका या सिस्टम पथ में हैं।config.yml (वैकल्पिक) कॉन्फ़िगर करें।एकल URL स्कैन करें:
python3 omniscan.py -u http://example.com --tool lite -T ./templates/cve/
FOFA से संपत्ति खोजें और Nuclei Lite इंजन से स्कैन करें:
python3 omniscan.py -f 'app="SpringBoot"' --tool lite -T ./templates/spring-boot/
urls.txt से लक्ष्य पढ़ें और स्कैन करें:
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 xray--tool पैरामीटर के बिना चलाएं, इंटरैक्टिव मेनू में उपकरण चुनें:
python3 omniscan.py -l urls.txt
Blind RCE भेद्यता स्कैन करें (Interactsh स्वचालित रूप से सक्षम):
python3 omniscan.py -l urls.txt --tool lite -T ./templates/blind-rce.yaml
यदि OOB इंटरैक्शन का पता चलता है, तो कंसोल [OOB DETECTED] आउटपुट करेगा और भेद्यता रिकॉर्ड करेगा।
Nuclei Lite इंजन का उपयोग करें और सभी प्लगइन सक्षम करें:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/ --plugins
केवल Git Config और PHPInfo प्लगइन चलाएँ:
python3 omniscan.py -l urls.txt --tool lite -T ./templates/ --plugin-file plugins/git_config.py,plugins/phpinfo.py
वास्तविक स्कैन नहीं करें, केवल टेम्पलेट अनुकूलता जाँचें:
python3 omniscan.py --classify-only --tool lite -T ./templates/
config.yml)app:
lite_timeout: 10 # अनुरोध टाइमआउट (सेकंड)
lite_threads: 10 # समवर्ती थ्रेड्स की संख्या
use_async: true # एसिंक्रोनस मोड सक्षम करें
user_agents: # कस्टम User-Agent पूल
- "Mozilla/5.0..."
fofa:
email: "your_email"
key: "your_key"
shodan:
api_key: "your_key"
output:
formats: ["json", "csv", "html"] # रिपोर्ट प्रारूप
omniscan.py: मुख्य प्रोग्राम प्रवेश बिंदु, पैरामीटर पार्सिंग और कार्य शेड्यूलिंग के लिए जिम्मेदार।nuclei_lite.py: Nuclei Lite मुख्य इंजन, YAML टेम्पलेट पार्सिंग और स्कैनिंग को लागू करता है।result_manager.py: परिणाम प्रबंधन मॉड्यूल, डुप्लिकेट हटाने और रिपोर्ट जनरेशन को संभालता है।database.py: SQLite डेटाबेस प्रबंधन।config.py: कॉन्फ़िगरेशन लोडिंग मॉड्यूल।Q: [OOB DETECTED] का क्या अर्थ है?
A: इसका मतलब है कि स्कैनर ने सफलतापूर्वक आउट-ऑफ़-बैंड इंटरैक्शन का पता लगा लिया है। इसका आमतौर पर मतलब है कि लक्ष्य ने DNS या HTTP अनुरोध कॉलबैक ट्रिगर किया है, जो Blind RCE, SSRF या Blind SQLi जैसी भेद्यता की उपस्थिति साबित करता है।
Q: FOFA/Shodan API कैसे कॉन्फ़िगर करें?
A: आप API कुंजी config.yml फ़ाइल में भर सकते हैं, या पर्यावरण चर FOFA_EMAIL, FOFA_KEY, SHODAN_API_KEY के माध्यम से सेट कर सकते हैं।
Q: कौन से ऑपरेटिंग सिस्टम समर्थित हैं? A: OmniScan क्रॉस-प्लेटफ़ॉर्म है, जो Linux, macOS और Windows का समर्थन करता है। बाहरी उपकरणों (जैसे afrog, interactsh-client) को वर्तमान सिस्टम पर निष्पादन योग्य होना चाहिए।
MIT License
| पैरामीटर | विवरण | उदाहरण |
|---|
-u URL | एकल URL स्कैन करें | -u http://example.com |
-f | FOFA से संपत्ति खोजें | -f 'country="CN"' |
-s | Shodan से संपत्ति खोजें | -s 'apache' |
-l FILE | स्थानीय लक्ष्य फ़ाइल निर्दिष्ट करें | -l targets.txt |
-T TEMPLATE | Nuclei टेम्पलेट पथ निर्दिष्ट करें (फ़ाइल/निर्देशिका) | -T ./templates/ |
--tool NAME | स्कैन उपकरण निर्दिष्ट करें (nuclei/afrog/xray/lite) | --tool lite |
--severity | भेद्यता स्तर निर्दिष्ट करें (डिफ़ॉल्ट critical,high) | --severity high,medium |
--plugins | Python प्लगइन स्कैन सक्षम करें (plugins/ निर्देशिका स्कैन करें) | --plugins |
--plugin-file FILE | विशिष्ट प्लगइन फ़ाइलें चलाएँ (अल्पविराम से अलग) | --plugin-file plugins/test.py |
--new | केवल नए जारी टेम्पलेट स्कैन करें (Nuclei समर्थन आवश्यक) | --new |
--no-resume | ब्रेकपॉइंट रिज्यूम अक्षम करें | --no-resume |
--verbose | विस्तृत डिबग लॉग दिखाएँ | --verbose |