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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
azureOutlookC2 — Azure Outlook कमांड और नियंत्रण (C2) - अपने Outlook मेलबॉक्स से समझौता किए गए Windows डिवाइस को दूरस्थ रूप से नियंत्रित करें। उत्तर कोरियाई APT InkySquid / ScarCruft / APT37 के लिए खतरा अनुकरण उपकरण। TTP: C2 संचालन के लिए Microsoft Graph API का उपयोग करें। | Kitploit
उपकरण/GitHubGitHub/boku7/azureoutlookc2
क्लाउड सुरक्षाकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंटAPI सुरक्षा
GitHubboku7/azureoutlookc2

azureOutlookC2

Azure Outlook कमांड और नियंत्रण (C2) - अपने Outlook मेलबॉक्स से समझौता किए गए Windows डिवाइस को दूरस्थ रूप से नियंत्रित करें। उत्तर कोरियाई APT InkySquid / ScarCruft / APT37 के लिए खतरा अनुकरण उपकरण। TTP: C2 संचालन के लिए Microsoft Graph API का उपयोग करें।

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

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

सभी देखें →

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

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

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

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

Azure Outlook C2

Azure Outlook कमांड और कंट्रोल जो Microsoft Graph API का उपयोग C2 संचार और डेटा निकासी के लिए करता है।

अपने Outlook मेलबॉक्स से एक समझौता किए गए Windows डिवाइस को दूरस्थ रूप से नियंत्रित करें।

निर्माता: Bobby Cooke (@0xBoku) और Paul Ungur (@C5pider)

CTI खतरा अपडेट (02/13/22)

Elastic Security Labs ने जंगल में SIESTAGRAPH का उपयोग करते हुए सक्रिय घुसपैठ की खोज की है। SIESTAGRAPH आउटलुक और OneDrive का उपयोग करके कमांड और कंट्रोल के लिए Microsoft के GraphAPI के साथ इंटरैक्ट करता है। Azure Outlook C2 संचार पर उनके शानदार मैलवेयर विश्लेषण ब्लॉग नीचे देखें।

  • https://www.elastic.co/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry
  • https://www.elastic.co/security-labs/update-to-the-REF2924-intrusion-set-and-related-campaigns

अपडेट (09/27/21)

  • Azure Outlook C2 के पास अब एक क्रॉस-प्लेटफ़ॉर्म ग्राफ़िकल यूज़र इंटरफ़ेस (GUI) है!
    • Paul Ungur (@C5pider) को बड़ा धन्यवाद जिन्होंने मुझे QT के साथ C2 GUI बनाना सिखाया!

C2 GUI के साथ Outlook मेलबॉक्स के माध्यम से कंप्यूटर को नियंत्रित करना

Outlook मेलबॉक्स के माध्यम से कंप्यूटर को नियंत्रित करना

  • अपडेट मूल Outlook मेलबॉक्स नियंत्रण का समर्थन करता है।

यदि आपके पास समान परियोजनाओं के बारे में कोई जानकारी है, APT/रैनसमवेयर-समूहों द्वारा जंगल में उपयोग किए जा रहे इस TTP के बारे में CTI जानकारी, रक्षा सलाह, Azure C2 खतरे के अनुकरण में रुचि रखने वाले Red Teamers के लिए सिफारिशें, या कोई अन्य जानकारी जो इस ब्लॉग/रीडमी में अच्छी वृद्धि होगी, कृपया मुझसे संपर्क करें या पुल रिक्वेस्ट सबमिट करें। धन्यवाद!

Azure Outlook C2 के बारे में

