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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CakeFuzzer — केक फ़ज़र एक परियोजना है जो विशिष्ट फ्रेमवर्क पर आधारित वेब अनुप्रयोगों में बहुत सीमित झूठी सकारात्मकताओं के साथ स्वचालित रूप से और लगातार कमजोरियों की खोज करने में मदद करने के लिए है। | Kitploit
उपकरण/GitHubGitHub/zigrin-security/cakefuzzer
स्थैतिक विश्लेषणभेद्यता स्कैनरवेब भेद्यता स्कैनरगतिशील विश्लेषण (सैंडबॉक्सिंग)वेब सुरक्षाफज़िंगपेनिट्रेशन टेस्टिंग
GitHubzigrin-security/cakefuzzer

CakeFuzzer

केक फ़ज़र एक परियोजना है जो विशिष्ट फ्रेमवर्क पर आधारित वेब अनुप्रयोगों में बहुत सीमित झूठी सकारात्मकताओं के साथ स्वचालित रूप से और लगातार कमजोरियों की खोज करने में मदद करने के लिए है।

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

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

सभी देखें →

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

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

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

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

CakeFuzzer

नवीनतम रिलीज़: 1.0
लाइसेंस: GNU GPL v3.0

Cake Fuzzer एक परियोजना है जिसका उद्देश्य विशिष्ट फ्रेमवर्क पर आधारित वेब एप्लिकेशन में कम झूठी सकारात्मकता के साथ स्वचालित और निरंतर रूप से कमजोरियों की खोज करने में मदद करना है। वर्तमान में इसे Cake PHP फ्रेमवर्क को सपोर्ट करने के लिए लागू किया गया है।

यदि आप शोध प्रक्रिया के बारे में अधिक जानना चाहते हैं, तो इस लेख श्रृंखला को देखें: CakePHP एप्लिकेशन साइबर सुरक्षा अनुसंधान

🏆 रिपोर्ट की गई बग्स 🏆

नीचे Cake Fuzzer द्वारा खोजी गई कुछ बग्स की सूची दी गई है:

शीर्षकगंभीरतालिंक
Cerebrate में ब्लाइंड SQL इंजेक्शन9.8 गंभीरhttps://zigrin.com/advisories/cerebrate-blind-sql-injection/
CRUD घटक में SQL इंजेक्शन8.8 उच्चhttps://zigrin.com/advisories/misp-sql-injection-in-crud-component/
DOM-आधारित XSS6.1 मध्यमhttps://zigrin.com/advisories/misp-dom-based-xss/
ऑर्डर पैरामीटर में ब्लाइंड SQL इंजेक्शन8.8 उच्चhttps://zigrin.com/advisories/misp-blind-sql-injection-in-order-parameter/
ऐरे इनपुट पैरामीटर में ब्लाइंड SQL इंजेक्शन8.8 उच्चhttps://zigrin.com/advisories/misp-blind-sql-injection-in-array-input-parameters/
/Logs/index में टाइम-आधारित SQL इंजेक्शन7.2 उच्चhttps://zigrin.com/advisories/misp-time-based-sql-injection-in-logs-index/

परियोजना के लक्ष्य

वेब एप्लिकेशन में स्वचालित उपकरणों का उपयोग करके कमजोरियों की खोज के सामान्य दृष्टिकोण हैं:

  • स्टैटिक एप्लिकेशन सुरक्षा परीक्षण (SAST) – एक विधि जिसमें स्कैनर एप्लिकेशन को चलाए बिना स्रोत कोड के आधार पर कमजोरियों का पता लगाता है।
  • डायनेमिक एप्लिकेशन सुरक्षा परीक्षण (DAST) – एक विधि जिसमें एक भेद्यता स्कैनर चल रहे एप्लिकेशन पर हमला करता है और एप्लिकेशन प्रतिक्रियाओं के आधार पर कमजोरियों की पहचान करता है।

