Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
choronzon — एक विकासवादी ज्ञान-आधारित फ़ज़र | Kitploit
उपकरण/GitHubGitHub/census/choronzon
भेद्यता विश्लेषणशोषणफज़िंगबाइनरी विश्लेषण
GitHubcensus/choronzon

choronzon

एक विकासवादी ज्ञान-आधारित फ़ज़र

रिपॉजिटरी देखें
272612710 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Choronzon - एक विकासवादी ज्ञान-आधारित फज़र

परिचय

यह दस्तावेज़ Choronzon के पीछे के सिद्धांत को संक्षेप में समझाने का उद्देश्य रखता है। इसके अलावा, यह इसके आंतरिक कार्यों और नई आवश्यकताओं को पूरा करने के लिए Choronzon को कैसे बढ़ाया जा सकता है, इसके बारे में विवरण प्रदान करता है। Choronzon की वास्तुकला का एक अवलोकन प्रारंभ में ZeroNights 2015 Conference में प्रस्तुत किया गया था। प्रस्तुति की एक रिकॉर्डिंग और स्लाइड डेक भी उपलब्ध हैं।

Choronzon एक विकासवादी फज़र है। यह बेहतर परिणाम उत्पन्न करते रहने के लिए विकासवादी प्रक्रिया का अनुकरण करने का प्रयास करता है। इसे प्राप्त करने के लिए, इसके पास एक मूल्यांकन प्रणाली है जो यह वर्गीकृत करती है कि कौन सी फज की गई फ़ाइलें दिलचस्प हैं और किन्हें छोड़ दिया जाना चाहिए।

इसके अलावा, Choronzon एक ज्ञान-आधारित फज़र है। यह लक्षित फ़ाइल प्रारूप की फ़ाइलों को पढ़ने और लिखने के लिए उपयोगकर्ता-परिभाषित जानकारी का उपयोग करता है। Choronzon की शब्दावली से परिचित होने के लिए, आपको यह समझना चाहिए कि प्रत्येक फ़ाइल को एक क्रोमोसोम द्वारा दर्शाया जाता है। उपयोगकर्ताओं को विचाराधीन फ़ाइल प्रारूप की प्रारंभिक संरचना का वर्णन करना चाहिए। इसके हर विवरण और पहलू का वर्णन करने के बजाय फ़ाइल प्रारूप का एक उच्च-स्तरीय अवलोकन पसंद किया जाता है। उन उपयोगकर्ता-परिभाषित प्रारंभिक संरचनाओं में से प्रत्येक को एक जीन माना जाता है। प्रत्येक क्रोमोसोम में जीनों का एक पेड़ होता है और वह उससे संबंधित फ़ाइल का निर्माण करने में सक्षम होता है।

Choronzon तीन उप-प्रणालियों में विभाजित है, Tracer मॉड्यूल, Chromosome मॉड्यूल और फज़र।

संक्षेप में, Chromosome घटक का उपयोग लक्षित फ़ाइल प्रारूप का वर्णन करने के लिए किया जाता है। उपयोगकर्ता नए या कस्टम प्रारूपों का समर्थन करने के लिए अपने स्वयं के मॉड्यूल लिख सकते हैं। एक परीक्षण-मामले के रूप में, के साथ एक PNG मॉड्यूल प्रदान किया गया है।

Choronzon

दूसरी ओर, Tracer घटक लक्षित एप्लिकेशन की निगरानी और उसके निष्पादन के बारे में विभिन्न जानकारी एकत्र करने के लिए जिम्मेदार है। Choronzon का यह संस्करण निष्पादन के दौरान देखे गए बुनियादी ब्लॉकों को लॉग करने के लिए Intel's Pin बाइनरी इंस्ट्रूमेंटेशन टूल का उपयोग करता है। हालाँकि, Choronzon अन्य ट्रेसिंग बैकएंड का भी समर्थन करने में सक्षम है। यह भी ध्यान रखें कि Choronzon के अगले संस्करण में, Pin को इसके चौंकाने वाले प्रदर्शन प्रभाव के कारण बदल दिया जाएगा।

अंत में, फज़र घटक का उपयोग परीक्षण की जाने वाली फ़ाइलों की सामग्री को बदलने के लिए किया जाता है। मॉड्यूल में Mutators और Recombinators का एक संग्रह होता है। Mutators, बस, सामान्य फज़र्स की तरह फ़ाइल को बदल रहे हैं। उदाहरण के लिए, वे बाइट फ़्लिपिंग, बाइट स्वैपिंग, रैंडम बाइट म्यूटेशन इत्यादि करते हैं। लेकिन Choronzon में एक और विशेषता है जो फज़र्स में आम नहीं है। Recombinators बुद्धिमान फज़िंग करने के लिए Chromosome मॉड्यूल द्वारा प्रदान की गई फ़ाइल प्रारूप की संरचना के बारे में जानकारी का उपयोग कर रहे हैं।

