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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ghidralligator — मल्टी-आर्किटेक्चर pcode एमुलेटर जो बाइनरी, फ़र्मवेयर और एम्बेडेड टार्गेट्स के AFL++ फ़ज़िंग के लिए Ghidra/Sleigh का उपयोग करता है; ASAN के माध्यम से मेमोरी-करप्शन बग्स का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/airbus-cyber/ghidralligator
एम्बेडेड सिस्टम सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणफज़िंगबाइनरी विश्लेषणफर्मवेयर विश्लेषण
GitHubairbus-cyber/ghidralligator

ghidralligator

मल्टी-आर्किटेक्चर pcode एमुलेटर जो बाइनरी, फ़र्मवेयर और एम्बेडेड टार्गेट्स के AFL++ फ़ज़िंग के लिए Ghidra/Sleigh का उपयोग करता है; ASAN के माध्यम से मेमोरी-करप्शन बग्स का पता लगाता है।

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

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

सभी देखें →

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

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

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

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

Ghidralligator_logo

Ghidralligator

License

Ghidralligator एक C++ मल्टी-आर्किटेक्चर pcode एमुलेटर है, जो Ghidra libsla पर आधारित है, और इसे AFL++ के साथ फ़ज़िंग के लिए डिज़ाइन किया गया है।

यह एमुलेशन-आधारित फ़ज़िंग करने की सुविधा देता है, जबकि असामान्य आर्किटेक्चर पर चलने वाले बाइनरी से निपटने के दौरान दिलचस्प प्रदर्शन बनाए रखता है।

इसकी विस्तार योग्य प्रकृति के कारण, वस्तुतः हर आर्किटेक्चर का एमुलेशन करना आसान है (जब तक आप संबंधित Sleigh स्पेसिफिकेशन फ़ाइल लिख सकते हैं) ताकि मनमाने कोड के टुकड़े को फ़ज़ किया जा सके।

इंस्टॉलेशन

Ghidralligator Linux सिस्टम पर चल सकता है। इसके लिए केवल एक GCC संस्करण की आवश्यकता है जो C++ संस्करण 17 को सपोर्ट करता हो (GCC संस्करण 12.2.0 पर परीक्षण किया गया और कार्यशील पाया गया)।

Ghidra निर्भरताएँ प्रोजेक्ट के भीतर ही "./src/" निर्देशिका के अंतर्गत एम्बेडेड हैं।

Ghidralligator को सही ढंग से स्थापित करने के लिए, आपको AFL++ को निम्नानुसार डाउनलोड और कंपाइल करना होगा:

  1. AFL++ को क्लोन और इंस्टॉल करें
root@kitploit:~
git clone https://github.com/AFLplusplus/AFLplusplus
cd AFLplusplus
make distrib
sudo make install
  1. Ghidralligator को क्लोन और कंपाइल करें:
root@kitploit:~
git clone https://github.com/airbus-cyber/ghidralligator
cd ghidralligator
make ghidralligator
  1. जिस आर्किटेक्चर का आप एमुलेशन करना चाहते हैं, उसके लिए उपयुक्त .sla फ़ाइल प्राप्त करें। आप .sla फ़ाइल स्वयं लिख सकते हैं, या आधिकारिक Ghidra रिपॉज़िटरी (यहाँ) से पहले से मौजूद फ़ाइलें डाउनलोड कर सकते हैं। आप प्रोजेक्ट के भीतर "./specfiles" फ़ोल्डर में एम्बेडेड डिफ़ॉल्ट .sla फ़ाइलों का एक सेट पा सकते हैं।

Ghidralligator क्या है?

Ghidralligator का उद्देश्य उन पहले से मौजूद एमुलेटरों के बीच की खाई को भरना है, जिन्हें बाइनरी को इंस्ट्रूमेंट करने, चलाने और फ़ज़ करने के लिए बहुत अधिक सेटअप और मैन्युअल संशोधनों की आवश्यकता होती है, और उन "ब्लैक-बॉक्स" एमुलेटरों के बीच जो शायद ही विस्तार योग्य होते हैं और विशिष्ट तथा असामान्य अनुप्रयोगों के लिए उपयुक्त नहीं होते हैं।

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

Ghidralligator, afl_ghidra_emu का उत्तराधिकारी है। यह निष्पादन गति में काफी सुधार करता है और हीप मेमोरी करप्शन डिटेक्शन (ASAN) जैसी उपयोगी सुविधाएँ शामिल करता है।

विभिन्न प्रकार की मेमोरी करप्शन का पता लगाया जा सकता है: आउट-ऑफ-बाउंड्स रीड/राइट संचालन, यूज़-आफ्टर-फ्री, डबल-फ्री, अप्रारंभिक मेमोरी की रीड, रीड/राइट/एक्सेक एक्सेस उल्लंघन...

Ghidralligator को चलाने के लिए निम्नलिखित चरणों का पालन करना होगा:

  • मेमोरी मैपिंग लेआउट और प्रोग्राम की प्रारंभिक स्थिति को परिभाषित करने के लिए एक कॉन्फ़िगरेशन फ़ाइल सेट करना।
  • हुक डिज़ाइन करना।