दोनों विधियों के नुकसान हैं। SAST के परिणामस्वरूप उच्च प्रतिशत झूठी सकारात्मकता होती है – ऐसे निष्कर्ष जो या तो कमजोरियां नहीं हैं या शोषण योग्य कमजोरियां नहीं हैं। DAST के परिणामस्वरूप कम झूठी सकारात्मकता होती है लेकिन सीमित जानकारी के कारण कम कमजोरियों का पता चलता है। इसके लिए एप्लिकेशन के बारे में कुछ ज्ञान और स्कैन चलाने वाले व्यक्ति की सुरक्षा पृष्ठभूमि की भी आवश्यकता होती है। इसके लिए ठीक से काम करने के लिए अक्सर प्रति एप्लिकेशन एक कस्टम स्कैन कॉन्फ़िगरेशन की आवश्यकता होती है।

Cake Fuzzer परियोजना दोनों दृष्टिकोणों के लाभों को संयोजित करने और उपरोक्त नुकसानों को समाप्त करने के लिए है। इस दृष्टिकोण को इंटरेक्टिव एप्लिकेशन सुरक्षा परीक्षण (IAST) कहा जाता है।

परियोजना के लक्ष्य हैं:

  • CakePHP फ्रेमवर्क पर आधारित एप्लिकेशन में कमजोरियों की खोज की एक स्वचालित प्रक्रिया बनाना
  • कोई एप्लिकेशन ज्ञान आवश्यकता या वेब एप्लिकेशन का पूर्व-कॉन्फ़िगरेशन नहीं
  • न्यूनतम या 0 के करीब झूठी सकारात्मकता के साथ परिणाम
  • स्कैनर चलाने के लिए न्यूनतम सुरक्षा ज्ञान की आवश्यकता

नोट: कुछ प्रकार की कमजोरियां Cake Fuzzer का लक्ष्य नहीं हैं, इसलिए Cake Fuzzer उनका पता लगाने में सक्षम नहीं होगा। उन प्रकारों के उदाहरण व्यावसायिक तर्क कमजोरियां और पहुंच नियंत्रण समस्याएं हैं।

आर्किटेक्चर

सिंहावलोकन

Cake Fuzzer आर्किटेक्चर सिंहावलोकन

Drawio: Cake Fuzzer आर्किटेक्चर

Cake Fuzzer में 3 मुख्य (काफी स्वतंत्र) सर्वर शामिल हैं जो कुल मिलाकर CakePHP एप्लिकेशन के गतिशील भेद्यता परीक्षण की अनुमति देते हैं।

  • AttackQueue - हमले के परिदृश्यों का शेड्यूलिंग और निष्पादन।
  • Monitors - दिए गए संस्थाओं (एक्जीक्यूटर आउटपुट / फ़ाइल सामग्री / प्रक्रियाएं / त्रुटियां) की निगरानी।
  • Registry - पाई गई कमजोरियों का भंडारण और वर्गीकरण। वे स्वतंत्र रूप से चलते हैं। AttackQueue मॉनिटर में नए स्कैनर जोड़ सकता है, और Monitors नए हमले शेड्यूल कर सकते हैं (जैसे पाई गई भेद्यता के आधार पर आगे एप्लिकेशन पर हमला करने के लिए)।

अन्य घटकों में शामिल हैं:

  • Fuzzer - AttackQueue में हमलों को परिभाषित और शेड्यूल करता है (प्रवेश बिंदु के रूप में कार्य करता है)
  • Configuration - एप्लिकेशन पर निर्भर जानकारी सेट करता है (जैसे CakePHP एप्लिकेशन का पथ)
  • Instrumentation - कॉन्फ़िगरेशन के आधार पर हमलों के लिए जमीन तैयार करने के लिए एप्लिकेशन / OS में परिवर्तनों को परिभाषित करता है।

दृष्टिकोण