क्रोमोसोम

निर्देशिका chromosome/parsers में आप PNG.py फ़ाइल पा सकते हैं। यह पायथन मॉड्यूल फज़र को PNG फ़ाइल प्रारूप का वर्णन करता है। आप इस निर्देशिका में अन्य फ़ाइल प्रारूपों के लिए अपने कस्टम मॉड्यूल जोड़ सकते हैं।

Chromosome उप-प्रणाली के पीछे मूल विचार प्रारंभिक सीड फ़ाइलों को Deserializer का उपयोग करके Genes के पेड़ में परिवर्तित करना है। किसी बिंदु पर, (फज़ की गई) Genes को Serializer का उपयोग करके एक फ़ाइल में लिखा जाएगा।

ध्यान रखें कि Choronzon में पार्सर मॉड्यूल का उद्देश्य हर छोटे विवरण के बजाय फ़ाइल प्रारूप की प्रारंभिक संरचना प्रदान करना है। इससे फज़र को अधिकतर सही फ़ाइलें बनाने में मदद मिलेगी, लक्षित एप्लिकेशन से जल्दी बाहर निकलने से बचा जा सकेगा। इसके अतिरिक्त, यह दृष्टिकोण समय बचाता है, क्योंकि फ़ाइल प्रारूप के हर पहलू का वर्णन करना समय लेने वाला है और महत्वपूर्ण विकास ओवरहेड का परिचय देता है।

कस्टम पार्सर कैसे लिखें

एक नए पार्सर मॉड्यूल को आयात करना होगा:

  • chromosome.gene.AbstractGene
  • chromosome.serializer.BaseSerializer
  • chromosome.deserializer.BaseDeserializer

और इसे लागू करना होगा

  • chromosome.gene.AbstractGene से व्युत्पन्न एक Gene वर्ग,
  • chromosome.serializer.BaseSerializer से व्युत्पन्न एक Serializer वर्ग,
  • और chromosome.deserializer.BaseDeserializer से व्युत्पन्न एक Deserializer वर्ग।

Choronzon के साथ भेजे गए उदाहरण में, प्रत्येक PNGGene एक PNG खंड से मेल खाता है। आम तौर पर, आप एक Gene को लक्ष्य प्रारूप के प्रारंभिक डेटा संरचना के रूप में सोच सकते हैं। प्रत्येक Chromosome Genes के एक पेड़ से बना होता है, और एक अद्वितीय फ़ाइल का प्रतिनिधित्व करता है। प्रत्येक Gene एक बाइट स्ट्रिंग उत्पन्न करने में सक्षम होना चाहिए जिसमें पेड़ में निचली Genes के डेटा के साथ संयुक्त इसका डेटा होता है।

PNGSerializer को Genes की एक सूची दिए जाने पर (एक अधिकतर सही) फ़ाइल उत्पन्न करने में सक्षम होना चाहिए। दूसरी ओर, PNGDeserializer को लक्ष्य प्रारूप की एक मान्य फ़ाइल को पार्स करने और इसे Genes के पेड़ में डिसीरियलाइज़ करने में सक्षम होना चाहिए।

PNG प्रारूप के लिए एक टिप्पणी उदाहरण के लिए chromosome/parsers/PNG.py देखें।

ट्रेसर

Tracer मॉड्यूल का उपयोग लक्षित एप्लिकेशन (और/या इसकी एक या अधिक लाइब्रेरी) को डिसअसेंबल करने के लिए किया जाता है। Choronzon के इस संस्करण में यह IDA के साथ प्राप्त किया जाता है। हमने इस दृष्टिकोण का उपयोग किया क्योंकि हम फज़िंग अभियान से किसी भी दिलचस्प जानकारी को अपने IDB से सहसंबंधित कर सकते हैं। हालाँकि, हम Choronzon को अधिक पोर्टेबल और सुलभ बनाने के लिए निकट भविष्य में IDA पर निर्भरता छोड़ सकते हैं।

एक फ़ाइल का परीक्षण एक Pin उपयोगिता की सहायता से एप्लिकेशन के विरुद्ध किया जाता है। analyzer/coverage निर्देशिका में इस Pin टूल का स्रोत कोड है, जो लक्षित एप्लिकेशन पर प्रत्येक बुनियादी ब्लॉक की शुरुआत में हुक इंजेक्ट करता है। जब निष्पादन समाप्त हो जाता है, तो हम हिट किए गए बुनियादी ब्लॉक को बाइनरी से बुनियादी ब्लॉक के साथ सहसंबंधित करते हैं। इस प्रकार, हम उन मीट्रिक की गणना करने में सक्षम होते हैं जो हमारे लिए मूल्यवान हैं (कवरेज आदि)।