इस प्रोजेक्ट में एक इम्प्लांट शामिल है जो एक हमलावर-नियंत्रित Azure Outlook मेलबॉक्स को बीकन करता है, जो कमांड और कंट्रोल (C2) के रूप में कार्य करता है; समझौता किए गए डिवाइस को दूरस्थ रूप से नियंत्रित करना। हमलावरों के C2 मेलबॉक्स के लिए एक Azure रिफ्रेश टोकन संकलन के दौरान इम्प्लांट में हार्ड-कोड किया जाता है। जब Windows डिवाइस पर निष्पादित किया जाता है, तो इम्प्लांट Microsoft Graph API के माध्यम से हमलावरों के ड्राफ्ट मेलबॉक्स तक पहुँचता है। इम्प्लांट हमलावरों के ड्राफ्ट मेलबॉक्स से कमांड निर्देश पढ़ता है, स्थानीय रूप से समझौता किए गए Windows डिवाइस पर निर्देशों को निष्पादित करता है, और नए ड्राफ्ट संदेशों के निर्माण के माध्यम से कमांड आउटपुट हमलावर को लौटाता है। इम्प्लांट इस व्यवहार को हमलावर के मेलबॉक्स से दूरस्थ रूप से नियंत्रित किए जाने के रूप में तब तक दोहराता है जब तक कि इम्प्लांट होस्ट प्रक्रिया बाहर नहीं निकल जाती।

मैंने यह क्यों बनाया

मैंने लगभग छह महीने पहले Trustwave में SpiderLabs Red Team पर Red Teaming शुरू की। एक अभियान के दौरान मुझे प्रसिद्ध Stephan Borosh (rvrsh3ll|@424f424f) के साथ काम करने का सम्मान मिला। स्टीव और Matt Kingstone ने मुझे Azure डोमेन फ्रंटिंग के बारे में सब कुछ सिखाया, और मैं यह देखकर हैरान रह गया कि कमांड और कंट्रोल ट्रैफ़िक को ajax.microsoft.com जैसे वैध डोमेन का उपयोग करके HTTPS के माध्यम से बाहर निकाला जा सकता है। यह Microsoft के TLS प्रमाणपत्रों का भी उपयोग करता है! दुर्भाग्य से मेरे लिए, मैंने Red Teaming उसी समय शुरू की जब Azure पर डोमेन फ्रंटिंग समाप्त हो गई। भले ही Azure पर डोमेन फ्रंटिंग मर चुकी थी, फिर भी Azure के साथ बहुत सारी शानदार Red Team तकनीकें की जा सकती थीं।

स्टीव ने मुझे Azure डिवाइस कोड फ़िशिंग से परिचित कराया। इस समय के दौरान मैंने Red Teaming के लिए Azure और Microsoft Graph API में गहराई से गोता लगाया। हमने Dr. Nestori Syynimaa (@DrAzureAD) के महान कार्य से व्युत्पन्न TokenTactics टूल बनाया, और हमने द आर्ट ऑफ़ द डिवाइस कोड फिश ब्लॉग बनाया यदि आप हमारी पद्धति में रुचि रखते हैं।

TokenTactics बनाने और MS Graph API के साथ प्रयोग करते समय, मैंने पाया कि Microsoft Graph API को C2 चैनल के रूप में उपयोग करना संभव है। MS Graph API को C2 चैनल के रूप में उपयोग करने के कई अलग-अलग तरीके हैं, और मैं इसकी खोज करने वाला एकमात्र व्यक्ति (या पहला) नहीं हूँ। VX-Underground, जिसे @smelly__vx ने बनाया - HellsGate तकनीक के निर्माता/प्रकाशक, ने पिछले महीने जानकारी जारी की कि उत्तर कोरियाई उन्नत लगातार खतरा (APT) समूह "InkySquid" (उर्फ ScarCruft और APT37) C2 संचालन के लिए Microsoft Graph API का उपयोग करता है। Twitter और LinkedIn पर इस प्रोजेक्ट का एक टीज़र जारी करने के बाद, कई DFIR पेशेवरों ने टिप्पणी की कि C2 संचालन के लिए Microsoft Graph API का उपयोग करने की यह तकनीक महीनों पहले से रैनसमवेयर समूहों द्वारा जंगल में सक्रिय रूप से उपयोग की जा रही है।

