
गिटहब पर सामग्री के लिए उन्नत खनन हेतु उपकरण
+---------------------------------------------------+
| डेवलपर्स कोई दायित्व नहीं लेते हैं और इस |
| प्रोग्राम के कारण होने वाले किसी भी दुरुपयोग या |
| क्षति के लिए जिम्मेदार नहीं हैं |
+---------------------------------------------------+
GitMiner v3 एक मॉड्यूलर टूल है जिसे सार्वजनिक GitHub रिपॉजिटरी में संवेदनशील जानकारी खोजने के लिए डिज़ाइन किया गया है। यह उन्नत dork क्वेरी, regex पैटर्न मिलान का उपयोग करता है, और व्यापक खतरा खुफिया रिपोर्ट तैयार करता है।
यह प्रोजेक्ट मूल Gitminer स्क्रिप्ट का पूर्ण पुनर्गठन है, जो रखरखाव, स्केलेबिलिटी और पेशेवर सॉफ्टवेयर आर्किटेक्चर सिद्धांतों पर केंद्रित है।
प्रोजेक्ट को चिंताओं को अलग करने और स्पष्टता में सुधार करने के लिए एक मॉड्यूलर संरचना में व्यवस्थित किया गया है।
gitminer_v3/
├── config/ # कॉन्फ़िगरेशन फ़ाइलें
│ ├── paths.yaml # निर्देशिका, फ़ाइल और API पथ
│ ├── labels.yaml # पैरामीटर के लिए Regex-से-लेबल मैपिंग
│ └── patterns.yaml # रहस्य पहचान के लिए Regex पैटर्न
├── data/ # स्थायी डेटा भंडारण
│ └── gitminer_history.sqlite # इतिहास के लिए SQLite डेटाबेस
├── gitminer/ # मुख्य Python पैकेज
│ ├── __init__.py
│ ├── config_manager.py # सभी कॉन्फ़िगरेशन लोड और प्रबंधित करता है
│ ├── github_client.py # सभी GitHub API इंटरैक्शन संभालता है
│ ├── file_manager.py # फ़ाइल डाउनलोड और भंडारण प्रबंधित करता है
│ ├── pattern_analyzer.py # रहस्यों के लिए फ़ाइलें स्कैन करता है
│ ├── database.py # SQLite डेटाबेस संचालन प्रबंधित करता है
│ ├── report_generator.py # Markdown रिपोर्ट तैयार करता है
│ └── utils.py # साझा उपयोगिता फ़ंक्शन
├── raw/ # GitHub से डाउनलोड की गई फ़ाइलें संग्रहीत करता है
├── reports/ # उत्पन्न खतरा खुफिया रिपोर्ट संग्रहीत करता है
├── gitminer_v3.py # मुख्य निष्पादन योग्य स्क्रिप्ट
├── requirements.txt # Python निर्भरताएँ
└── README.md # यह फ़ाइल
public_repo स्कोप के साथ एक GitHub पर्सनल एक्सेस टोकन (PAT)।रिपॉजिटरी को क्लोन करें या स्रोत कोड डाउनलोड करें।
अपना GitHub टोकन सेट करें: GitMiner को API के साथ इंटरैक्ट करने के लिए GitHub टोकन की आवश्यकता होती है। आपको इसे पर्यावरण चर के रूप में सेट करना होगा।
export GITHUB_TOKEN="your_github_personal_access_token_here"
आवश्यक Python पैकेज स्थापित करें:
pip install -r requirements.txt
GitMiner का व्यवहार config/ निर्देशिका में फ़ाइलों द्वारा नियंत्रित होता है।
paths.yamlयह फ़ाइल सभी महत्वपूर्ण पथ और API सेटिंग्स को परिभाषित करती है।
directories: निर्दिष्ट करता है कि कच्ची फ़ाइलें, रिपोर्ट और डेटा कहाँ संग्रहीत करें।files: डेटाबेस और डिफ़ॉल्ट CSV आउटपुट के लिए नाम परिभाषित करता है।github: GitHub API के लिए सेटिंग्स शामिल करता है, जैसे URL, टाइमआउट और डिफ़ॉल्ट परिणाम सीमाएँ।labels.yamlयह फ़ाइल regex पैटर्न को मानव-पठनीय लेबल से मैप करती है। इसका उपयोग मुख्य रूप से कोड में पैरामीटर नामों (जैसे, ftp_user, api_key) की पहचान करने के लिए किया जाता है।
# प्रारूप: "regex_pattern": "LABEL_NAME"
"(?i)(api[_\\- ]?key|apikey)": "API_KEY"
"(?i)(password|passwd)": "PASSWORD"
patterns.yamlइस फ़ाइल में कुंजी, टोकन और क्रेडेंशियल जैसे संवेदनशील मानों का पता लगाने के लिए उपयोग किए जाने वाले मुख्य regex पैटर्न शामिल हैं।
# प्रारूप: PATTERN_NAME: "regex_pattern"
GITHUB_TOKEN: "ghp_[A-Za-z0-9_]{36,255}"
AWS_ACCESS_KEY_ID: "AKIA[0-9A-Z]{16}"
मुख्य स्क्रिप्ट gitminer_v3.py सभी संचालन के लिए प्रवेश बिंदु है।
एकल dork का उपयोग करके खोजें और रिपोर्ट तैयार करें:
python3 gitminer_v3.py -d "filename:.env DB_PASSWORD" --report
कई dorks वाली फ़ाइल का उपयोग करके खोजें:
dorks.txt नामक फ़ाइल बनाएं:
filename:wp-config.php DB_PASSWORD
filename:settings.py SECRET_KEY
extension:pem private
फिर कमांड चलाएं:
python3 gitminer_v3.py -d dorks.txt -m 500 --report
सभी डाउनलोड की गई फ़ाइलों की सूची CSV में निर्यात करें:
python3 gitminer_v3.py -d dorks.txt -o downloaded_files.csv
बिना कोई विश्लेषण किए फ़ाइलें डाउनलोड करें:
python3 gitminer_v3.py -d dorks.txt --no-analyze
GitMiner कई प्रकार के आउटपुट उत्पन्न करता है, जो raw/, reports/ और data/ निर्देशिकाओं में संग्रहीत होते हैं।
GitHub से डाउनलोड की गई सभी फ़ाइलें raw/ निर्देशिका में संग्रहीत की जाती हैं, जो dork कीवर्ड और रिपॉजिटरी नाम द्वारा व्यवस्थित होती हैं।
raw/
└── DB_PASSWORD/
└── someuser_some-repo/
└── .env
यदि --report फ़्लैग का उपयोग किया जाता है, तो प्रत्येक dork के लिए एक विस्तृत Markdown रिपोर्ट तैयार की जाती है और reports/ निर्देशिका में सहेजी जाती है। इन रिपोर्टों में शामिल हैं:
data/gitminer_history.sqlite फ़ाइल में सभी संचालनों का पूरा इतिहास होता है, जिसमें शामिल हैं:
search_history: किए गए प्रत्येक dork खोज के रिकॉर्ड।downloaded_files: डाउनलोड की गई प्रत्येक फ़ाइल के लिए मेटाडेटा।findings: पाए गए प्रत्येक रहस्य के विस्तृत रिकॉर्ड।इस डेटाबेस का उपयोग दीर्घकालिक ट्रैकिंग और उन्नत विश्लेषण के लिए किया जा सकता है।
GitMiner v3 को आसानी से विस्तार योग्य बनाने के लिए डिज़ाइन किया गया है।
config/patterns.yaml में एक नई प्रविष्टि जोड़ें।config/labels.yaml में एक नई regex-लेबल जोड़ी जोड़ें।gitminer/ पैकेज में मॉड्यूलर, ऑब्जेक्ट-ओरिएंटेड कोड अच्छी तरह से प्रलेखित है और इसे आसानी से संशोधित या विस्तारित किया जा सकता है।यह प्रोजेक्ट ओपन-सोर्स है और व्यक्तिगत और शैक्षिक उपयोग के लिए उपलब्ध है। कृपया इसका उपयोग जिम्मेदारी और नैतिक रूप से करें। लेखक इस टूल के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।
| तर्क | शॉर्ट | विवरण | आवश्यक |
|---|
--dorks | -d | Dorks वाली फ़ाइल (प्रति पंक्ति एक) या एकल dork स्ट्रिंग। | हाँ |
--token | -t | GitHub टोकन (GITHUB_TOKEN env var को ओवरराइड करता है)। | नहीं |
--max-results | -m | प्रति dork लाने के लिए अधिकतम परिणाम। (डिफ़ॉल्ट: 200) | नहीं |
--per-page | -p | API के लिए प्रति पृष्ठ परिणाम। (डिफ़ॉल्ट: 30, अधिकतम: 100) | नहीं |
--output-csv | -o | डाउनलोड की गई फ़ाइलों का सारांश CSV फ़ाइल में निर्यात करें। | नहीं |
--report | विस्तृत Markdown खतरा खुफिया रिपोर्ट तैयार करें। | नहीं | |
--no-analyze | स्थानीय फ़ाइल विश्लेषण चरण छोड़ें (केवल फ़ाइलें डाउनलोड करता है)। | नहीं |