
छद्म-दुर्भावनापूर्ण usermode memory artifact generator kit जो संक्रमित Windows OS पर वास्तविक मैलवेयर द्वारा छोड़े गए पदचिह्नों को आसानी से अनुकरण करने के लिए डिज़ाइन किया गया है।
__ .__ _____ __ __ .__ __
_____ / |_||/ __ ____/ | | | _||/ |
_ \ __ \ \ \ \ \ _/ _\ \ | |/ / \
/ __ | | /| | | || | / __ \ _| | | <| || |
( /| || |||__| (___ /___ >| ||_ __||__|
/ / / /
मैलिशियस मेमोरी आर्टिफैक्ट जनरेटर किट v1.0 | Forrest Orr | 2020
आवश्यक
--alloc-type {dll-map-hollow|dll-load-hollow|txf-dll-map-hollow|private|mapped}
वैकल्पिक
--payload-file --payload-type {PE|shellcode} --exec-method {create-thread|call|ep-jmp-hook} --stealth {wipe-headers|mirror-headers|rw-rx|dotnet|moat|peb-img-base} --moat-size --hollow-dll-file
--payload-file वह फ़ाइल जिसमें इम्प्लांट के रूप में उपयोग किए जाने वाले शेलकोड या PE में से कोई एक होता है। यदि यह उपयोगकर्ता द्वारा प्रदान नहीं किया गया है, तो निर्दिष्ट क्षेत्र प्रकार अभी भी आवंटित किया जाएगा लेकिन उसमें कोई कोड इम्प्लांट नहीं किया जाएगा। --payload-type निर्दिष्ट पेलोड फ़ाइल में संग्रहीत कोड का प्रकार। शेलकोड या MZ PE होना चाहिए। यह पैरामीटर आवश्यक है यदि कोई पेलोड फ़ाइल निर्दिष्ट की गई है। --alloc-type जिस तरह से पेलोड इम्प्लांट को रखने के लिए उपयोग की जाने वाली डायनामिक मेमोरी बनाई जानी चाहिए।
dll-map-hollow System32 में एक DLL से उत्पन्न इमेज सेक्शन का दृश्य।
dll-load-hollow LoadLibrary के माध्यम से System32 से लोड किया गया DLL।
txf-dll-map-hollow System32 से एक लेन-देन किए गए DLL से उत्पन्न इमेज सेक्शन का दृश्य जिसमें
पहले से ही पेलोड इम्प्लांट किया गया है।
private NtAllocateVirtualMemory के माध्यम से आवंटित निजी मेमोरी का एक क्षेत्र
mapped विंडोज पेज फ़ाइल से व्युत्पन्न सेक्शन का मैप किया गया दृश्य।
--exec-method पेलोड कोड को निर्दिष्ट मेमोरी क्षेत्र में इम्प्लांट करने के बाद उसे कॉल करने की विधि।
create-thread CreateThread API का उपयोग करके पेलोड निष्पादित करें।
call नियमित CALL असेंबली निर्देश का उपयोग करके पेलोड निष्पादित करें।
ep-jmp-hook प्रक्रिया EXE से इनलाइन JMP के माध्यम से पेलोड निष्पादित करें
एंट्री पॉइंट।
--stealth आवंटित क्षेत्र में वैकल्पिक अस्पष्टता।
wipe-headers मेमोरी में पेलोड के PE हेडर को 0 से ओवरराइट करता है। केवल
PE पेलोड के लिए मान्य।
mirror-headers हॉलो किए गए DLL के मूल PE हेडर को संरक्षित करता है जब उसमें पेलोड
PE फ़ाइल इम्प्लांट की जाती है। केवल PE पेलोड के लिए मान्य जो
इमेज क्षेत्र प्रकार का उपयोग करता है।
rw-rx सीधे +RWX अनुमतियों के साथ इम्प्लांट क्षेत्र आवंटित करने के बजाय,
इसे +RW के रूप में आवंटित करें और बाद में +RX पर सेट करें। केवल
निजी और मैप किए गए क्षेत्र प्रकारों के लिए मान्य।
dotnet हॉलोइंग संचालन के दौरान केवल .NET हेडर वाले DLL चुनें।
केवल इमेज क्षेत्र प्रकारों के लिए मान्य।
moat शेलकोड से पहले आवंटित क्षेत्र को 0 से प्री-पैड करें।
डिफ़ॉल्ट रूप से 1MB पैडिंग का उपयोग किया जाता है। हॉलो किए गए DLL के साथ
शेलकोड इम्प्लांट के लिए मान्य नहीं। TxF आवंटन प्रकार के साथ उपयोग नहीं किया जा सकता।
peb-img-base PEB के इमेज बेस फ़ील्ड को नव आवंटित क्षेत्र की ओर इंगित करने
के लिए अपडेट करता है।
--moat-size पेलोड इम्प्लांट से पहले उत्पन्न करने के लिए डेटा मोट का आकार। केवल तभी आवश्यक है जब मोट स्टील्थ विकल्प निर्दिष्ट किया गया हो। डिफ़ॉल्ट आकार 1MB। --hollow-dll-file हॉलोइंग आवंटन प्रकार के साथ उपयोग करने के लिए DLL का पथ मैन्युअल रूप से निर्दिष्ट करें। जब यह निर्दिष्ट नहीं किया जाता है, तो एक उपयुक्त DLL यादृच्छिक रूप से विंडोज निर्देशिका या इसकी उप-फ़ोल्डरों में से चुना जाएगा।
उदाहरण
एक मैप किए गए 32-बिट DLL इमेज के .text सेक्शन के भीतर एक 32-बिट शेलकोड इम्प्लांट बनाएं और इसे CALL निर्देश का उपयोग करके निष्पादित करें:
ArtifactsKit32.exe --payload-type shellcode --payload-file Payloads\MsgboxShellcode32.bin --alloc-type dll-map-hollow
एक +RWX मैप किए गए पेज फ़ाइल मेमोरी क्षेत्र के भीतर, इसके आवंटन आधार से +1MB ऑफसेट पर एक 64-बिट शेलकोड इम्प्लांट बनाएं और इसे KERNEL32.DLL!CreateThread API का उपयोग करके निष्पादित करें:
ArtifactsKit64.exe --payload-type shellcode --payload-file Payloads\MsgboxShellcode64.bin --alloc-type mapped --stealth moat
एक 32-बिट DLL इमेज के मैप किए गए इमेज मेमोरी के शीर्ष पर एक 32-बिट PE इम्प्लांट बनाएं, इसके मूल हेडर को संरक्षित करते हुए, और पेलोड PE के IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint को CALL के साथ बूटस्ट्रैप और निष्पादित करें।
ArtifactsKit32.exe --payload-type pe --payload-file Payloads\TestExe32.exe --alloc-type dll-map-hollow --stealth mirror-headers
एक 64-बिट DLL के संशोधित TxF सेक्शन के मैप किए गए इमेज मेमोरी के भीतर एक 64-बिट PE इम्प्लांट बनाएं, अर्थात् फैंटम DLL हॉलोइंग, और इसके IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint को आर्टिफैक्ट पैरेंट प्रक्रिया के IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint से JMP हुक के साथ निष्पादित करें:
ArtifactsKit64.exe --payload-type pe --payload-file Payloads\TestExe64.exe --alloc-type txf-dll-map-hollow --exec-method ep-jmp-hook