
मैलवेयर कॉन्फ़िगरेशन और पेलोड निष्कर्षण
Python 2 के आसन्न जीवन-अंत (1 जनवरी 2020) के साथ, CAPEv1 को चरणबद्ध तरीके से हटा दिया जाएगा। कृपया जितनी जल्दी हो सके Python 3 संस्करण में अपग्रेड करें।
CAPE एक मैलवेयर सैंडबॉक्स है। यह Cuckoo से व्युत्पन्न है और मैलवेयर से पेलोड और कॉन्फ़िगरेशन निकालने के उद्देश्य से मैलवेयर विश्लेषण की प्रक्रिया को स्वचालित करने के लिए डिज़ाइन किया गया है। यह CAPE को पेलोड हस्ताक्षरों के आधार पर मैलवेयर का पता लगाने की अनुमति देता है, साथ ही मैलवेयर रिवर्स इंजीनियरिंग और खतरे की खुफिया जानकारी के कई लक्ष्यों को स्वचालित करता है।
एक सामुदायिक संस्करण ऑनलाइन उपलब्ध है जो किसी के लिए भी मुफ्त है:
https://cape.contextis.com/submit
CAPE एक नमूने पर अपने प्रारंभिक रन से कई मैलवेयर तकनीकों या व्यवहारों के साथ-साथ विशिष्ट मैलवेयर परिवारों का पता लगा सकता है। यह पता लगाने से आगे के विश्लेषण के लिए, एक विशिष्ट पैकेज के साथ आगे का रन शुरू हो सकता है, ताकि मैलवेयर पेलोड और संभवतः इसका कॉन्फ़िगरेशन निकाला जा सके।
CAPE एक विशेष डिबगर और API हुक के माध्यम से मैलवेयर को नियंत्रित करके काम करता है। CAPE पैकेज को ट्रिगर करने के लिए पता लगाना API या Yara हस्ताक्षरों पर आधारित हो सकता है। डिबगर व्यक्तिगत निर्देशों, मेमोरी क्षेत्रों या फ़ंक्शन कॉल पर ब्रेकपॉइंट सेट करने की अनुमति देने के लिए Yara हस्ताक्षरों या API हुक का उपयोग करता है। एक बार रुचि के क्षेत्र तक पहुँचने के बाद, इसे प्रसंस्करण और विश्लेषण, और संभवतः कॉन्फ़िगरेशन पार्सिंग के लिए हेरफेर और डंप किया जा सकता है।
CAPE जिन तकनीकों या व्यवहारों का पता लगाता है और जिनके लिए पैकेज हैं, उनमें शामिल हैं:
इन व्यवहारों के लिए पैकेज आगे के विश्लेषण के लिए इंजेक्ट, निकाले या डीकंप्रेस किए जा रहे पेलोड को डंप करेंगे। यह अक्सर अनपैक्ड रूप में मैलवेयर पेलोड होता है।
CAPE स्वचालित रूप से प्रत्येक प्रक्रिया के लिए एक प्रक्रिया डंप बनाता है, या, DLL के मामले में, मेमोरी में DLL का मॉड्यूल इमेज डंप बनाता है। यह सरल पैकर्स के साथ पैक किए गए नमूनों के लिए उपयोगी है, जहाँ अक्सर मॉड्यूल इमेज डंप पूरी तरह से अनपैक्ड होता है। Yara हस्ताक्षर प्रक्रिया डंप पर ट्रिगर हो सकते हैं, जिसके परिणामस्वरूप संभवतः एक विशिष्ट पैकेज या कॉन्फ़िगरेशन पार्सिंग के साथ सबमिशन हो सकता है।
CAPE में एक पैकेज भी है जो गतिशील रूप से उन नमूनों को अनपैक कर सकता है जो 'हैक्ड' (संशोधित) UPX का उपयोग करते हैं, जो मैलवेयर लेखकों के बीच बहुत लोकप्रिय है। इन नमूनों को CAPE के डिबगर में उनके OEP (मूल प्रवेश बिंदु) तक चलाया जाता है, जहाँ उन्हें डंप, फिक्स किया जाता है और उनके आयात स्वचालित रूप से पुनर्निर्मित किए जाते हैं, जो विश्लेषण के लिए तैयार होते हैं।
वर्तमान में CAPE में निम्नलिखित मैलवेयर परिवारों के लिए कॉन्फ़िगरेशन और पेलोड डंप करने वाले विशिष्ट पैकेज हैं:
CAPE में निम्नलिखित मैलवेयर परिवारों के लिए कॉन्फ़िग पार्सर/डिकोडर हैं, जिनके पेलोड एक व्यवहारिक पैकेज द्वारा स्वचालित रूप से निकाले जाते हैं:
कई अन्य मैलवेयर परिवारों के पेलोड व्यवहारिक पैकेजों द्वारा स्वचालित रूप से निकाले जाते हैं, जिनके लिए CAPE पेलोड का पता लगाने के लिए Yara हस्ताक्षरों का उपयोग करता है। यह सूची बढ़ रही है, और इसमें शामिल हैं:
कॉन्फ़िगरेशन डेटा या तो परिवार पैकेजों से, या व्यवहारिक पैकेजों से प्राप्त पेलोड में आउटपुट हो सकता है। फिर Yara-आधारित पहचान के माध्यम से और CAPE के कॉन्फ़िग पार्सिंग फ्रेमवर्क, malwareconfig.com से RATDecoders फ्रेमवर्क और DC3-MWCP (डिफेंस साइबर क्राइम सेंटर - मैलवेयर कॉन्फ़िगरेशन पार्सर) में से किसी एक के आधार पर कॉन्फ़िग पार्सिंग की जा सकती है। malwareconfig.com से कई पार्सर/डिकोडर भी शामिल हैं, जिनमें अन्य कई के अलावा Sakula, DarkComet, PredatorPain और PoisonIvy शामिल हैं। इस फ्रेमवर्क और पार्सर के लिए Kevin Breen/TechAnarchy का धन्यवाद (https://github.com/kevthehermit/RATDecoders), और उनके फ्रेमवर्क के लिए DC3 का धन्यवाद (https://github.com/Defense-Cyber-Crime-Center/DC3-MWCP)। TrickBot पार्सर के लिए Jason Reaves (@sysopfb) और PlugX पार्सर के लिए Fabien Perigaud को विशेष धन्यवाद।
उपयोगिता पैकेज भी शामिल हैं: 'DumpOnAPI' एक मॉड्यूल को डंप करने की अनुमति देता है जब वह एक विशिष्ट API फ़ंक्शन को कॉल करता है जिसे वेब इंटरफ़ेस में निर्दिष्ट किया जा सकता है। 'DumpConfigRegion' सामान्यतः उपयोग किए जाने वाले API कॉल के लिए C2 जानकारी या अन्य कॉन्फ़िग डेटा वाले मेमोरी क्षेत्र को डंप करने की अनुमति देता है। ये पैकेज नए नमूनों या कॉन्फ़िग को जल्दी से अनपैक/डंप करने के लिए उपयोगी हो सकते हैं। 'Trace' पैकेज निर्देशों पर सेट करने के लिए चार ब्रेकपॉइंट (RVA मान) स्वीकार करके डिबगर तक त्वरित पहुँच प्रदान करता है, जहाँ एक छोटा निर्देश ट्रेस आउटपुट होगा। एक वैकल्पिक 'base-on-api' पैरामीटर इमेज बेस को API कॉल द्वारा सेट करने की अनुमति देता है।
CAPE डिबगर मेमोरी पते या क्षेत्र पर पढ़ने, लिखने या निष्पादित करने पर ब्रेकपॉइंट सेट करने की अनुमति देता है, साथ ही सिंगल-स्टेप मोड भी। यह मैलवेयर निष्पादन पर बारीक नियंत्रण की अनुमति देता है जब तक कि कोड या कॉन्फ़िगरेशन डेटा वाले रुचि के मेमोरी क्षेत्रों को डंप करना संभव न हो। ब्रेकपॉइंट पैकेज कोड, API हुक या Yara हस्ताक्षरों द्वारा गतिशील रूप से सेट किए जा सकते हैं। एम्बेडेड distorm लाइब्रेरी के लिए धन्यवाद, डिबगर सिंगल-स्टेप मोड के दौरान या ब्रेकपॉइंट हिट होने पर निर्देशों का डिसअसेंबली आउटपुट कर सकता है, जिसके परिणामस्वरूप निर्देश ट्रेस प्राप्त होते हैं।
CAPE द्वारा एक सरल API के उपयोग के माध्यम से प्रक्रियाओं, मॉड्यूल और मेमोरी क्षेत्रों को विभिन्न रूप से डंप किया जा सकता है। इन डंपों को फिर कॉन्फ़िगरेशन जानकारी के लिए स्कैन और पार्स किया जा सकता है। निष्पादन योग्य मॉड्यूल को डंप होने पर फिक्स किया जाता है, और उनके आयात स्वचालित रूप से पुनर्निर्मित भी किए जा सकते हैं (Scylla पर आधारित: https://github.com/NtQuery/Scylla)। पैकेज API हुक, CAPE डिबगर, या दोनों के संयोजन के आधार पर लिखे जा सकते हैं। वर्तमान में कई अन्य व्यवहारिक और मैलवेयर परिवार पैकेज और पार्सर काम में हैं, इसलिए इस स्थान पर नज़र रखें।
मॉनिटर DLL के लिए कोड वाला रिपॉजिटरी जो इन पैकेजों का आधार बनाता है, एक अलग है: https://github.com/ctxis/capemon। यह रिपॉजिटरी विभिन्न पैकेजों के लिए शाखाओं में व्यवस्थित है।
CAPE spender-sandbox (https://github.com/spender-sandbox) से व्युत्पन्न है, जो Cuckoo Sandbox (https://github.com/cuckoosandbox) से व्युत्पन्न है, इसलिए Brad Spengler, Claudio Guarnieri, Jurriaan Bremer और अनगिनत अन्य Cuckoo योगदानकर्ताओं का धन्यवाद जिनके बिना यह काम संभव नहीं होता। यह VirusTotal से Yara (https://github.com/VirusTotal/yara) पर भी निर्भर करता है। oletools के लिए Decalage (@decalage2), PDF उपकरणों के लिए Didier Stevens और peepdf (@peepdf), Vba2Graph के लिए MalwareCantFly और binGraph के लिए Matt Holley (@mrmolley) का धन्यवाद। doomedraven (@D00m3dR4v3n), Sandor Nemes (@sandornemes), Kevin Ross और Enzo (@enzok) को उनके समर्थन और योगदान के लिए बहुत-बहुत धन्यवाद।
कृपया अधिक मैलवेयर परिवारों, पैकर्स, तकनीकों या कॉन्फ़िगरेशन पार्सर के लिए नए पैकेज बनाने में मदद करके इस परियोजना में योगदान दें। वैकल्पिक रूप से CAPE विकास के अधिक विवरण के लिए @CapeSandbox या Kevin O'Reilly से संपर्क करें।
sudo ./kvm-qemu.sh all <उपयोगकर्ता नाम>sudo ./cuckoo.sh all cape* सभी स्क्रिप्ट में सहायता -h शामिल है, लेकिन कृपया यह समझने के लिए स्क्रिप्ट की जाँच करें कि वे क्या कर रही हैं।