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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
GitMonitor — गिटहब पर उजागर हो सकने वाली संवेदनशील जानकारी की लगातार निगरानी करने का एक तरीका | Kitploit
उपकरण/GitHubGitHub/talkaboutcybersecurity/gitmonitor
OSINT (खुला स्रोत खुफिया)टोहीजानकारी एकत्र करनासीक्रेट डिटेक्शन
GitHubtalkaboutcybersecurity/gitmonitor

GitMonitor

गिटहब पर उजागर हो सकने वाली संवेदनशील जानकारी की लगातार निगरानी करने का एक तरीका

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

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

सभी देखें →

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

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

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

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

GitMonitor

License: GPL v3

GitMonitor

GitHub पर संवेदनशील जानकारी के लीक होने पर निरंतर निगरानी रखने का एक तरीका

सारांश

मुझे पता है कि GitHub पर वर्तमान में लीक संवेदनशील जानकारी खोजने के लिए कई अन्य उपकरण उपलब्ध हैं, मैं स्वयं अभी भी उनमें से कुछ का उपयोग करता हूं। हालांकि, मुझे लगता है कि उनमें अभी भी कुछ विशेषताओं की कमी है जैसे:

  • अन्य उपकरण उन रिपॉजिटरी में संवेदनशील जानकारी खोजने पर अधिक ध्यान केंद्रित करते हैं जिनमें Git पता पहले से इनपुट किया गया हो। जब मैंने GitMonitor विकसित किया, उस समय इसी तरह के केवल कुछ ही उपकरण थे जो पहले ढूंढने पर ध्यान केंद्रित करते थे कि किन रिपॉजिटरी पर ध्यान देने की आवश्यकता है, सभी प्रासंगिक रिपॉजिटरी ढूंढें, फिर जाँच करें कि उनमें संवेदनशील जानकारी मौजूद है या नहीं।

  • संवेदनशील जानकारी की जाँच के लिए नियमों के अलावा, उपकरण में रुचि की रिपॉजिटरी खोजने के नियम भी होने चाहिए। विचाराधीन रिपॉजिटरी वे हो सकती हैं जिनमें कंपनी या प्रोजेक्ट से संबंधित कीवर्ड हों।

  • यदि आप बग बाउंटी हंटर हैं तो आपको एक समय में केवल कुछ लक्ष्यों में रुचि होगी। हालांकि, यदि आप किसी कंपनी के सुरक्षा इंजीनियर हैं, तो आपको यह जानना होगा कि जब आपकी कंपनी या प्रोजेक्ट से संबंधित कोई रिपॉजिटरी सामने आती है और उसमें संवेदनशील जानकारी हो सकती है। ऐसी रिपॉजिटरी GitHub पर कहीं भी, किसी भी नाम से और किसी भी खाते द्वारा पोस्ट की जा सकती है। आपको ऐसी रिपॉजिटरी दिखाई देते ही एक अलर्ट प्राप्त करना चाहिए (निरंतर निगरानी)।

  • उपकरण में एक लचीला रिपोर्टिंग तंत्र है।

यही कारण है कि मैंने यह उपकरण - GitMonitor बनाया। GitMonitor आपकी आवश्यकता के अनुसार खोजने के लिए नियमों के दो अलग-अलग सेटों का उपयोग करता है। द सर्चिंग रूलसेट उन रिपॉजिटरी की खोज करेगा जो आपके संगठन या आंतरिक प्रोजेक्ट्स, या किसी और चीज़ से संबंधित हो सकती हैं, मिलान वाली रिपॉजिटरी को स्थानीय रूप से क्लोन करेगा। फिर, संवेदनशील फ़िल्टरिंग रूलसेट यह जाँच करेगा कि उन रिपॉजिटरी में संवेदनशील जानकारी मौजूद है या नहीं। अंत में उपकरण Slack के माध्यम से रिपोर्ट करेगा। आप इस उपकरण को Cronjob के साथ उपयोग करके एक निरंतर निगरानी प्रणाली बना सकते हैं ताकि आपके संगठन से संबंधित संवेदनशील जानकारी के GitHub पर लीक होने पर नज़र रख सकें और Slack के माध्यम से परिणाम प्राप्त कर सकें।

