
स्रोत कोड प्रबंधन आक्रमण टूलकिट
स्रोत कोड प्रबंधन आक्रमण टूलकिट - SCMKit एक टूलकिट है जिसका उपयोग SCM सिस्टम पर हमला करने के लिए किया जा सकता है। SCMKit उपयोगकर्ता को SCM सिस्टम और उपयोग करने के लिए आक्रमण मॉड्यूल निर्दिष्ट करने की अनुमति देता है, साथ ही संबंधित SCM सिस्टम के लिए मान्य क्रेडेंशियल (उपयोगकर्ता नाम/पासवर्ड या API कुंजी) निर्दिष्ट करता है। वर्तमान में, SCMKit द्वारा समर्थित SCM सिस्टम GitHub Enterprise, GitLab Enterprise और Bitbucket Server हैं। समर्थित आक्रमण मॉड्यूल में टोह (reconnaissance), विशेषाधिकार वृद्धि (privilege escalation) और निरंतरता (persistence) शामिल हैं। SCMKit को मॉड्यूलर दृष्टिकोण में बनाया गया था, ताकि भविष्य में सूचना सुरक्षा समुदाय द्वारा नए मॉड्यूल और SCM सिस्टम जोड़े जा सकें।
इस परियोजना में नीचे दी गई थर्ड-पार्टी लाइब्रेरीज़ का उपयोग किया गया है।
| लाइब्रेरी | URL | लाइसेंस |
|---|---|---|
| Octokit | https://github.com/octokit/octokit.net | MIT License |
| Fody | https://github.com/Fody/Fody | MIT License |
| GitLabApiClient | https://github.com/nmklotas/GitLabApiClient | MIT License |
| Newtonsoft.Json | https://github.com/JamesNK/Newtonsoft.Json | MIT License |
परियोजना को स्वयं संकलित करने के लिए Visual Studio को सेटअप करने हेतु नीचे दिए गए चरणों का पालन करें। इसके लिए एक .NET लाइब्रेरी की आवश्यकता होती है जिसे NuGet पैकेज मैनेजर से स्थापित किया जा सकता है।
https://api.nuget.org/v3/index.json के साथ एक पैकेज स्रोत जोड़ेंInstall-Package Costura.Fody -Version 3.3.3Install-Package OctokitInstall-Package GitLabApiClientInstall-Package Newtonsoft.Jsonनीचे दी गई तालिका दिखाती है कि प्रत्येक मॉड्यूल कहाँ समर्थित है
| हमला परिदृश्य | मॉड्यूल | व्यवस्थापक की आवश्यकता है? | GitHub Enterprise | GitLab Enterprise | Bitbucket Server |
|---|---|---|---|---|---|
| टोह | listrepo | नहीं | X | X | X |
| टोह | searchrepo | नहीं | X | X | X |
| टोह | searchcode | नहीं | X | X | X |
| टोह | searchfile | नहीं | X | X | X |
| टोह | listsnippet | नहीं | X | ||
| टोह | listrunner | नहीं | X | ||
| टोह | listgist | नहीं | X | ||
| टोह | listorg | नहीं | X | ||
| टोह | privs | नहीं | X | X | |
| टोह | protection | नहीं | X | ||
| निरंतरता | listsshkey | नहीं | X | X | X |
| निरंतरता | removesshkey | नहीं | X | X | X |
| निरंतरता | createsshkey | नहीं | X | X | X |
| निरंतरता | listpat | नहीं | X | X | |
| निरंतरता | removepat | नहीं | X | X | |
| निरंतरता | createpat | हाँ (केवल GitLab Enterprise) | X | X | |
| विशेषाधिकार वृद्धि | addadmin | हाँ | X | X | X |
| विशेषाधिकार वृद्धि | removeadmin | हाँ | X | X | X |
| टोह | adminstats | हाँ | X |
किसी विशेष SCM सिस्टम में उपयोग की जा रही रिपॉज़िटरीज़ खोजें
listrepo मॉड्यूल प्रदान करें, साथ ही कोई भी प्रासंगिक प्रमाणीकरण जानकारी और URL दें। यह रिपॉज़िटरी का नाम और URL आउटपुट करेगा।
यह उन सभी रिपॉज़िटरी को सूचीबद्ध करेगा जिन्हें एक उपयोगकर्ता देख सकता है।
SCMKit.exe -s github -m listrepo -c userName:password -u https://github.something.local
SCMKit.exe -s github -m listrepo -c apiKey -u https://github.something.local
यह उन सभी रिपॉज़िटरी को सूचीबद्ध करेगा जिन्हें एक उपयोगकर्ता देख सकता है।
SCMKit.exe -s gitlab -m listrepo -c userName:password -u https://gitlab.something.local
SCMKit.exe -s gitlab -m listrepo -c apiKey -u https://gitlab.something.local
यह उन सभी रिपॉज़िटरी को सूचीबद्ध करेगा जिन्हें एक उपयोगकर्ता देख सकता है।
SCMKit.exe -s bitbucket -m listrepo -c userName:password -u https://bitbucket.something.local
SCMKit.exe -s bitbucket -m listrepo -c apiKey -u https://bitbucket.something.local
C:>SCMKit.exe -s gitlab -m listrepo -c username:password -u https://gitlab.hogwarts.local
================================================== Module: listrepo System: gitlab Auth Type: Username/Password Options: Target URL: https://gitlab.hogwarts.local