Red Team अभियान के दौरान, मैंने C2 चैनल के रूप में MS Graph API के साथ Cobalt Strike को काम करने का प्रयास किया। दुर्भाग्य से, मैं असफल रहा, लेकिन यह अभी भी एक भविष्य का लक्ष्य है। Cobalt Strike के साथ इसे काम करने में मुझे जिस समस्या का सामना करना पड़ता है, वह यह है कि MS Graph API संचार के लिए 2 टोकन का उपयोग करता है। पहला टोकन रिफ्रेश टोकन है जो 90 दिनों तक रह सकता है। दूसरा टोकन, एक्सेस टोकन, एक अस्थायी टोकन है जो लगभग एक घंटे तक रहता है। MS Graph API के लिए प्रत्यक्ष संचार एक्सेस टोकन के साथ प्रमाणीकरण के माध्यम से किया जाता है। एक बार एक्सेस टोकन समाप्त हो जाने पर, नए एक्सेस टोकन प्राप्त करने के लिए रिफ्रेश टोकन का उपयोग किया जा सकता है। चूंकि मैं अभी भी Red Teaming और Cobalt Strike विकास में नया हूँ, इसलिए मैं यह पता नहीं लगा सका कि लगातार नए एक्सेस टोकन प्राप्त करने और HTTPS बीकन के अनुरोधों के Authorization हेडर में इन बदलते एक्सेस टोकन को भेजने के लिए Cobalt Strike Malleable C2 प्रोफ़ाइल का उपयोग कैसे किया जाए। Twitter पर टीज़र जारी करने के बाद, Joe Vest, Alfie Champion, और समुदाय के अन्य रॉकस्टार ने मुझे Cobalt Strike के साथ इसे काम करने के बारे में कुछ महान दिशा दी है! उम्मीद है कि भविष्य में इस प्रोजेक्ट का Cobalt Strike फॉलो-अप होगा ;)