Cake Fuzzer इंटरेक्टिव एप्लिकेशन सुरक्षा परीक्षण (IAST) की अवधारणा पर आधारित है। इसमें हमलों का एक पूर्वनिर्धारित सेट होता है जिसे निष्पादन से पहले बेतरतीब ढंग से संशोधित किया जाता है। Cake Fuzzer को Cake PHP फ्रेमवर्क के कारण एप्लिकेशन के आंतरिक कार्यों का ज्ञान होता है, इसलिए हमले एप्लिकेशन के सभी संभावित प्रवेश बिंदुओं पर लॉन्च किए जाएंगे।

हमले के दौरान, Cake Fuzzer एप्लिकेशन और अंतर्निहित सिस्टम के विभिन्न पहलुओं की निगरानी करता है जैसे:

  • नेटवर्क कनेक्शन,
  • फ़ाइल सिस्टम,
  • एप्लिकेशन प्रतिक्रिया,
  • त्रुटि लॉग।

जानकारी के ये स्रोत Cake Fuzzer को अधिक कमजोरियों की पहचान करने और उन्हें उच्च निश्चितता के साथ रिपोर्ट करने की अनुमति देते हैं।

आवश्यकताएं

  • CakePHP वेब एप्लिकेशन इंस्टॉल, कॉन्फ़िगर और चल रहा हो। उदाहरण CakePHP वेब एप्लिकेशन: MISP (https://github.com/MISP/MISP), Cerebrate (https://github.com/cerebrate-project/cerebrate)
  • PHP CLI

VMWare वर्चुअल मशीन पर MISP का उपयोग करके विकास पर्यावरण

निम्नलिखित अनुभाग Cake Fuzzer विकास पर्यावरण स्थापित करने के चरणों का वर्णन करता है जहां लक्ष्य पुराना MISP v2.4.146 है जो CVE-2021-41326 के लिए कमजोर है।

आवश्यकताएं

  • VMWare Workstation (अन्य वर्चुअलाइजेशन प्लेटफॉर्म का उपयोग किया जा सकता है जब तक वे होस्ट और गेस्ट OS के बीच निर्देशिकाओं को साझा/माउंट करने का समर्थन करते हैं)

चरण

अपने होस्ट ऑपरेटिंग सिस्टम पर एक पुराना MISP VM डाउनलोड करने के लिए निम्नलिखित कमांड चलाएँ:

root@kitploit:~
cd ~/Downloads # या जहाँ भी आप MISP VM स्टोर करना चाहते हैं
wget https://vm.misp-project.org/MISP_v2.4.146@0c25b72/[email protected] -O MISP.zip
unzip MISP.zip
rm MISP.zip
mv VMware/ MISP-2.4.146

अपने होस्ट OS और MISP के बीच Cake Fuzzer फ़ाइलों को साझा करने के लिए VMWare GUI में निम्नलिखित क्रियाएँ करें:

  1. VMWare में वर्चुअल मशीन खोलें और > Settings > Options > Shared Folders > Add पर जाएं।
  2. अपने होस्ट OS पर उस निर्देशिका को माउंट करें जहाँ आप Cake Fuzzer रखते हैं और VM पर इसका नाम cake_fuzzer रखें।
  3. VM शुरू करें।
  4. MISP के पूरी तरह से बूट होने के बाद VMWare विंडो में प्रदर्शित IP पता नोट करें।

अपने होस्ट OS पर निम्नलिखित कमांड चलाएँ (MISP_IP_ADDRESS को पहले नोट किए गए IP पते से बदलें):

root@kitploit:~
ssh-copy-id misp@MISP_IP_ADDRESS
ssh misp@MISP_IP_ADDRESS

एक बार जब आप MISP में SSH कर लें, तो होस्ट OS और MISP के बीच Cake Fuzzer फ़ाइलों को साझा करने की सेटअप पूरी करने के लिए निम्नलिखित कमांड चलाएँ (MISP टर्मिनल में):

root@kitploit:~
sudo apt update
sudo apt-get -y install open-vm-tools open-vm-tools-desktop
sudo apt-get -y install build-essential module-assistant linux-headers-virtual linux-image-virtual && sudo dpkg-reconfigure open-vm-tools
sudo mkdir /cake_fuzzer # नोट: यह पथ निश्चित है क्योंकि यह इंस्ट्रुमेंटेशन (एक पैच) में हार्डकोडेड है
sudo vmhgfs-fuse .host:/cake_fuzzer /cake_fuzzer -o allow_other -o uid=1000 -o max_write=61440
# max_write अजीब फ़ाइल कॉपी बग को ठीक करता है: https://github.com/vmware/open-vm-tools/issues/437#issuecomment-669663891
ls -l /cake_fuzzer # यदि सब कुछ ठीक रहा तो आपको अपने होस्ट OS से Cake Fuzzer निर्देशिका की सामग्री दिखाई देनी चाहिए। आपके होस्ट OS पर कोई भी परिवर्तन VM के अंदर दिखाई देगा और इसके विपरीत।

MISP को सरल परीक्षण के लिए तैयार करें (MISP टर्मिनल में):

root@kitploit:~
CAKE=/var/www/MISP/app/Console/cake
SUDO='sudo -H -u www-data'
$CAKE userInit -q
$SUDO $CAKE Admin setSetting "Security.password_policy_length" 1
$SUDO $CAKE Admin setSetting "Security.password_policy_complexity" '/.*/'
$SUDO $CAKE Password [email protected] admin --override_password_change

अंत में Cake Fuzzer निर्भरताएं स्थापित करें और वेनव तैयार करें (MISP टर्मिनल में):

root@kitploit:~
source /cake_fuzzer/precheck.sh

भेद्यता डेटाबेस में योगदान

Cake Fuzzer /cake_fuzzer/strategies फ़ोल्डर के अंदर कमजोरियों के लिए स्कैन करता है।

एक नया हमला जोड़ने के लिए हमें strategies फ़ोल्डर में एक नया new-attack.json फ़ाइल जोड़नी होगी। प्रत्येक भेद्यता में 2 मुख्य फ़ील्ड होते हैं: Scenarios और Scanners। Scenarios वह जगह है जहाँ हमले के पेलोड के आधार रूप संग्रहीत होते हैं। दूसरी ओर Scanners प्रतिक्रिया, स्टडआउट, स्टडरर, लॉग और परिणामों के लिए रेगेक्स या वाक्यांशों का पता लगाते हैं।

Scenarios के लिए पेलोड बनाना

पेलोड बनाने के लिए पहले आपको भेद्यता और यह समझने की आवश्यकता है कि इसे यथासंभव कम पेलोड के साथ कैसे पता लगाया जाए।

  • परिदृश्य का निर्माण करते समय आपको यथासंभव सामान्य पेलोड के बारे में सोचना चाहिए। हालांकि, जितना अधिक सामान्य पेलोड होगा, उतनी ही अधिक संभावना है कि यह झूठी सकारात्मकता उत्पन्न करेगा।

  • अपने परिदृश्यों में __cakefuzzer__new-attack_§CAKEFUZZER_PAYLOAD_GUID§__ जैसे कैनरी मान का उपयोग करना बेहतर है। कैनरी मान में एक निश्चित स्ट्रिंग (उदाहरण के लिए: __cakefuzzer__new-attack_) और एक गतिशील पहचानकर्ता होता है जो फज़र द्वारा गतिशील रूप से बदला जाएगा (GUID भाग §CAKEFUZZER_PAYLOAD_GUID§)। पहले कैनरी भाग का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि पेलोड का Scanners द्वारा पता लगाया जाए। दूसरा कैनरी भाग, GUID, आपके पेलोड के प्रत्येक निष्पादन पर छद्म-यादृच्छिक मान में अनुवादित किया जाता है। इसलिए जब भी आपका पेलोड एप्लिकेशन द्वारा उपयोग किए गए किसी पैरामीटर में इंजेक्ट किया जाएगा, तो कैनरी कुछ इस तरह बदल जाएगा: __cakefuzzer__new-attack_8383938__, जहाँ 8383938 अन्य सभी हमलों में अद्वितीय है।

Scanners का पता लगाना और उत्पन्न करना

स्कैनर बनाने के लिए, पहले आपको यह समझना होगा कि जब भेद्यता ट्रिगर होती है तो एप्लिकेशन कैसे व्यवहार कर सकता है। कुछ स्कैनर प्रकार हैं जिनका आप उपयोग कर सकते हैं जैसे प्रतिक्रिया, स्टडरर, लॉग, फ़ाइलें और प्रक्रियाएं। प्रत्येक स्कैनर एक अलग उद्देश्य प्रदान करता है।

उदाहरण के लिए जब आप XSS के लिए स्कैनर बना रहे हैं, तो आप एप्लिकेशन के HTML प्रतिक्रिया में भेद्यता के संकेत की तलाश करेंगे। आप कैनरी मान और पेलोड की तलाश के लिए ResultOutputScanner स्कैनर का उपयोग कर सकते हैं। दूसरी ओर SQL इंजेक्शन कमजोरियों का पता त्रुटि लॉग के माध्यम से लगाया जा सकता है। इस उद्देश्य के लिए आप LogFilesContentsScanner और ResultErrorsScanner का उपयोग कर सकते हैं।

  • स्कैनर बनाने का एक महत्वपूर्ण बिंदु एक नियमित अभिव्यक्ति या एक वाक्यांश ढूंढना है जो झूठी-सकारात्मक मानों को नहीं पकड़ता। यदि आप एक नई भेद्यता में योगदान देना चाहते हैं, तो आपको यह सुनिश्चित करना चाहिए कि स्कैन में नई भेद्यता का उपयोग करके कोई झूठी-सकारात्मक न हो।
  • इन Scanner नियमित अभिव्यक्तियों का अंतिम गुण एक कुशल रेगेक्स उत्पन्न करना है। उन रेगेक्स का उपयोग करने से बचें जो सभी मामलों से मेल खाते हैं .* या .+। वे बहुत समय लेने वाले होते हैं और पूरे स्कैन को पूरा करने में लगने वाले समय को नाटकीय रूप से बढ़ाते हैं।

दक्षता

जैसा कि पहले उल्लेख किया गया है, दक्षता कमजोरियों का एक महत्वपूर्ण हिस्सा है। दोनों Scenarios और Scanners में यथासंभव कम तत्व शामिल होने चाहिए। ऐसा इसलिए है क्योंकि Cake Fuzzer प्रत्येक एकल परिदृश्य को सभी संभावित पाए गए पथों में कई बार निष्पादित करता है। दूसरी ओर, सभी प्रतिक्रियाएं, नई लॉग प्रविष्टियां आदि लगातार Scanners द्वारा जांची जाती हैं। बहुत सारे पैरामीटर, पथ और एंडपॉइंट का पता लगाया जाना चाहिए और इसलिए अधिक पेलोड या Scanner का उपयोग करना दक्षता को काफी प्रभावित करता है।

विशिष्ट भेद्यता को हटाना

यदि आप किसी विशिष्ट भेद्यता वर्ग को स्कैन नहीं करना चाहते हैं, तो strategies फ़ोल्डर से निर्दिष्ट json फ़ाइल हटाएं, डेटाबेस साफ़ करें और फिर से fuzzer चलाएं।

उदाहरण के लिए यदि आप अपने एप्लिकेशन को SQL इंजेक्शन कमजोरियों के लिए स्कैन नहीं करना चाहते हैं, तो निम्नलिखित चरण करें:

सबसे पहले पहले से तैयार हमले के परिदृश्यों को हटा दें। इसे प्राप्त करने के लिए /cake_fuzzer/databases फ़ोल्डर के अंदर सभी फ़ाइलों को हटा दें:

root@kitploit:~
rm  /cake_fuzzer/databases/*

उसके बाद /cake_fuzzer/strategies से sqlinj.json फ़ाइल हटाएं:

root@kitploit:~
rm /cake_fuzzer/strategies/sqlinj.json

अंत में fuzzer को फिर से चलाएं और सभी cake_fuzzer चल रही प्रक्रियाओं को बिना किसी SQL इंजेक्शन हमले के निष्पादित करें।

PoC उपयोग

स्थापना

रिपॉजिटरी को क्लोन करें

root@kitploit:~
git clone https://github.com/Zigrin-Security/CakeFuzzer /cake_fuzzer

चेतावनी Cake Fuzzer /cake_fuzzer के अलावा किसी अन्य पथ पर ठीक से काम नहीं करेगा। ध्यान रखें कि इसे फ़ाइल सिस्टम की रूट निर्देशिका के अंतर्गत रखा जाना चाहिए, /root, /tmp आदि के बगल में।

रिपॉजिटरी में निर्देशिका बदलें

root@kitploit:~
cd /cake_fuzzer

वेनव

यदि आप पहले से वर्चुअल एनवायरनमेंट में नहीं हैं तो इसमें प्रवेश करें:

root@kitploit:~
source /cake_fuzzer/precheck.sh

या

root@kitploit:~
source venv/bin/activate

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

root@kitploit:~
cp config/config.example.ini config/config.ini

config/config.ini कॉन्फ़िगर करें:

root@kitploit:~
WEBROOT_DIR="/var/www/html"         # परीक्षण किए गए एप्लिकेशन के `webroot` निर्देशिका का पथ
CONCURRENT_QUEUES=5                            # [वैकल्पिक] एक साथ निष्पादित हमलों की संख्या
ONLY_PATHS_WITH_PREFIX="/"                      # [वैकल्पिक] फज़र केवल इस उपसर्ग से शुरू होने वाले हमलों के लिए हमले उत्पन्न करेगा
EXCLUDE_PATHS=""                                # [वैकल्पिक] फज़र उन सभी पथों को स्कैन करने से बाहर कर देगा जो इस नियमित अभिव्यक्ति से मेल खाते हैं। यदि यह खाली है, तो सभी पथों को संसाधित किया जाएगा
PAYLOAD_GUID_PHRASE="§CAKEFUZZER_PAYLOAD_GUID§" # [वैकल्पिक] आंतरिक कीवर्ड जो हमले से ठीक पहले अद्वितीय पेलोड आईडी के साथ प्रतिस्थापित किया जाता है
INSTRUMENTATION_INI="config/instrumentation_cake4.ini" # [वैकल्पिक] एप्लिकेशन के कस्टम इंस्ट्रुमेंटेशन का पथ

निष्पादन

घटक प्रक्रियाएं शुरू करें

चेतावनी Cake Fuzzer स्कैन के दौरान, आपके एप्लिकेशन की कई कार्यक्षमताओं को अनियंत्रित तरीके से कई बार आह्वान किया जाएगा। इसके परिणामस्वरूप आपके एप्लिकेशन से जुड़ी बाहरी सेवाओं से कनेक्शन जारी हो सकते हैं, और उनसे डेटा खींचा या धकेला जा सकता है। संवेदनशील बाहरी सेवाओं तक पहुंच के बिना पृथक नियंत्रित वातावरण में Cake Fuzzer चलाने की अत्यधिक अनुशंसा की जाती है।

नोट Cake Fuzzer ब्लैकहोलिंग, CSRF सुरक्षा और प्राधिकरण को बायपास करता है। यह डेटाबेस में पहले उपयोगकर्ता के विशेषाधिकारों के साथ सभी हमले भेजता है। यह अनुशंसा की जाती है कि इस उपयोगकर्ता के पास उच्चतम अनुमतियां हों।

एप्लिकेशन में कई घटक शामिल हैं।

चेतावनी सभी cake_fuzzer कमांड को root के रूप में निष्पादित किया जाना चाहिए।

फज़र शुरू करने से पहले सुनिश्चित करें कि आपका लक्ष्य एप्लिकेशन पूरी तरह से इंस्ट्रुमेंटेड है:

root@kitploit:~
python cake_fuzzer.py instrument check

यदि कुछ अप्रयुक्त परिवर्तन हैं तो उन्हें इसके साथ लागू करें:

root@kitploit:~
python cake_fuzzer.py instrument apply

Cake fuzzer चलाने के लिए निम्नलिखित करें (कम से कम 3 अलग-अलग टर्मिनल का उपयोग करने की अनुशंसा की जाती है):

root@kitploit:~
# पहला टर्मिनल
python cake_fuzzer.py run fuzzer                  # हमले उत्पन्न करता है, उन्हें QUEUE में जोड़ता है और नए SCANNERS पंजीकृत करता है (फिर बाहर निकलता है)
python cake_fuzzer.py run periodic_monitors       # निगरानी के लिए जिम्मेदार (रोकने के लिए CTRL+C का उपयोग करें और स्कैन के अंत में बाहर निकलें)

# दूसरा टर्मिनल
python cake_fuzzer.py run iteration_monitors     # निगरानी के लिए जिम्मेदार (रोकने के लिए CTRL+C का उपयोग करें और स्कैन के अंत में बाहर निकलें)

# तीसरा टर्मिनल
python cake_fuzzer.py run attack_queue            # ATTACK QUEUE शुरू करता है (रोकने के लिए CTRL+C का उपयोग करें और स्कैन के अंत में बाहर निकलें)

# एक बार सभी हमले निष्पादित हो जाने के बाद
python cake_fuzzer.py run registry                # पाई गई कमजोरियों के आधार पर `results.json` उत्पन्न करता है

नोट: वर्तमान में एक बग है जो लॉग (या लक्ष्य वेब ऐप की किसी भी अन्य गतिशील रूप से बदली गई फ़ाइलों) के स्वामी को बदल सकता है। इससे वेब एप्लिकेशन का सामान्य रूप से उपयोग करते समय त्रुटियां हो सकती हैं या भविष्य के Cake Fuzzer निष्पादनों पर झूठी-नकारात्मकता भी हो सकती है। MISP के लिए हम फ़ज़र के प्रत्येक निष्पादन के बाद निम्नलिखित चलाने की अनुशंसा करते हैं:

root@kitploit:~
sudo chown -R www-data:www-data /var/www/MISP/app/tmp/logs/

एक बार आपका स्कैन समाप्त हो जाए, तो इंस्ट्रुमेंटेशन को वापस लाएं:

root@kitploit:~
python cake_fuzzer.py instrument revert

फिर से चलाने के लिए

Cake fuzzer को फिर से चलाने के लिए, निम्नलिखित करें:

एप्लिकेशन लॉग हटाएं (उदाहरण के रूप में, MISP लॉग /var/www/MISP/app/tmp/logs में संग्रहीत हैं):

root@kitploit:~
rm  /var/www/MISP/app/tmp/logs/*

/cake_fuzzer/databases फ़ोल्डर के अंदर सभी फ़ाइलों को हटाएं:

root@kitploit:~
rm  /cake_fuzzer/databases/*

cake_fuzzer/results.json फ़ाइल हटाएं (पहले पिछले स्कैन परिणामों को सहेजना या जांचना न भूलें):

root@kitploit:~
rm  /cake_fuzzer/results.json

अंत में 3 टर्मिनलों के साथ पिछली चलाने की प्रक्रिया का फिर से पालन करें

FAQ / समस्या निवारण

अटैक क्यू कुछ नहीं कर रहा लगता है

अटैक क्यू डेटाबेस में निष्पादित हमलों को 'executed' के रूप में चिह्नित करता है, इसलिए पूरे सूट को फिर से चलाने के लिए आपको डेटाबेस को हटाना और हमलों को फिर से जोड़ना होगा।

डेटाबेस हटाने से पहले मॉनिटर और अटैक क्यू को मारना सुनिश्चित करें।

root@kitploit:~
rm database.db*
python cake_fuzzer.py run fuzzer
python cake_fuzzer.py run attack_queue

लक्ष्य ऐप लॉग फ़ाइलों में लॉग सहेजता नहीं है

यह संभवतः इस तथ्य के कारण है कि पिछली लॉग फ़ाइलों को root द्वारा अधिलेखित कर दिया गया था। Cake Fuzzer root के रूप में काम करता है, इसलिए नई लॉग फ़ाइलें root को स्वामी के रूप में बनाई जाएंगी। उन्हें हटाएं:

root@kitploit:~
chmod -R a+w /var/www/MISP/app/tmp/logs/*

रीबूट के बाद VM के /cake_fuzzer निर्देशिका में कोई फ़ाइल नहीं

यदि आप अपने होस्ट मशीन के साथ cake fuzzer साझा करने के लिए VM का उपयोग करते हैं, तो सुनिश्चित करें कि होस्ट निर्देशिका गेस्ट VM से ठीक से जुड़ी हुई है:

root@kitploit:~
sudo vmhgfs-fuse .host:/cake_fuzzer /cake_fuzzer -o allow_other -o uid=1000

Cake Fuzzer चलाने के बाद लक्ष्य ऐप क्रैश हो जाता है

Cake Fuzzer मशीन की रूट निर्देशिका के अंतर्गत स्थित होना चाहिए और आधार निर्देशिका का नाम विशेष रूप से cake_fuzzer होना चाहिए।

root@kitploit:~
mv CakeFuzzer/ /cake_fuzzer

instrument apply चलाने पर "पैच" त्रुटियां

इंस्ट्रुमेंटेशन प्रक्रिया Cake Fuzzer निष्पादन प्रवाह का एक हिस्सा है। जब आप instrument apply और फिर instrument check चलाते हैं, तो इन दोनों कमांड के परिणामस्वरूप समान संख्या में परिवर्तन होने चाहिए।

यदि आपको कोई "पैच" त्रुटि मिलती है, तो आप पैच को मैन्युअल रूप से लागू कर सकते हैं और समस्या पैदा करने वाली पैच फ़ाइल को हटा सकते हैं। पैच /cake_fuzzer/cakefuzzer/instrumentation/pathces निर्देशिका के अंतर्गत स्थित हैं।

निर्भरता त्रुटियां

स्थापना या चलाने के दौरान यदि आपको पायथन निर्भरता त्रुटि मिलती है, तो वर्चुअल एनवायरनमेंट पर स्विच करने के बाद निर्भरताओं को मैन्युअल रूप से स्थापित करें।

पहले वर्चुअल एनवायरनमेंट पर स्विच करें:

root@kitploit:~
source venv/bin/activate

उसके बाद आप pip3 के साथ निर्भरताएं स्थापित कर सकते हैं।

root@kitploit:~
pip3 install -r requriments.txt

क्रेडिट्स

प्रेरणा

यह परियोजना निम्नलिखित से प्रेरित थी:

  • Miguel Filipe Beatriz द्वारा Fuzzing का उपयोग करके वेब एप्लिकेशन में कमजोरियों का स्वचालित पता लगाना – https://fenix.tecnico.ulisboa.pt/downloadFile/563345090413029/ExtendedAbstract-MEICA-67039-MiguelBeatriz.pdf
  • Krzysztof Zając द्वारा WPGarlic – https://github.com/kazet/wpgarlic

कमीशन

यह परियोजना निम्नलिखित द्वारा कमीशन की गई थी: Cake Fuzzer लक्ज़मबर्ग सशस्त्र बल

प्रारंभिक योगदानकर्ता

  • Dawid Czarnecki (मूल लेखक)
  • Adam Bobowski (मुख्य डेवलपर)
  • @Kattorne
  • Ulaş Deniz İlhan
टूल डाउनलोड करें