
लाइव मेमोरी विश्लेषण जो प्रक्रियाओं, मॉड्यूल्स, हैंडल्स, टोकन्स, थ्रेड्स, .NET असेंबली, मेमोरी एड्रेस स्पेस और एनवायरनमेंट वेरिएबल्स में मैलवेयर IOCs का पता लगाता है। हुक्स, शेलकोड, मेमोरी रीजन, मॉड्यूल्स और प्रक्रियाओं को डंप, डिटेक्ट और डिसअसेंबल करता है।

WhacAMole एक प्रोग्राम है जो मेमोरी में प्रक्रियाओं का एक समग्र तरीके से विश्लेषण करता है, मैलवेयर से संबंधित विसंगतियों का पता लगाता है और चेतावनी देता है, तथा सत्यापन, सहसंबंध या विश्लेषण के लिए सभी प्रासंगिक जानकारी को फ़ाइलों में प्रस्तुत और सहेजता है, साथ ही संदिग्ध मेमोरी क्षेत्रों, प्रक्रियाओं और मॉड्यूल को डंप करता है। इसे प्राप्त करने के लिए, यह न केवल प्रक्रियाओं के मेमोरी क्षेत्रों और उनके द्वारा लोड किए गए मॉड्यूल की विसंगतियों का विश्लेषण करता है, बल्कि प्रक्रिया द्वारा उपयोग किए जा रहे सभी मेमोरी स्थान का गहराई से विश्लेषण भी करता है। इस समय, WhacAMole दुर्भावनापूर्ण व्यवहार से संबंधित 67 चेतावनियों की पहचान करने में सक्षम है, जो केवल मैलवेयर के कारण हो सकती हैं। यह प्रक्रियाओं, मेमोरी और मॉड्यूल की 70 से अधिक गुणों को दर्शाता है, मेमोरी में पढ़ी गई उनकी कई विशेषताओं की तुलना डिस्क पर संबंधित फ़ाइल में दिखाई देने वाली विशेषताओं से करता है, संदिग्ध मेमोरी क्षेत्रों को आंशिक रूप से डिस्सेम्बल करता है और निर्यात किए गए फ़ंक्शन को आंशिक रूप से डिस्सेम्बल करता है जिन्हें मेमोरी में संशोधित किया गया है ताकि विश्लेषक अपनी स्वयं की जांच कर सकें।

अन्य समान प्रोग्रामों के विपरीत, यह सभी प्रासंगिक जानकारी को विश्लेषकों के लिए उपलब्ध कराता है, उन विशेषताओं को लेबल करता है जो विभिन्न चेतावनियों के साथ मैलवेयर से संबंधित हैं, ताकि वे अपना स्वयं का विश्लेषण कर सकें या दुर्भावनापूर्ण प्रक्रियाओं के अस्तित्व के अन्य संकेतों की तलाश कर सकें। चेतावनियों को उनके खतरे और जिसमें समान व्यवहार दिखाई देता है प्रक्रियाओं की संख्या के अनुसार, छह मानों के पैमाने पर वर्गीकृत किया गया है, जो html दस्तावेज़ में एक रंग पैमाने के साथ परिलक्षित होता है, जिसमें 6 (काला रंग) इस बात का संकेतक है कि पता लगाई गई विशेषता मैलवेयर के कारण होने की संभावना अधिक है और 1 (ग्रे रंग) यह कि, हालांकि व्यवहार असामान्य है, ऐसी कई सिस्टम प्रक्रियाएँ हैं जहाँ समान व्यवहार देखा गया है:

विश्लेषकों के काम को सुविधाजनक बनाने के लिए, जानकारी स्क्रीन पर, विश्लेषित प्रक्रियाओं के नेविगेशन पैनल वाली HTML फ़ाइल में और csv टेक्स्ट फ़ाइलों में प्रस्तुत की जाती है। html दस्तावेज़ के साइड पैनल में, प्रक्रिया वृक्ष दिखाया गया है, जिसमें उनमें पाई गई सबसे अधिक चेतावनी के अनुरूप रंग है, दस्तावेज़ में उसके स्थान के लिए हाइपरलिंक के साथ, और यदि यह 32 बिट प्रक्रिया है तो उसके PID में नीला रंग या यदि यह .NET प्रक्रिया है तो हरा रंग है। जिन प्रक्रियाओं में Control Flow Guard (CFG) सक्षम है, उन्हें इटैलिक में दिखाया गया है।

रिमोट RDP सत्रों के बारे में जानकारी प्रक्रिया जानकारी की शुरुआत में प्रदर्शित की जाती है:

नेटवर्किंग क्षमता दो तरीकों से प्रदर्शित की जाती है: यदि TCP कनेक्शन का पता लगाया गया है, तो इसे पृथ्वी ग्लोब प्रतीक के साथ प्रदर्शित किया जाता है, और यदि एक कनेक्टेड सॉकेट का पता लगाया गया है, तो इसे खाली ग्लोब प्रतीक के साथ प्रदर्शित किया जाता है। मेमोरी में http नेविगेशन लाइब्रेरी वाली प्रक्रियाओं के लिए प्रतीक (सफेद वृत्त) जोड़ा गया: wininet.dll और winhttp.dll।

नेटवर्क विवरण:

कनेक्टेड सॉकेट:

जब Mimikatz जैसी गतिविधि का पता लगाया जाता है, तो एक विशेष प्रतीक (एक चाबी) होता है।