इम्प्लांट निष्पादन प्रवाह

  1. हमलावर के हार्ड-कोडेड रिफ्रेश टोकन का उपयोग करके MS Graph API के लिए एक एक्सेस टोकन प्राप्त करें।
  • यह होस्ट graph.microsoft.com के लिए HTTPS TCP संचार के माध्यम से किया जाता है।
  • यह ट्रैफ़िक वैध Microsoft वेब सर्वर से लौटाए गए TLS प्रमाणपत्र का उपयोग करके एन्क्रिप्ट किया गया है।
  • इम्प्लांट HTTPS संचार के लिए WinInet डायनामिक-लिंक लाइब्रेरी का उपयोग करता है।
  • हार्ड-कोडेड हमलावर रिफ्रेश टोकन 90 दिनों के लिए अच्छा होना चाहिए।
    • यदि इम्प्लांट से समझौता किया जाता है, तो हमलावर हार्ड-कोडेड रिफ्रेश टोकन को रद्द कर सकता है ताकि मैलवेयर रिवर्स इंजीनियरों तक पहुँच को प्रतिबंधित किया जा सके।
  1. इम्प्लांट को हमलावरों के MS Graph API के लिए एक एक्सेस टोकन प्राप्त करने के बाद, इम्प्लांट एक अनंत लूप में प्रवेश करता है।
  • यदि लूप के दौरान कोई इंटरनेट कनेक्शन नहीं है या इंटरनेट कनेक्शन बाधित होता है, तो इम्प्लांट 3 मिनट तक सोएगा और पुनः प्रयास करेगा।
  • इम्प्लांट समय का ट्रैक रखता है, और यदि 15 मिनट बीत चुके हैं, तो यह संचार जारी रखने के लिए एक नया एक्सेस टोकन प्राप्त करेगा।
  1. लूप में पहला कार्य MS Graph API एक्सेस टोकन का उपयोग करके हमलावरों के ड्राफ्ट मेलबॉक्स तक पहुँचना और समझौता किए गए Windows डिवाइस पर निष्पादित करने के लिए कमांड के लिए सबसे हालिया संदेश पढ़ना है।
  • ड्राफ्ट मेलबॉक्स को चुना गया क्योंकि इस तरह SMTP के माध्यम से कोई ईमेल नहीं भेजा जा रहा है।
  1. एक बार कमांड प्राप्त हो जाने के बाद, यह निर्धारित करने के लिए इसे पार्स किया जाता है कि यह कौन सा मेटा कमांड निष्पादित करेगा। वर्तमान में 3 मेटा कमांड हैं: cmd, sleep, exit
  • cmd: मेटा कमांड के बाद निम्न स्ट्रिंग लेता है और इसे एक चाइल्ड प्रक्रिया को जन्म देकर निष्पादित करता है।
  • sleep: मेटा कमांड के बाद निम्न शब्द लेता है और इम्प्लांट की नींद को आपूर्ति किए गए मान (मिलीसेकंड में) में बदल देगा।
  • exit: होस्ट प्रक्रिया से बाहर निकलता/समाप्त करता है।
  1. यदि मेटा कमांड cmd है तो इम्प्लांट कमांड को निष्पादित करने के लिए एक चाइल्ड प्रक्रिया बनाएगा, चाइल्ड प्रक्रिया अपने मानक आउटपुट को एक पाइप पर लिखेगी, कमांड निष्पादन के बाद चाइल्ड प्रक्रिया बाहर निकल जाती है, और होस्ट इम्प्लांट प्रक्रिया पाइप के माध्यम से चाइल्ड प्रक्रिया के आउटपुट को पढ़ लेगी।
  2. इम्प्लांट को निष्पादित कमांड से आउटपुट मिलने के बाद, इम्प्लांट MS Graph API का उपयोग करके एक नया ड्राफ्ट ईमेल बनाएगा जिसमें कमांड आउटपुट होगा।
  3. इसके बाद इम्प्लांट खाली बॉडी के साथ एक दूसरा ड्राफ्ट ईमेल बनाएगा।
  • यह हमलावरों के ड्राफ्ट मेलबॉक्स के भीतर कमांड आउटपुट की लॉगिंग की अनुमति देता है।
  • यह हमलावर को इम्प्लांट द्वारा निष्पादित किए जाने वाले अगले कमांड को दर्ज करने के लिए एक ताजा ड्राफ्ट संदेश के साथ कतारबद्ध करता है।
  1. कमांड निष्पादित होने और आउटपुट हमलावर को लौटाए जाने के बाद, इम्प्लांट हमलावर द्वारा नियंत्रित समय के लिए सोएगा, और फिर इस लूप को दोहराएगा।

निर्देश

  1. Azure खाता सदस्यता स्थापित करने के लिए मेरे ब्लॉग पोस्ट द आर्ट ऑफ़ द डिवाइस कोड फिश का पालन करके Red Team Azure इंफ्रास्ट्रक्चर स्थापित करें जिसका उपयोग कमांड और कंट्रोल के रूप में किया जाएगा:
  • Azure खाता सदस्यता
    • Azure खाता बनाते समय, अपने खाते को अपने Red Team संगठन से जोड़कर Microsoft DFIR टीम की सहायता करें। इससे जब वे जाँच कर रहे हों कि क्या आप एक वास्तविक खतरा हैं, खतरा अनुकरण सेवाएँ प्रदान कर रहे हैं, या आक्रामक सुरक्षा अनुसंधान कर रहे हैं, तो उनकी टीम का समय बचाने में मदद मिलती है।
    • अधिक जानकारी के लिए Nick Carr- Lead, Cyber Crime Intelligence / Investigations @Microsoft देखें।
  • Azure Active Directory टेनेंट
  • Azure Active Directory के लिए Office 365
  • आउटलुक कमांड और कंट्रोल मेलबॉक्स के लिए एक उपयोगकर्ता बनाएँ
  • TokenTactics PowerShell मॉड्यूल स्थापित करें
  1. आपके द्वारा अभी बनाए गए Azure AD का टेनेंट आईडी प्राप्त करने के लिए TokenTactics का उपयोग करें:
