
Python-आधारित मैलवेयर विश्लेषण सैंडबॉक्स जो Sysinternals Procmon के साथ एकीकृत होता है ताकि YARA स्कैनिंग और IOC निर्माण के साथ स्वचालित रूप से रनटाइम संकेतकों को संग्रह, विश्लेषण और रिपोर्ट किया जा सके।
नोरिबेन मैलवेयर विश्लेषण सैंडबॉक्स
संपर्क जानकारी: ट्विटर पर @bbaskin brian _at_ thebaskins _dot_ com
नोरिबेन एक पायथन-आधारित स्क्रिप्ट है जो सिसइंटरनल्स प्रॉकमॉन के साथ मिलकर काम करती है ताकि मैलवेयर के रनटाइम संकेतकों को स्वचालित रूप से एकत्र, विश्लेषित और रिपोर्ट किया जा सके। संक्षेप में, यह आपको किसी एप्लिकेशन को चलाने, एक कीप्रेस दबाने और नमूने की गतिविधियों की एक सरल टेक्स्ट रिपोर्ट प्राप्त करने की अनुमति देता है।
नोरिबेन न केवल आपको सैंडबॉक्स की तरह मैलवेयर चलाने की अनुमति देता है, बल्कि आपको मैन्युअल रूप से मैलवेयर को विशेष तरीकों से चलाने के दौरान सिस्टम-व्यापी घटनाओं को लॉग करने की भी अनुमति देता है। उदाहरण के लिए, यह सुन सकता है जब आप किसी ऐसे एप्लिकेशन को चलाते हैं जिसमें अलग-अलग कमांड-लाइन विकल्प या उपयोगकर्ता इंटरैक्शन की आवश्यकता होती है। या, डीबगर में एप्लिकेशन के माध्यम से कदम दर कदम आगे बढ़ने पर सिस्टम देख सकता है।
जबकि नोरिबेन मैलवेयर विश्लेषण के लिए डिज़ाइन किया गया था, इसका व्यापक रूप से सामान्य सॉफ्टवेयर अनुप्रयोगों के ऑडिट के लिए भी उपयोग किया गया है। 2013 में इसका उपयोग टॉर प्रोजेक्ट द्वारा टॉर ब्राउज़र बंडल के सार्वजनिक ऑडिट प्रदान करने के लिए किया गया था।
नीचे एक वीएम-चेकिंग मैलवेयर को डीबग करने का एक वीडियो है, जिसमें अभी भी सैंडबॉक्स परिणाम प्राप्त होते हैं (माउस पॉइंटर के 5 पिक्सेल दूर होने के कारण गलत क्लिक :))
नोरिबेन को संचालित करने के लिए केवल Sysinternals procmon.exe (या procmon64.exe) की आवश्यकता होती है। इसे किसी पूर्व-फ़िल्टरिंग की आवश्यकता नहीं है (हालांकि इससे बहुत मदद मिलेगी) क्योंकि इसमें सिस्टम गतिविधि से अवांछित शोर को कम करने के लिए कई श्वेतसूची आइटम शामिल हैं।
अधिक विस्तृत विवरण के लिए, ब्लैक हैट 2015 आर्सेनल से मेरी स्लाइड डेक देखें। और एक अधिक विस्तृत ब्लॉग पोस्ट: http://ghettoforensics.blogspot.com/2013/04/noriben-your-personal-portable-malware.html
मैंने एक अत्यधिक वांछित फ्रंटएंड ऑपरेटर, NoribenSandbox.py भी शामिल किया है। यह स्क्रिप्ट आपको एक गेस्ट VM के अंदर नोरिबेन के निष्पादन को स्वचालित करने और रिपोर्ट प्राप्त करने की अनुमति देती है। यह वर्तमान में OSX पर चलता है (लेकिन पोर्ट किया जाएगा) और इसके लिए जिम्मेदार है: एक पूर्वनिर्धारित VM और स्नैपशॉट को स्पिन करना, VM पर मैलवेयर कॉपी करना, नोरिबेन और मैलवेयर शुरू करना, एक निर्धारित अवधि तक प्रतीक्षा करना, परिणामों को होस्ट पर ZIP के रूप में कॉपी करना, और VM का स्क्रीन कैप्चर लेना। आप --update का उपयोग करके अपने होस्ट से स्वचालित रूप से नवीनतम नोरिबेन कॉपी भी कर सकते हैं, ताकि जब आप स्क्रिप्ट में बदलाव करें तो आपको लगातार नए स्नैपशॉट न बनाने पड़े।
उसे क्रिया में देखना चाहते हैं?
यदि आपके पास YARA सिग्नेचर फ़ाइलों का एक फ़ोल्डर है, तो आप इसे --yara विकल्प के साथ निर्दिष्ट कर सकते हैं। बनाई गई प्रत्येक नई फ़ाइल को इन सिग्नेचरों के विरुद्ध स्कैन किया जाएगा और परिणाम आउटपुट परिणामों में प्रदर्शित होंगे।
यदि आपके पास VirusTotal API है, तो इसे "virustotal.api" नामक फ़ाइल में रखें (या सीधे स्क्रिप्ट में एम्बेड करें) ताकि वायरल परिणामों की संख्या प्राप्त करने के लिए MD5 फ़ाइल हैश को VT में स्वचालित रूप से सबमिट किया जा सके।
आप ऑटो-अनदेखा करने के लिए MD5 की सूचियाँ जोड़ सकते हैं (जैसे आपकी सभी सिस्टम फ़ाइलें)। md5deep का उपयोग करें और उन्हें एक टेक्स्ट फ़ाइल में डालें, उन्हें पढ़ने के लिए --hash का उपयोग करें। यह अंततः परिवर्तनों के अंतर्गत जाएगा।
आप सैंडबॉक्स-उपयोग के लिए स्क्रिप्ट को स्वचालित कर सकते हैं। निष्पादन समय को स्वचालित करने के लिए -t <सेकंड> और मैलवेयर फ़ाइल निर्दिष्ट करने के लिए --cmd "path\exe" का उपयोग करके, आप स्वचालित रूप से मैलवेयर चला सकते हैं, परिणामों को कॉपी कर सकते हैं, और फिर एक नया नमूना चलाने के लिए वापस लौट सकते हैं।
--generalize सुविधा स्वचालित रूप से निरपेक्ष पथों को बेहतर IOC विकास के लिए विंडोज एनवायरनमेंट पथों से प्रतिस्थापित करेगी। उदाहरण के लिए, C:\Users\malware_user\AppData\Roaming\malware.exe स्वचालित रूप से %AppData%\malware.exe में हल हो जाएगा।
उपयोग:
--===[ Noriben v1.7.2
--===[ @bbaskin
usage: Noriben.py [-h] [-c CSV] [-p PML] [-f FILTER] [--hash HASH]
[--hashtype {MD5,SHA1,SHA256}] [--headless] [-t TIMEOUT]
[--output OUTPUT] [--yara YARA] [--generalize] [--cmd CMD]
[-d]
optional arguments:
-h, --help show this help message and exit
-c CSV, --csv CSV Re-analyze an existing Noriben CSV file
-p PML, --pml PML Re-analyze an existing Noriben PML file
-f FILTER, --filter FILTER
Specify alternate Procmon Filter PMC
--hash HASH Specify hash whitelist file
--hashtype {MD5,SHA1,SHA256}
Specify hash type
--headless Do not open results on VM after processing
-t TIMEOUT, --timeout TIMEOUT
Number of seconds to collect activity
--output OUTPUT Folder to store output files
--yara YARA Folder containing YARA rules
--generalize Generalize file paths to their environment variables.
Default: True
--cmd CMD Command line to execute (in quotes)
-d, --debug Enable debugging
Brian Baskin <आपका नाम यहाँ> <प्रलेखन लेखकों का स्वागत है!>
कॉपीराइट 2015 Brian Baskin
Apache License, Version 2.0 (the "License") के तहत लाइसेंस प्राप्त; आप इस कार्य का उपयोग केवल लाइसेंस के अनुपालन में ही कर सकते हैं। आप लाइसेंस की एक प्रति LICENSE फ़ाइल में, या निम्नलिखित पते पर प्राप्त कर सकते हैं:
http://www.apache.org/licenses/LICENSE-2.0
जब तक लागू कानून द्वारा आवश्यक न हो या लिखित रूप में सहमति न दी गई हो, लाइसेंस के तहत वितरित सॉफ्टवेयर "जैसा है" आधार पर वितरित किया जाता है, बिना किसी प्रकार की वारंटी या शर्तों के, या तो व्यक्त या निहित। लाइसेंस के तहत अनुमतियों और सीमाओं को नियंत्रित करने वाली विशिष्ट भाषा के लिए लाइसेंस देखें।