अपने शोध वर्कस्टेशन से सीधे किसी संदिग्ध URL पर जाना लापरवाही है — 70% से अधिक दुर्भावनापूर्ण लैंडिंग पेज कनेक्ट होने वाले IP को फिंगरप्रिंट करते हैं और या तो एक सामान्य पेज दिखाते हैं या अनुरोध को पूरी तरह से ब्लॉक कर देते हैं। प्रॉक्सी आइसोलेशन वैकल्पिक नहीं है; यह किसी भी विश्वसनीय खतरा खुफिया संग्रह के लिए आधार रेखा है। इसके बिना, आप अपने बुनियादी ढांचे के नेटब्लॉक को विरोधियों को सौंप रहे हैं जो मिनटों में आपकी आंतरिक सेवाओं को लक्षित करने के लिए पिवट करेंगे।
खतरा खुफिया के लिए सीधा ब्राउज़िंग क्यों विफल होता है
आधुनिक एक्सप्लॉइट किट और फिशिंग किट REMOTE_ADDR को थ्रेट-इंटेल ब्लॉकलिस्ट, जियोलोकेशन डेटाबेस और यहां तक कि रिवर्स-DNS लुकअप के विरुद्ध जांचते हैं। किसी ज्ञात शोध ASN से सीधा कनेक्शन एक साफ पेज या 404 पर रीडायरेक्ट करता है। इससे भी बुरा, कई किट WebRTC लीक (RFC 8834) के माध्यम से क्लाइंट के स्थानीय IP को गिनने के लिए JavaScript का उपयोग करते हैं — जो VPN के पीछे भी आपके वास्तविक नेटवर्क को उजागर करता है। प्रॉक्सी आइसोलेशन इस श्रृंखला को एक दूरस्थ मध्यस्थ पर कनेक्शन समाप्त करके तोड़ता है जो आपके बुनियादी ढांचे की प्रतिष्ठा साझा नहीं करता है। प्रॉक्सी स्वयं डिस्पोजेबल होना चाहिए: एक एकल-उपयोग क्लाउड इंस्टेंस या एक घूर्णनशील रेजिडेंशियल प्रॉक्सी पूल। एकल प्रदाता से स्थैतिक प्रॉक्सी दिनों के भीतर जल जाते हैं।
स्तरित आइसोलेशन: प्रॉक्सी + VM या कंटेनर
अकेला प्रॉक्सी पर्याप्त नहीं है यदि ब्राउज़र DNS, समय-आधारित साइड चैनल, या ब्राउज़र फिंगरप्रिंटिंग के माध्यम से डेटा लीक करता है। प्रॉक्सी को एक उद्देश्य-निर्मित VM या कंटेनर के साथ जोड़ें जिसमें कोई स्थायी स्टोरेज, कोई होस्ट फ़ाइल सिस्टम माउंट, और एक स्ट्रिप्ड-डाउन ब्राउज़र प्रोफ़ाइल हो। कंटेनर पर iptables का उपयोग करके सभी आउटगोइंग ट्रैफ़िक को प्रॉक्सी के माध्यम से बाध्य करें और RFC 1918 पतों पर सभी ट्रैफ़िक को ड्रॉप करें। उदाहरण के लिए, एक Docker कंटेनर जिसमें --network none और एक डिस्पोजेबल जंप बॉक्स में ssh -D 1080 के माध्यम से SOCKS5 टनल है। यह ब्राउज़र को WebSocket या WebRTC के माध्यम से प्रॉक्सी को बायपास करने से रोकता है — जो केवल ब्राउज़र-स्तरीय प्रॉक्सी सेटिंग का उपयोग करने पर एक सामान्य विफलता मोड है। प्रत्येक सत्र के बाद VM या कंटेनर को नष्ट कर दिया जाना चाहिए; स्नैपशॉट केवल तभी स्वीकार्य हैं जब आप सभी कुकीज़, कैश और localStorage को साफ़ करते हैं।
उपकरण: प्रॉक्सी चेन और हेडलेस ब्राउज़रों के साथ Burp Suite
मैन्युअल विश्लेषण के लिए, User options > Connections > SOCKS Proxy को 127.0.0.1:1080 पर कॉन्फ़िगर करके और Do DNS resolution via SOCKS proxy को सक्षम करके Burp Suite को SOCKS5 प्रॉक्सी (RFC 1928) के माध्यम से चेन करें। यह सभी DNS लुकअप को प्रॉक्सी के माध्यम से बाध्य करता है, DNS लीक से बचाता है। स्वचालित संग्रह के लिए, Puppeteer या Playwright का उपयोग करने वाले हेडलेस ब्राउज़र फार्म मानक हैं। नीचे एक न्यूनतम Puppeteer स्क्रिप्ट है जो सभी ट्रैफ़िक को SOCKS5 प्रॉक्सी के माध्यम से रूट करती है और WebRTC को अक्षम करती है:
const puppeteer = require('puppeteer');
const proxy = 'socks5://127.0.0.1:1080';
const browser = await puppeteer.launch({
args: [
`--proxy-server=${proxy}`,
'--disable-webrtc',
'--no-sandbox',
'--disable-setuid-sandbox'
]
});
const page = await browser.newPage();
await page.authenticate({ username: 'user', password: 'pass' });
await page.goto('http://malicious.example', { waitUntil: 'networkidle0' });
// Capture screenshot, HAR, DOM snapshot
await page.screenshot({ path: 'screenshot.png' });
await browser.close();
यह दृष्टिकोण काम करता है, लेकिन सावधान रहें: कई हेडलेस ब्राउज़र navigator.webdriver और chrome.runtime की कमी के माध्यम से पहचाने जा सकते हैं। फिंगरप्रिंटिंग को कम करने के लिए puppeteer-extra-plugin-stealth या Playwright के अंतर्निहित स्टील्थ पैच का उपयोग करें। फिर भी, परिष्कृत किट window.chrome गुणों की कमी या असामान्य navigator.plugins लंबाई की जांच करके हेडलेस Chrome का पता लगाती हैं। एकमात्र विश्वसनीय उपाय एक वास्तविक डिस्प्ले ड्राइवर के साथ VM में एक पूर्ण ब्राउज़र (हेडलेस नहीं) चलाना है — लेकिन यह खराब पैमाने पर काम करता है।
स्व-होस्टेड विश्लेषण के लिए urlscan.io के विकल्प
urlscan.io सुविधाजनक है लेकिन आपके स्कैन मेटाडेटा को अपने समुदाय के साथ साझा करता है और आपके IP को लॉग करता है। संवेदनशील जांच के लिए, एक कैप्चर प्लेटफॉर्म स्व-होस्ट करें। PhantomJS मृत है; एक कस्टम HAR लॉगर और एक स्थानीय mitmproxy इंस्टेंस के साथ Playwright का उपयोग करें। mitmproxy (--mode socks5 --listen-port 8080) सभी अनुरोध/प्रतिक्रिया जोड़े रिकॉर्ड करता है और हेडर या प्रतिक्रियाओं के इनलाइन संशोधन की अनुमति देता है। इसे PCAP विश्लेषण के लिए wireshark के साथ जोड़ें। एक अन्य विकल्प ThreatPinch Lookup है — एक Chrome एक्सटेंशन जो स्थानीय थ्रेट इंटेल फीड्स को क्वेरी करता है — लेकिन यह पूर्ण आइसोलेशन समाधान नहीं है। बल्क स्कैनिंग के लिए, PhishingKitTracker या proxybroker से एक घूर्णनशील प्रॉक्सी सूची के साथ requests का उपयोग करके एक कस्टम Python स्क्रिप्ट तैनात करें। व्यापार-बंद: स्व-होस्टेड सिस्टम को प्रॉक्सी पूल और ब्राउज़र प्रोफाइल के रखरखाव की आवश्यकता होती है, लेकिन वे आपको डेटा प्रतिधारण पर पूर्ण नियंत्रण देते हैं और आपके जांच लक्ष्यों को तीसरे पक्षों को लीक होने से बचाते हैं।