
स्रोत कोड प्रबंधन आक्रमण टूलकिट
सोर्स कोड मैनेजमेंट अटैक टूलकिट - SCMKit एक टूलकिट है जिसका उपयोग SCM सिस्टम पर हमला करने के लिए किया जा सकता है। SCMKit उपयोगकर्ता को SCM सिस्टम और उपयोग करने के लिए अटैक मॉड्यूल निर्दिष्ट करने की अनुमति देता है, साथ ही संबंधित SCM सिस्टम के लिए मान्य क्रेडेंशियल (उपयोगकर्ता नाम/पासवर्ड या API कुंजी) निर्दिष्ट करता है। वर्तमान में, SCMKit द्वारा समर्थित SCM सिस्टम GitHub Enterprise, GitLab Enterprise और Bitbucket Server हैं। समर्थित अटैक मॉड्यूल में रिकॉनिसेंस, प्रिविलेज एस्केलेशन और पर्सिस्टेंस शामिल हैं। 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