root@kitploit:~
PS C:\Users\boku\Desktop\TokenTactics-main> Import-Module .\TokenTactics.psd1
PS C:\Users\boku\Desktop\TokenTactics-main> Get-TenantID -domain theharvester.world
1d5551a0-f4f2-4101-9c3b-394247ec7e08
  1. azureOutlookC2.c फ़ाइल के अंदर अपना TenantID char tenantId[] वेरिएबल में जोड़ें।
  2. TokenTactics का उपयोग करके C2 मेलबॉक्स उपयोगकर्ता के साथ स्वयं को डिवाइस कोड फ़िश करके एक Azure रिफ्रेश टोकन प्राप्त करें:
root@kitploit:~
# PowerShell सत्र में TokenTactics मॉड्यूल आयात करें
PS C:\Users\boku> cd .\TokenTactics
PS C:\Users\boku\TokenTactics> Import-Module .\TokenTactics.psd1
# 'user_code' प्राप्त करने के लिए एक डिवाइस कोड फ़िश अनुरोध शुरू करें
PS C:\Users\boku\> Get-AzureToken -Client Graph
user_code        : ERDVDCNHH
  1. microsoft.com/devicelogin पर जाएँ, TokenTactics से user_code दर्ज करें, और C2 मेलबॉक्स उपयोगकर्ता के साथ लॉग इन करें।
  2. TokenTactics चलाने वाले PowerShell सत्र में, स्वयं पर सफल डिवाइस कोड फ़िश से रिफ्रेश टोकन कॉपी करें।
  • यदि आपको TokenTactics कैसे काम करता है इसके बारे में अधिक जानकारी की आवश्यकता है, तो कृपया द आर्ट ऑफ़ द डिवाइस कोड फिश देखें।
  1. अपने रिफ्रेश टोकन को azureOutlookC2.c फ़ाइल के अंदर char refreshToken[] वेरिएबल में जोड़ें।