फज़र

Fuzzer घटक एक फ़ाइल को फज़ करने के लिए Chromosome प्रतिनिधित्व का उपयोग कर रहा है। जैसा कि पहले उल्लेख किया गया है, Choronzon में दो फज़िंग विधियाँ हैं।

पहली विधि के लिए, Choronzon एक या अधिक जीनों से सामग्री प्राप्त करता है और Mutators में से एक लागू करता है। Mutators सामान्य लेकिन प्रभावी फज़िंग विधियों को लागू करते हैं जैसे रैंडम बाइट म्यूटेशन, हाई बिट सेट, बाइट स्वैपिंग और कई अन्य। आप अपने स्वयं के कस्टम म्यूटेटर भी लिख सकते हैं और उन्हें fuzzers/mutators.py में जोड़ सकते हैं।

दूसरी फज़िंग विधि को पुनर्संयोजन कहा जाता है। Recombinators का उपयोग फ़ाइल की संरचना को बदलने के लिए किया जाता है। यहाँ PNG प्रारूप के साथ एक उदाहरण है।

PNG फ़ाइलें क्रमिक खंडों से बनी होती हैं जिनमें चार फ़ील्ड होते हैं,

  • लंबाई,
  • खंड का प्रकार,
  • खंड का डेटा,
  • और एक CRC.

मान लें कि हमारे पास एक PNG फ़ाइल है जिसमें केवल IHDR, IDAT और IEND खंड हैं। इसकी संरचना इस प्रकार दिखेगी:

root@kitploit:~
[ PNG signature ] [ IHDR ] [ IDAT ] [ IEND ]

चूँकि Choronzon मूलभूत संरचनाओं (अर्थात PNG खंड) से अवगत है, यह उनके अनुक्रम को बदलने में सक्षम है। एक सफल पुनर्संयोजन के बाद फज़ की गई PNG आउटपुट फ़ाइल इस तरह दिख सकती है:

root@kitploit:~
[ PNG signature ] [ IDAT ] [ IHDR ] [ IEND ]

Choronzon में कई और पुनर्संयोजन रणनीतियाँ शामिल हैं जो इसे जटिल फ़ाइल प्रारूपों से भी निपटने में सक्षम बनाती हैं।

स्थापना

Choronzon का परीक्षण Python 2.7, Pin 3, IDA Pro 6.6 से 6.9, Ubuntu 16.04 LTS (Linux kernel 4.4) और Windows 10 पर किया गया है।

इसे चलाने के लिए आपको sortedcontainers Python पैकेज स्थापित करना होगा। आप इसे यहाँ पा सकते हैं या pip के माध्यम से स्थापित कर सकते हैं।

इसके अलावा, Choronzon को IDA Pro (वास्तव में, इसका टर्मिनल संस्करण) की आवश्यकता है। IDA Pro का पथ आपकी कॉन्फ़िगरेशन फ़ाइल में इस प्रकार निर्दिष्ट किया जाना चाहिए:

root@kitploit:~
DisassemblerPath = 'C:\\Program Files (x86)\\IDA 6.6'

इसका परीक्षण IDA Pro 6.6, 6.7, 6.8 और 6.9 के साथ सफलतापूर्वक किया गया है।

Choronzon का कवरेज Pin टूल analyzer/coverage पर स्थित है और इसे संकलित किया जाना चाहिए। आप विवरण के लिए Pin का दस्तावेज़ देखना चाह सकते हैं, या आप निम्नलिखित चरणों का पालन कर सकते हैं:

  1. coverage.cpp और makefile.rules फ़ाइल को /path/to/pin/source/tools/MyPinTool पर कॉपी करें
  2. make चलाएँ। यदि आप Windows पर हैं तो आपको Visual Studio कमांड लाइन चलानी चाहिए, और Cygwin से make उपयोगिता और उसकी निर्भरताओं का उपयोग करना चाहिए
  3. नव निर्मित obj-intel64 निर्देशिका (या 32 बिट सिस्टम के लिए obj-ia32) को वापस /path/to/choronzon/analysis/coverage पर कॉपी करें

कॉन्फ़िगरेशन

Choronzon के साथ फज़ करने के लिए, आपको एक कॉन्फ़िगरेशन फ़ाइल प्रदान करनी होगी। settings निर्देशिका में Choronzon के कॉन्फ़िगरेशन का एक उदाहरण है।

टूल डाउनलोड करें