दस्तावेज़

  • Ghidralligator कॉन्फ़िगरेशन फ़ाइल : कॉन्फ़िगरेशन फ़ाइल लेखन हेतु दस्तावेज़ीकरण।
  • Ghidralligator हुक : यूज़र-हुक फ़ाइल लेखन हेतु दस्तावेज़ीकरण।

ट्यूटोरियल

Ghidralligator का उपयोग कैसे करें यह समझने के लिए, विभिन्न आर्किटेक्चर पर कंपाइल किए गए एक कमजोर प्रोग्राम का उदाहरण बनाया गया है।

आप ASAN तंत्रों को क्रियाशील देखने के लिए run_examples.sh चला सकते हैं।

त्वरित प्रारंभ

Ghidralligator कई कमांड-लाइन विकल्पों के साथ आता है:

root@kitploit:~
usage: ./ghidralligator [OPTION]

  -h 			यह सहायता प्रिंट करें और बाहर निकलें।

  -m [replay|fuzz]	एमुलेशन रणनीति निर्दिष्ट करें। [आवश्यक]
				'replay' मोड में, एमुलेटर प्रोग्राम को केवल एक बार लॉन्च करेगा, एक ही लूप के बाद बाहर निकलते हुए।
				'fuzz' मोड में, इस प्रोग्राम को AFL के माध्यम से लॉन्च किया जाना चाहिए।

  -c [FILENAME]		लोड करने के लिए एमुलेटर json कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करें। [आवश्यक]

  -i [FILENAME]		रिप्ले सत्र के दौरान डालने के लिए एक टेस्ट-केस फ़ाइल निर्दिष्ट करें। [वैकल्पिक]

  -I 			जानकारी लॉग प्रदर्शित करें (/!\ एमुलेशन को धीमा करता है)। [वैकल्पिक]
  -D 			डीबग और जानकारी लॉग प्रदर्शित करें (/!\ एमुलेशन को धीमा करता है)। [वैकल्पिक]

  -t 			लॉग को ./ghidraligator.log फ़ाइल में संग्रहीत करें। [वैकल्पिक]


मानक एमुलेशन हेतु उपयोग:

root@kitploit:~
$ ./ghidralligator -m replay -c examples/x86/config.json -I -i examples/x86/input/normal_use_case.bin

gif replay

मानक AFL++ फ़ज़िंग सत्र हेतु उपयोग:

root@kitploit:~
mkdir afl_inputs afl_outputs
echo -n "AAAAAA" > ./afl_inputs/input.bin
$ AFL_SKIP_BIN_CHECK=1 afl-fuzz -D -i ./afl_inputs -o ./afl_outputs/ -- ./ghidralligator -m fuzz -c examples/x86/config.json

gif fuzzing

सीमाएँ

  • Ghidralligator .sla फ़ाइल (Sleigh इंस्ट्रक्शन डेफ़िनिशन फ़ाइल) की सहायता से कोड का एमुलेशन कर सकता है। Ghidra समुदाय द्वारा प्रदान की गई SLA फ़ाइलें आंशिक रूप से कार्यान्वित हो सकती हैं। सुसंगत एमुलेशन प्राप्त करने के लिए, उपयोगकर्ताओं को संबंधित sleigh आर्किटेक्चर परिभाषा को पूरा करना या कुछ हुक जोड़ने पड़ सकते हैं।

  • Ghidralligator Ghidra पर आधारित है, जिसे एमुलेशन उद्देश्य में उच्च प्रदर्शन के लिए डिज़ाइन नहीं किया गया है। इस प्रकार यह मानक आर्किटेक्चर (x86 linux / windows बाइनरी) पर क्लासिक फ़ज़र जैसे afl_qemu के मुकाबले प्रतिस्पर्धा करने में सक्षम नहीं है।

  • चूँकि Ghidra प्रोजेक्ट निरंतर विकास में है, भविष्य के Ghidra संस्करणों के लिए Ghidralligator निर्भरताओं को मैन्युअल रूप से अपडेट करने की अनुशंसा नहीं की जाती है। यह टूल Ghidra 11.0.3 डीकंपाइलर स्रोतों के साथ बनाया और परीक्षण किया गया था। यह भविष्य के संस्करणों के साथ टूट सकता है, और 11.0.3 संस्करण से नीचे की पिछड़ी संगतता समर्थित नहीं है। यह उपयोगकर्ता के लिए पारदर्शी है, क्योंकि Ghidra निर्भरताएँ इस रिपॉज़िटरी में प्रदान की गई हैं।

लाइसेंस

Ghidralligator Apache लाइसेंस संस्करण 2.0 के अंतर्गत जारी किया गया है।

Ghidralligator कोड में NationalSecurityAgency द्वारा Ghidra प्रोजेक्ट का कोड शामिल है, जो Apache लाइसेंस 2.0 के अंतर्गत जारी किया गया है।

Ghidralligator कॉन्फ़िगरेशन फ़ाइल पार्सर में Niels Lohmann द्वारा C++ json लाइब्रेरी शामिल है, जो MIT लाइसेंस के अंतर्गत जारी की गई है।

Ghidralligator मॉड्यूल में Yann Collet द्वारा xxHash लाइब्रेरी शामिल है, जो BSD 2-Clause License के अंतर्गत जारी की गई है।

लेखक

  • Flavian Dola - Airbus (Twitter)
  • Guillaume Orlando - Airbus (Twitter)
टूल डाउनलोड करें