root@kitploit:~
void main() {
    // Variables
    char refreshToken[] = "0.AXwAoFFVHfL0AUGcOzlCR-x-CNYOWdOzUgJBrv-q0ikqsBx8ACA.AgABAAAAAA...
//                           ^अपना रिफ्रेश टोकन यहाँ रखें और संकलित करें
  1. azureOutlookC2.c संकलित करें।
root@kitploit:~
# x64 MinGW के साथ संकलित करें:
bobby.cooke$ cat compile.sh
x86_64-w64-mingw32-gcc -m64 -mwindows -Os azureOutlookC2.c -o azureOutlookC2.exe -lwininet
bobby.cooke$ bash compile.sh
  1. Windows डिवाइस पर azureOutlookC2.exe PE फ़ाइल निष्पादित करें।
  2. हमलावर कंप्यूटर से हमलावर के रूप में, एक ब्राउज़र खोलें, outlook.office.com में लॉग इन करें, और अपने मेलबॉक्स से इम्प्लांट चला रहे Windows डिवाइस को नियंत्रित करें।

प्रारंभिक परियोजना लक्ष्य

  • एक कार्यशील प्रूफ़ ऑफ़ कॉन्सेप्ट बनाएं जो C2 चैनल के लिए Microsoft Graph API का उपयोग करता है और अपने ईमेल से एक कंप्यूटर को नियंत्रित करता है।

यह परियोजना क्या है

  • यह परियोजना एक प्रूफ़ ऑफ़ कॉन्सेप्ट है, जो प्रदर्शित करती है कि एक हमलावर C2 संचालन के लिए Microsoft Graph API का उपयोग कैसे कर सकता है।
  • यह परियोजना अन्य आक्रामक सुरक्षा शोधकर्ताओं के लिए सीखने के लिए है।
  • मैंने व्यक्तिगत रूप से इस C2 चैनल की रक्षा या पहचान करने के कोई शानदार तरीके नहीं खोजे हैं। मेरी आशा है कि इसे अपने से बड़े रक्षक दिमागों को प्रदान करके, इसके परिणामस्वरूप कुछ शानदार रक्षात्मक तकनीकें होंगी।

यह परियोजना क्या नहीं है

  • यह परियोजना स्वयं एक पूरी तरह कार्यात्मक C2 नहीं है, जो OPSEC सुरक्षित अभियानों के लिए तैयार हो।

रक्षकों से पहचान और रोकथाम के विचार (जोड़ने के लिए कृपया पुल रिक्वेस्ट सबमिट करें)

Mehmet Ergene (@Cyb3rMonk) पहचान सलाह

  1. "Graph API से जुड़ने वाले अनुप्रयोगों का बेसलाइनिंग और विसंगतियों की जाँच करना एक विचार हो सकता है। हालाँकि आसानी से बाईपास किया जा सकता है।"
  2. "हमेशा की तरह, बीकनिंग ट्रैफ़िक का पता लगाना। (मैं Graph API और समान चीज़ों को कवर करने के लिए एक सुधार करूँगा)"

F-Secure - Alfie Champion द्वारा साझा किया गया

  • "Microsoft ऐसे संगठन का एक उदाहरण है जिसने अपनी सेवाओं के दुरुपयोग से संगठनों की रक्षा के लिए सक्रिय रूप से कदम उठाए हैं। इसने हाल ही में Azure अनुप्रयोगों के दुर्भावनापूर्ण उपयोग का पता लगाने और ब्लॉक करने की क्षमता विकसित की है। विशेष रूप से, F-Secure ने देखा है कि C3 फ्रेमवर्क में उपयोग किया जाने वाला कोई भी अनुप्रयोग (जैसे OneDrive365 और Outlook365 (O365)) अब दुर्भावनापूर्ण के रूप में पहचाना जाता है, और बाद में Microsoft द्वारा अक्षम कर दिया जाता है (लगभग तीन घंटे के भीतर)।"

क्रेडिट्स / संदर्भ

  • Sektor7 मैलवेयर विकास पाठ्यक्रम
  • @passthehashbrwn - मिंगव के साथ गतिशील पेलोड जनरेशन
  • Raphael Mudge - Cobalt Strike के साथ Red Team Ops (2 of 9): इंफ्रास्ट्रक्चर
  • Raphael Mudge - Cobalt Strike के साथ Red Team Ops (3 of 9): C2
  • Microsoft Graph REST API v1.0
  • Microsoft WinInet
  • StackOverFlow - प्रक्रिया बनाएँ और stdout कैप्चर करें
  • Microsoft - पुनर्निर्देशित इनपुट और आउटपुट के साथ एक चाइल्ड प्रक्रिया बनाना

समान शांत परियोजनाएँ/अनुसंधान/ब्लॉग

F-Secure C3 - कस्टम कमांड और कंट्रोल

  • "C3 इस आवश्यकता के जवाब में बनाया गया था। यह एक उपकरण है जो Red Teams को विषम कमांड और कंट्रोल चैनलों (C2) को तेजी से विकसित करने और उपयोग करने की अनुमति देता है।"
  • RIP OFFICE365 COMMAND AND CONTROL – WE HARDLY KNEW YOU
  • F-Secure C3 - कस्टम कमांड और कंट्रोल GitHub रेपो

Chirag Savla द्वारा Callidus

  • "यह (Callidus) .net कोर फ्रेमवर्क में C# भाषा का उपयोग करके विकसित किया गया है। ऑपरेटरों को कमांड और कंट्रोल संचार चैनल स्थापित करने के लिए O365 सेवाओं का लाभ उठाने की अनुमति देता है। यह O365 सेवाओं के साथ संवाद करने के लिए Microsoft Graph APIs का उपयोग करता है।"
  • 3xpl01tc0d3r/Callidus GitHub रेपो
  • Callidus का परिचय - ब्लॉग पोस्ट

Azure एप्लिकेशन प्रॉक्सी C2 - Adam Chester (@_xpn_)

  • Azure एप्लिकेशन प्रॉक्सी C2 - अनुसंधान ब्लॉग
टूल डाउनलोड करें