
माइक्रोसर्विस दृष्टिकोण पर निर्मित, तेज, इंटरनेट-स्तरीय संपत्ति अनुक्रमण के लिए मल्टी-थ्रेडिंग का उपयोग करने वाला अटैक सरफेस डिस्कवरी टूल।
परियोजना संदर्भ: यह परियोजना एक पोर्टफोलियो टुकड़े के रूप में कार्य करती है जो आक्रामक सुरक्षा, समवर्तीता और वितरित वास्तुकला की अवधारणाओं को प्रदर्शित करती है।
अपने शुरुआती दिनों में जब मैं आक्रामक सुरक्षा की दुनिया में कदम रख रहा था, मैं हमेशा से इस बात से मोहित था कि कैसे Shodan जैसे प्रमुख सर्च इंजन लाखों उपकरणों से जानकारी अनुक्रमित करते हैं। यह अवधारणा मेरे दिमाग में घूमती रही; मैं इसके पीछे के इंजीनियरिंग को स्वयं अनुकरण करके समझना चाहता था।
Kimi उस जिज्ञासा का परिणाम है। यह एक सतत टोही स्कैनर है जिसे बाहरी आक्रमण सतह जोखिम के विश्लेषण को प्राथमिकता देने के लिए डिज़ाइन किया गया है। यह इंटरनेट से जुड़ी सेवाओं से जानकारी एकत्र करने के लिए बड़े पैमाने पर, पोर्ट-उन्मुख स्कैनिंग करता है।
मेरा लक्ष्य एक कुशल वास्तुकला बनाना था: थ्रेड्स और क्यू का कार्यान्वयन प्रति स्कैन चक्र प्रदर्शन को अधिकतम करने के लिए डिज़ाइन किया गया था, जिससे बड़े आईपी रेंज के लिए निष्पादन समय में काफी कमी आई।
Kimi महत्वपूर्ण क्षेत्रों में एक प्रूफ ऑफ कॉन्सेप्ट के रूप में कार्य करता है:
समवर्तीता: लगभग ≈500 एक साथ नेटवर्क I/O संचालन को व्यवस्थित करने के लिए Python में थ्रेड्स और क्यू का उपयोग।
पृथक वास्तुकला: एक वितरित प्रणाली (Engine → API → DB) का डिज़ाइन, स्कैन के निष्पादन को डेटा स्थिरता से अलग करता है।
नेटवर्किंग: TCP/UDP हैंडशेक और सटीक टाइमआउट प्रबंधन के लिए निम्न-स्तरीय सॉकेट प्रोग्रामिंग।
NoSQL डेटाबेस: स्कैन परिणामों को संग्रहीत करने के लिए MongoDB का कार्यान्वयन, जो स्वाभाविक रूप से परिवर्तनशील और असंरचित होते हैं।
आज Kimi पर पुनर्विचार करने से मुझे अपने प्रारंभिक कार्य पर एक आधुनिक इंजीनियरिंग और नैतिक दृष्टिकोण लागू करने की अनुमति मिलती है:
तकनीकी विकास: सबसे बड़ी चुनौती Python में threading में महारत हासिल करना था। आज, मैं मानता हूं कि सबसे स्केलेबल समाधान इंजन को एसिंक्रोनस प्रोग्रामिंग (asyncio) में स्थानांतरित करना होगा ताकि GIL ओवरहेड से बचा जा सके और समवर्तीता को और बढ़ाया जा सके।
नैतिक परिपक्वता: सबसे महत्वपूर्ण सबक पेशेवर जिम्मेदारी रहा है। यह परियोजना एक जिज्ञासा-संचालित प्रयोग से एक प्रदर्शन उपकरण में विकसित हुई। Kimi नियंत्रित नेटवर्क पर नैतिक परीक्षण तक सख्ती से सीमित है, जो कानूनी और जिम्मेदार सुरक्षा प्रथाओं के प्रति मेरी प्रतिबद्धता को उजागर करता है।
सिस्टम को इंजन (स्कैनर) और API (स्थिरता) में विभाजित किया गया है।
MongoDB प्राथमिक अंतर्ग्रहण भंडार के रूप में कार्य करता है। वास्तुकला को Elasticsearch / Kibana (ELK) एकीकरण के साथ संगत होने के लिए डिज़ाइन किया गया है, जो एकत्रित डेटा की पूर्ण-पाठ खोज क्षमताओं और विश्लेषणात्मक विज़ुअलाइज़ेशन को सक्षम करता है।
| परिदृश्य | कमांड उदाहरण | विवरण |
|---|---|---|
| रैपिड स्कैन | python3 engine.py -r 192.168.0.0,192.168.0.255 -t 150 --top-ports |
परिनियोजन: परियोजना Docker के साथ पूरी तरह से कंटेनरीकृत है।
लाइसेंस: Apache 2.0.
संपर्क: [email protected]
कानूनी अस्वीकरण: Kimi केवल शैक्षिक उद्देश्यों और तकनीकी प्रदर्शन के लिए प्रस्तुत किया गया है। नियंत्रित वातावरण के बाहर उपयोग उपयोगकर्ता की एकमात्र जिम्मेदारी है।
| 150 थ्रेड्स का उपयोग करके एक रेंज स्कैन करता है। |
| कस्टम CIDR | python3 engine.py -r 192.168.0.0/24 -t 350 -C 80 443 21 | 350 थ्रेड्स का उपयोग करके विशिष्ट पोर्ट स्कैन करता है। |