
Azure Servicebus के साथ Cobalt Strike External C2 एकीकरण, Azure Servicebus के माध्यम से C2 ट्रैफ़िक
Cobalt Strike का Azure Servicebus के साथ बाहरी C2 एकीकरण, Azure Servicebus के माध्यम से C2 ट्रैफिक

CobaltBus DotNetCore बाइनरी जो CobaltStrike के ExternalC2 के साथ एकीकृत होती है, एकाधिक बीकन्स पर नज़र रखने के लिए एक स्थानीय SqliteDB बनाएगी। CobaltBus में आने वाले संदेश कैप्चर किए जाएंगे और डेटाबेस में लिखे जाएंगे। "CobaltBus.db" और "CobaltBus-log.db" नाम के डेटाबेस उस निर्देशिका में बनाए जाएंगे जहां CobaltBus.dll चल रही है। एक बार जब कोई Beacon बाइनरी चलती है, तो वह baseQueueName कतार में "INITIALIZE" संदेश भेजेगी, जिसमें एक यादृच्छिक रूप से उत्पन्न BeaconId और Pipename होगा। CobaltBus हैंडलर तब इसे कैप्चर करेगा, भेजे गए BeaconId के आधार पर दो नई कतारें बनाएगा और उनमें जाएगा, CobaltStrike से स्टेजर शेलकोड का अनुरोध करेगा, और उसे नई कतार में "INJECT" संदेश के रूप में वापस भेजेगा। यहां से, Beacon प्रोजेक्ट कैप्चर किए गए शेलकोड को मेमोरी में इंजेक्ट करता है और उत्पन्न पाइप नाम के माध्यम से CobaltStrike बीकन के साथ कनेक्शन स्थापित करता है। जब CobaltBus से कोई कमांड जारी की जाती है, तो उसे बीकन की संबंधित कतार के नीचे और फिर बीकन पाइप नाम में धकेल दिया जाता है।
वर्तमान संदेश प्रवाह में कई खामियां हैं जिन्हें वास्तविक जीवन संचालन के लिए इसका उपयोग करने से पहले संबोधित करने की आवश्यकता होगी। इसे एक गंदा POC समझें। काश कोई माउस और C2 विशेषज्ञ होता जो इसे उपयोग करने के लिए सुरक्षित बना सकता....
@ryHanson द्वारा किए गए कार्य को प्रमुख श्रेय https://github.com/ryhanson/ExternalC2