
تحليل الذاكرة الحية للكشف عن مؤشرات الاختراق (IOCs) في العمليات والوحدات النمطية والمقابض والرموز والخيوط وتجميعات .NET ومساحة عنوان الذاكرة ومتغيرات البيئة. يقوم بتفريغ واكتشاف وتفكيك الخطافات والشيل كود ومناطق الذاكرة والوحدات والعمليات.

WhacAMole هو برنامج يقوم بتحليل العمليات في الذاكرة بطريقة شاملة، ويكتشف ويُنبّه عن الحالات الشاذة المتعلقة بالبرمجيات الخبيثة، ويعرض ويحفظ في ملفات جميع المعلومات ذات الصلة للتحقق أو الربط أو التحليل، بالإضافة إلى تفريغ مناطق الذاكرة والعمليات والوحدات المشبوهة. لتحقيق ذلك، لا يقوم بتحليل الحالات الشاذة في مناطق الذاكرة للعمليات والوحدات التي تحملها فحسب، بل يقوم أيضًا بتحليل عميق لجميع مساحة الذاكرة المستخدمة من قبل العملية. في هذه اللحظة، يستطيع WhacAMole تحديد 67 تنبيهاً مرتبطاً بالسلوك الخبيث أو الذي لا يمكن أن يكون ناتجاً إلا عن برمجيات خبيثة. يعرض أكثر من 70 خاصية للعمليات والذاكرة والوحدات، ويقارن العديد من سماتها المقروءة في الذاكرة مع تلك التي تظهر في الملف المقابل على القرص، ويُفكك جزئياً مناطق الذاكرة المشبوهة ويُفكك جزئياً الدوال المُصدّرة التي تم تعديلها في الذاكرة ليتمكن المحللون من إجراء تحقيقاتهم الخاصة.

على عكس البرامج المماثلة الأخرى، فإنه يجعل جميع المعلومات ذات الصلة بالعمليات متاحة للمحللين، ويُصنف تلك الخصائص المرتبطة بالبرمجيات الخبيثة بتنبيبات مختلفة، حتى يتمكنوا من إجراء تحليلهم الخاص أو البحث عن علامات أخرى لوجود عمليات خبيثة. يتم تصنيف التنبيهات، وفقاً لخطورتها وعدد العمليات التي يظهر فيها نفس السلوك، وفقاً لمقياس من ست قيم، ينعكس في مستند HTML بمقياس ألوان، حيث يمثل 6 (اللون الأسود) مؤشراً على احتمال أعلى بأن الخاصية المكتشفة ناتجة عن برمجيات خبيثة، ويمثل 1 (اللون الرمادي) أنه على الرغم من أن السلوك غير طبيعي، إلا أن هناك العديد من عمليات النظام التي لوحظ فيها نفس السلوك:

لتسهيل عمل المحللين، يتم عرض المعلومات على الشاشة، في ملف HTML مع لوحة تنقل للعمليات التي تم تحليلها وفي ملفات نصية بصيغة csv. في اللوحة الجانبية لمستند html، تظهر شجرة العمليات، مع اللون المقابل لأعلى تنبيه تم اكتشافه فيها، مع رابط تشعبي لموقعها في المستند، وباللون الأزرق في معرف العملية (PID) الخاص بها إذا كانت عملية 32 بت أو باللون الأخضر إذا كانت عملية .NET. العمليات التي لديها Control Flow Guard (CFG) مُفعّل تظهر بخط مائل.

يتم عرض معلومات حول جلسات RDP البعيدة في بداية معلومات العملية:

يتم عرض القدرة على الاتصال بالشبكة بطريقتين: إذا تم اكتشاف اتصال TCP يتم عرضه برمز الكرة الأرضية، وإذا تم اكتشاف socket متصل، يتم عرضه برمز كرة أرضية فارغة. تمت إضافة رمز (دائرة بيضاء) للعمليات التي تحتوي على مكتبات التصفح http في الذاكرة: wininet.dll و winhttp.dll.

تفاصيل الشبكة:

socket متصل:

يوجد رمز خاص (مفتاح) عند اكتشاف نشاط يشبه Mimikatz.

في الجزء السفلي من لوحة التنقل في مستند html، تظهر جميع التنبيهات، بلونها، مع معرفات العمليات (PIDs) للعمليات التي تم اكتشافها فيها على شكل رابط تشعبي لموقع المستند حيث تظهر العملية.

إذا لم تكن هناك عمليات تم اكتشافها مع تنبيه، يتم عرض اسمها على خلفية بيضاء.
تعرض اللوحة الرئيسية جميع العمليات مع معلوماتها في أقسام قابلة للطي تكون مخفية افتراضياً. جميع التنبيهات مرئية دائمًا.

يتم إجراء عملية XOR لمناطق الذاكرة المحفوظة باستخدام المفتاح 0x0E لمنع برامج مكافحة الفيروسات من حذفها.
تحليل ومقارنة وعرض المعلومات من:
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−
مع تقنية DLL Hollowing باستخدام Moat (انظر 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]