अपडेट 15 जून, 2020: हमने संस्करण 1.0 में अपडेट किया है। यह संस्करण कुछ बग्स को ठीक करता है ताकि Gitmonitor स्थिर रूप से काम कर सके। यदि आप पिछले संस्करणों का उपयोग कर रहे हैं तो हम git pull करने की अनुशंसा करते हैं।

विशेषताएं

  • नियमों के दो अलग-अलग सेटों का उपयोग करें: एक खोज नियम सेट (yaml) रुचि की रिपॉजिटरी खोजने के लिए, और एक फ़िल्टर नियम सेट (regex) यह जाँचने के लिए कि क्या उन रुचि के कंटेनरों में संवेदनशील जानकारी है। खोज नियम (yaml) और फ़िल्टरिंग नियम (regex) अलग-अलग परिभाषित किए गए हैं। उपयोगकर्ता आसानी से और सहज रूप से yaml नियम और regex परिभाषित कर सकते हैं।

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

  • फ़िल्टर नियम सेट: आप रिपॉजिटरी में मौजूद संवेदनशील जानकारी खोजने के लिए आसानी से regex जोड़ या संशोधित कर सकते हैं।

  • पहली रिपॉजिटरी जो खोज नियमों से मेल खाती है, उसे स्थानीय रूप से क्लोन किया जाएगा। फिर, फ़िल्टर नियम सेट जाँच करेगा कि इस रिपॉजिटरी में संवेदनशील जानकारी मौजूद है या नहीं। संवेदनशील जानकारी की जाँच पूरी करने के बाद, Gitmonitor परिणाम रिकॉर्ड करेगा और स्थान बचाने के लिए इस रिपॉजिटरी को स्थानीय रूप से स्वचालित रूप से हटा देगा, इसके बाद इस प्रक्रिया को तब तक दोहराएगा जब तक सभी प्रासंगिक रिपॉजिटरी नहीं मिल जातीं और जाँच नहीं हो जातीं।

  • Slack के माध्यम से रिपोर्ट करें।

  • इस उपकरण को निरंतर निगरानी के लिए Cronjob द्वारा शेड्यूल किया जा सकता है।

कार्य आरेख

आवश्यकताएं

  • Python3
  • Python3-pip.
  • Ubuntu 18.04 और MacOS पर परीक्षण किया गया। हमारा मानना है कि Gitmonitor अन्य सिस्टम पर भी अच्छी तरह से काम कर सकता है।

सेटअप

1. आवश्यकताओं को स्थापित करें

root@kitploit:~
> python3 -m pip install -r requirements.txt

कृपया सुनिश्चित करें कि आपके पास Pyyaml संस्करण 5x या उच्चतर स्थापित है (pip3 install --ignore-installed PyYAML)

2. सुनिश्चित करें कि आपने कॉन्फ़िगरेशन फ़ाइल (config.ini) में सभी आवश्यक जानकारी कॉन्फ़िगर की है

निम्न तालिका कॉन्फ़िगरेशन फ़ाइल में प्रत्येक कुंजी का अर्थ बताती है:

3. Github खाता क्रेडेंशियल परिभाषित करें। ऐसा करने के 2 तरीके हैं

  • पर्यावरण चर में क्रेडेंशियल जानकारी परिभाषित करें:
root@kitploit:~
> export GIT_USERNAME=आपका Github उपयोगकर्ता नाम
> export GIT_PASSWORD=आपकी Github व्यक्तिगत कुंजी या पासवर्ड
  • या कॉन्फ़िगरेशन फ़ाइल में क्रेडेंशियल जानकारी परिभाषित करें (अनुशंसित नहीं):

    • config.ini फ़ाइल खोलें।
    • क्रेडेंशियल जानकारी को user और password कुंजियों के मान में भरें।

कॉन्फ़िगरेशन फ़ाइल का उदाहरण जब आप पर्यावरण चर में क्रेडेंशियल जानकारी परिभाषित करते हैं

उदाहरण कॉन्फ़िगरेशन फ़ाइल

4. नियम लिखें (खोज नियम)। अपने नियमों को rules निर्देशिका में रखें