html दस्तावेज़ के नेविगेशन पैनल के निचले भाग में, सभी चेतावनियाँ, उनके रंग के साथ, उन प्रक्रियाओं के PID के साथ दिखाई जाती हैं जिनमें उनका पता लगाया गया है, दस्तावेज़ के उस स्थान के हाइपरलिंक के रूप में जहाँ प्रक्रिया दिखाई गई है।

यदि किसी चेतावनी के साथ कोई प्रक्रिया का पता नहीं चला है, तो उसका नाम सफेद पृष्ठभूमि पर प्रदर्शित किया जाता है।
मुख्य पैनल सभी प्रक्रियाओं को उनकी जानकारी के साथ संकुचित अनुभागों में प्रदर्शित करता है जो डिफ़ॉल्ट रूप से छिपे होते हैं। सभी चेतावनियाँ हमेशा दिखाई देती हैं।

सहेजे गए मेमोरी क्षेत्रों को एंटीवायरस द्वारा हटाए जाने से रोकने के लिए कुंजी 0x0E के साथ xored किया जाता है।
इससे जानकारी का विश्लेषण, तुलना और प्रस्तुति करें:
1. प्रक्रियाएँ:
• चेतावनियाँ:
[Admin Privs]
[Alternate credentials]
[Alternate network credentials]
[Delphi 4 – Delphi 2006]
[Entry Point]
[LogonType]
[Managed code but no Assemblies detected - .NET ETW disabled]
[Mismatching Path]
[Name of the module hidden in memory]
[NTLM Authentication]
[PE anomalies]
[PEB ImageBaseAddress forgery]
[Possible .NET in memory loaded as Assembly.Load(byte[])]
[Process checkSum is 0]
[Process checkSum mismatch]
[Process Ghosting]
[Process Hollowing]
[Process Memory region hash mismatch]
[Process Memory region Protection value modified]
[Process Memory region WX]
[Process Name != Internal Name]
[PROCESS NOT SIGNED]
[Process Private memory region]
[Process Unknown executable memory region]
[Section Table]
[Shared memory subversion]
[SizeOfInitializedData is 0]
[SUSPENDED PROCESS]
[Suspicious Commandline]
[Suspicious Environment Variable]
[TimeDateStamp Inequality]
[Transaction detected: TxF/TxR]
[Unmanaged process/managed code execution detected]
[Unusual CWD]

2. मॉड्यूल:
एक सामान्य मॉड्यूल में आप जो देखने की उम्मीद करेंगे वह LMIVH है:
L = InLoadOrderModuleList(PEB).
M = InMemoryOrderModuleList (PEB).
I = InInitializationOrderModuleList (PEB).
V = प्रक्रिया की वर्चुअल मेमोरी में पता लगाया गया।
H = PEB हैश सूची में पता लगाया गया।
यदि इसे तीनों PEB लिंक की गई सूचियों से अनलिंक किया गया है, तो आप देखेंगे:
---VH
यदि मॉड्यूल मैलवेयर द्वारा मैन्युअल रूप से लोड किया गया है, तो यह किसी भी PEB सूची में दिखाई नहीं देगा, लेकिन मेमोरी स्कैन करके इसका पता लगाया जा सकता है,
इसलिए यह इस रूप में दिखाई देगा:
−−−V−
Moat तकनीक के साथ DLL Hollowing (POC के लिए https://github.com/forrest-orr/artifacts-kit देखें) के साथ परिणाम होगा:
-----
• चेतावनियाँ:
[Abnormal PE Header]
[Delphi 4 – Delphi 2006]
[DLL Hiding]
[DLL Hollowing]
[Mismatching Path]
[Module checkSum is 0]
[Module checkSum mismatch]
[Module Name != OriginalFileName]
[MODULE NOT SIGNED]
[Module PE anomalies]
[Module SizeOfInitializedData is 0]
[Module TimeDateStamp Inequality]
[Name of the module hidden in memory]
[Phantom DLL Hollowing TxF]
[Private memory region]
[Section Table]
[Signed PE NOT MEM_IMAGE]
[Unsigned PE NOT MEM_IMAGE]
[Unusual module]

3. हैंडल: File, Key, Mutant, Process, Thread, Token और Section प्रकार के सभी प्रक्रिया हैंडल प्रदर्शित किए जाते हैं। हैंडल के प्रकार के आधार पर, निम्नलिखित जानकारी प्रदर्शित की जाती है:








• चेतावनियाँ:
[Handle-Section Phantom DLL Hollowing TxF]
[Handle-Section Suspicious: Injection]
[Pipe Handle to another process]
[Process Handle to another process]
[ShadowMove Lateral Movement]
4. टोकन: जिन थ्रेड में टोकन का पता लगाया जाता है, वहां निम्नलिखित प्रदर्शित होता है:
• चेतावनियाँ:
[Thread with TOKEN]

5. थ्रेड:
• चेतावनियाँ:
[Thread-Memory NOT MEM_IMAGE]
[Thread-Possible Ekko technique]
[Thread-Possible Foliage technique]
[Thread-Unknown module in Stack]

6. .NET असेंबली
• चेतावनियाँ:
[.NET Assembly w/o ILPath]

7. मेमोरी पता स्थान। प्रक्रिया के सभी मेमोरी क्षेत्रों से मान दिखाता है:
• चेतावनियाँ:
[Executable memory region not MEM_IMAGE]
[Hidden PE]
[Lagos Island Method]
[Mapped Image]
[Memory region hash]
[Memory region Protection value modified]
[Memory region WX]
[Memory/File values mismatch]
[Moat detected]
[MZ/PE Not Present]
[Shellcode]
[Unknown executable memory region]