आप कई कीवर्ड परिभाषित करने के लिए नियम टेम्पलेट की तरह कई अलग-अलग yaml फ़ाइलें बना सकते हैं। एक नियम फ़ाइल नीचे दी गई छवि की तरह दिखाई देगी:

उदाहरण नियम फ़ाइल

5. libs/regex.py फ़ाइल में अधिक रेगुलर एक्सप्रेशन जोड़ें - संवेदनशील फ़िल्टरिंग नियम (वैकल्पिक)

6. Gitmonitor चलाएं

root@kitploit:~
> python3 gitmonitor.py

7. आप Cronjob का उपयोग करके उपकरण के लिए स्वचालित रनिंग शेड्यूल कर सकते हैं।

उदाहरण के लिए:

उदाहरण cronjob

करने के लिए

  • सुविधा: ईमेल के माध्यम से रिपोर्ट करें।
  • सुविधा: परिणाम Elasticsearch को भेजें।
  • डेव: setup.py लिखें
  • डेव: Dockerfile लिखें

मेरी टीम

  • टोनी - प्रोजेक्ट लीड
  • मुसाशी137 - कोर डेव

विशेष धन्यवाद

  • GitMAD रेगुलर एक्सप्रेशन-आधारित संवेदनशील जानकारी खोज तंत्र के लिए

योगदान

इस प्रोजेक्ट के कई क्षेत्रों में सुधार किया जा सकता है और वर्तमान कोड को रिफैक्टर करने और नई सुविधाओं को लागू करने के दौरान महत्वपूर्ण परिवर्तन हो सकते हैं। समुदाय से सुधारों और पुल रिक्वेस्ट के साथ प्रतिक्रिया की अत्यधिक सराहना की जाएगी और स्वीकार की जाएगी।

सामान्य तौर पर, हम "फोर्क-एंड-पुल" Git वर्कफ़्लो का पालन करते हैं।

  1. GitHub पर रिपो को फोर्क करें
  2. प्रोजेक्ट को अपनी मशीन पर क्लोन करें
  3. अपनी शाखा में परिवर्तन कमिट करें
  4. अपने काम को वापस अपने फोर्क पर पुश करें
  5. एक पुल रिक्वेस्ट सबमिट करें ताकि हम आपके परिवर्तनों की समीक्षा कर सकें

नोट: पुल रिक्वेस्ट करने से पहले "अपस्ट्रीम" से नवीनतम को मर्ज करना सुनिश्चित करें!

दान करें

मुझे एक कॉफ़ी खरीदें

टूल डाउनलोड करें
कुंजीविवरण
userGithub उपयोगकर्ता नाम - यदि आपने पर्यावरण चर के माध्यम से Github क्रेडेंशियल सेट किए हैं तो खाली छोड़ दें
passGithub पासवर्ड - यदि आपने पर्यावरण चर के माध्यम से Github क्रेडेंशियल सेट किए हैं तो खाली छोड़ दें
webhooksGitMonitor से Slack पर संदेश पोस्ट करने के लिए इनकमिंग वेबहुक टोकन
ruleवह निर्देशिका जिसमें खोज नियम सेट है
sourceरिपॉजिटरी डाउनलोड करने के लिए निर्देशिका
logइस निर्देशिका में वह JSON फ़ाइल होगी जो प्रत्येक स्कैन के बाद स्थिति रिकॉर्ड करती है, इस JSON फ़ाइल का उपयोग स्कैन के बीच परिणामों की तुलना करने के लिए किया जाता है (नई रिपॉजिटरी की पहचान करने के लिए)
startस्कैन शुरू करने के लिए बैनर और संवेदनशील फ़िल्टरिंग नियम सेट स्कैन के परिणाम के लिए बैनर परिभाषित करें - Slack को भेजे गए परिणामों में दिखाई देगा
endस्कैन समाप्त करने के लिए बैनर और खोज नियम सेट स्कैन के परिणाम के लिए बैनर परिभाषित करें - Slack को भेजे गए परिणामों में दिखाई देगा
allसभी रिपॉजिटरी दिखाने के लिए बैनर परिभाषित करें - Slack को भेजे गए परिणामों में दिखाई देगा