بسم الله الرحمن الرحيم
أول مقالة أكتبها في هذه المدوّنة، اسأل الله ان ينفع بها وأن يستفيد الجميع. طبعاً بكتب المقالة باللغة العامية لسهولة الشرح وتبسيط المعلومة.
قبل ما نبدأ من هم المستفيدين أو الأشخاص اللي تناسبهم هذه المقالة؟
1- محلل مركز العمليات الأمنية SOC Analyst L1 & L2
2- أخصائي التحقيق الجنائي الرقمي والاستجابة للحوادث DFIR Specialist
3- محلل البرمجيات الخبيثة (Malware Analyst)
4- كل شخص مختص بالأمن السيبراني أو كل مهتم بمجال التحقيق الجنائي الرقمي.
طيب وش يعني ذاكرة الوصول العشوائي (RAM)؟
ذاكرة الوصول العشوائي وتختصر RAM وتعرف بذاكرة القراءة والكتابة، وهذا نوع من الذاكرة مؤقت يستعمل في الحواسيب، إذ أن المعلومات تٌفقد منها بمجرد انقطاع التيار عنه، فإذا أعيد مثلاً تشغيل الحاسوب فقدت المعلومات.
وش بنستخدم من أدوات للتحقيق في الذاكرة المؤقتة؟
راح نستخدم أداة وحدة مفتوحة المصدر أسمها Volatility وهي عبارة عن إطار عمل لتحقيق في الذاكرة المؤقتة وتحليل البرامج الضارة فيها. مكتوبة بلغة Python وتدعم Microsoft Windows و Mac OS X و Linux. الأداة ببساطة command-line based وفيها عدة من plug-in وراح نتطرق لأكثر عدد ممكن في تحقيقنا هذا ونتعرف عليهم.
وش باقي؟!
بعد ماعرفنا هذه المقالة موجهه لمين، ووش يعني الذاكرة المؤقة، والأداة المستخدمة وفائدتها، مابقى غير سرد السيناريو للحالة اللي بنحقق فيها، ثم نبدأ بإستخدام الأداة المذكورة.
السيناريو (قصة الحادثة الأمنية)
أتصل موظف إدارة الموارد البشرية فيصل على مكتب خدمة المساعدة ليطلب مساعدتهم بخصوص ايميل وصل له لتنزيل التحديث الجديد لـ outlook ولكن بعد التنزيل ظهرت له شاشة ملونة وعليها عبارات غير مفهومة! استغرب موظف الـ Help Desk وقال له ما ارسلنا ايميل لتحديث الـ outlook!! مباشرة اتصل موظف الـ Help Desk على قسم إدارة أمن المعلومات ليذكر لهم ماحدث مع تقديم معلومات اسم الجهاز واسم الموظف وبريده الإلكرتوني.
الإستجابة للحادثة الأمنية
بدأ فريق مركز العمليات الأمنية بتحديد نقطة الإنطلاق ثم توجهوا لبوابة البريد الإلكتروني مايسمى ب Mail-Gateway لتحقق من صحة البريد الذي استلمه الموظف فيصل، ثم اكتشفوا ان البريد الذي استمله لم يكن من مكتب الخدمة انما هو بريد مزيف مذكور به كما ذكر الموظف فيصل انه تحديث جديد لتطبيق outlook!!
تم الإتصال مباشرة بفريق الإستجابة للحوادث مع تقديم شرح للحالة بشكل كامل كما هو فوق من قبل فريق مركز العمليات الأمنية، ثم بدأ فريق IR بإجراءات استجابة الحوادث IR Process ابتداءً من التحضير (الأدوات والسياسات) والتحليل (فهم الحالة ومن أين بدأت وماهي نوع الإصابة) الاحتواء (عزل الجهاز المصاب وتحديد عدد الاجهزة المصابة الأخرى وأخذ نسخة من الذاكرة المؤقتة RAM)
طبعاً المقصود في أخذ النسخة للذاكرة المؤقتة Live Memory Image يعني الحصول على البيانات الحية واستخراج المعلومات المتطايرة الموجودة في السجلات Registry وذاكرة الوصول العشوائي RAM. لذلك يجب على المحققين الرقميين جمع البيانات في الوقت الفعلي نفسه قبل إغلاق الجهاز أو إعادة تشغليه.
من هنا وبعد أخذ النسخة للذاكرة المؤقتة للجهاز المصاب (من الممكن أن تكون عن طريق ال EDR أو بعض الأدوات المجانية مثل Magnet Forensics RAM Capture أو FTK Imager)، راح نبدأ بالتحقيق الرقمي بإستخدام أداة Volatility حتى نتمكن للوصول إلى إستنتاج صحيح وسليم وضمان عدم تضرر سير عمل المنظمة.
بداية إنطلاق التحقيق الجنائي الرقمي للذاكرة المؤقتة بإستخدام أداة Volatility
طبعاً هذه الأداة تحتوي على عدد كبير من الـ Plugins وحطيت لكم في أسفل المقالة جميع الـ Plugins اللي في إصدار 2.6، هنا راح نستخدم اللي نحتاجه بناء على الحادثة الأمنية المذكورة لنا فقط وتقدرون تجربون الباقي كتدريب لكم مع نسخ ذاكرة مؤقتة Memory Image أخرى.
1- أول شيء بنستخدم imageinfo عشان نقدر نعرف نوع النظام إذا كان غير معروف وأيضا فيها معلومات أخرى مثل تاريخ الـ Image Acquisition، خل ننفذ الأمر التالي ونشوف وش يطلع معنا.
.\volatility.exe .\Mohammed_Snapshot4.vmem imageinfo

زي ماهو واضح بالصورة قدرنا نعرف نظام التشغيل لـ Memory Image هذه ونوع البروفايل ويعتبر شيء مهم لأن أغلب الـ Plugins تحتاج تعرف نوع الـ Profile وبرضوا وقت وتاريخ الاستحواذ على الـ image حتى ماتتلخبط إذا كنت تسوي Time Line.
2- نحتاج نعرض كل الـ processes اللي كانت تشتغل في لحظة الاستحواذ على Image، راح نستخدم pslist plugin وبتعرض لنا العمليات المنتهية ايضاً إذا كان فيه، خل ننفذ الأمر التالي ونشوف وش يطلع معنا.
.\volatility.exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 pslist

هنا جميع العمليات اللي كانت تشتغل وموضح فيها وش الـ parent لكل عملية مع الرقم الخاص بها وزي ما أنتم شايفين ماكان فيه عمليات منتهية، ولكن الكتاب واضح من عنوانه وش الـ process اللي غريبة 🙂 هاه فكر عرفت وشي؟ أيه صحيح واضح من الأسم outlock.exe لعدة أسباب، الخطأ الإملائي للعملية والصحيح هي outlook.exe ايضاً بناء على التحليل المبدئي المقدم من مكتب الخدمة ومركز العمليات الأمنية أن المستخدم وصل له إيميل بخصوص تحديث تطبيق اوتلوك. ممتاز هنا عندنا نقطة للإنطلاق لتحقيق أكثر.
3- بنفس الطريقة اللي فوق ولكن بشكل أفضل ومرتب، راح نستخدم pstree من أسمها واضح “شجرة” والمقصود منها أنه يعرض كل عملية ولكن يربطهم مع بعض الـ Parent مع الـ Child وهنا نستفيد أنه راح نحدد وش العملية اللي شغلت البروسيس الغريبة، وممكن تظهر لك شيء ماظهر لنا بالسابق لأنه ممكن يكون اسم البرويسس صحيح ولكن parent ID غير متوقع مثل svchost.exe الـ Parent لها دايم يكون services.exe ف إذا لقيت شيء غيره راح يعتبر غير طبيعي، على كل حال خلينا ننفذ الأمر التالي ونشوف وش بيطلع معنا
.\volatility.exe .exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 pstree

زي ما أنتم شايفين، كل process مربوطة مع الـ parent process بكذا راح تقدر تعرف السلسلة كاملة والعمليات المشبوهة مثل المثال اللي ضربناه فوق لـ svchost.exe، ولكن لايوجد شيء مشبوهه في حالتنا هذه إلا الـ outlock.exe وفعلاً يثبت لنا الان أن المستخدم اللي فتح هذا التطبيق والدليل على ذلك الـ PPID هو explorer.exe واللي يعني أن المستخدم طلب هذه العملية.
4- إلى الان ماتعمقنا أكثر في العملية المشبوهة حتى ننتهي من فحص الـ Image بشكل عام ثم نستمر في التحقيق الجنائي للعملية المشبوهه بشكل أدق، خلونا الان نلقي نظرة على الـ Network Connections اللي صار للـ Image هذه، لذلك راح نستخدم netscan بما أن النظام Windows 7، هذه الخطوة راح تعطينا نظرة أوسع من ناحية الإتصالات إذا كانت هذه العملية تتواصل مع C2 IP اللي هو القيادة والسيطرة من جهة المخترق. ننفذ الأمر التالي ونشوف وش بيطلع معنا.
.\volatility.exe .exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 netscan

أيضاً كما هو واضح، لايوجد إتصالات مشبوهه من العملية اللي تكلمنا عنها، وكلها تواصلات داخلية ماعدا واحد، تواصل خارجي على بورت 443 عن طريق المتصفح وأيضاً كان منتهي قبل ماناخذ الـ Memory Image ولكن يبقى محفوظ بالذاكرة المؤقتة حتى يتم إعادة تشغيل الجهاز. الملخص مافيه دليل على عمليات أو إتصالات مشبوهة عن طريق الشبكة من الجهاز المتضرر.
5- في المرحلة هذه، راح نتعمق أكثر ونلقي نظرة على الـ MFT$ أيه تقدر عن طريق الـ Memory Forensics تتطلع على الـ MFT File من دون ماتوصل لـ Hard disk، طيب ممكن البعض مايعرف وش الملف هذا، الـMFT هو إختصار لـ Master File Table وهو نظام أرشفة ملفات خاصة بنظام NTFS للأقراص الصلبة وهو أشبه بكتاب لتسجيل الحركات والملفات وأرشفتها لجميع القرص الصلب. هذا الكتاب يضم جميع المعلومات المختلفة مثل الحجم والوقت والتصاريح وبالطبع محتويات الملفات المحذوفة متاحة من خلال جدول الـ MFT.
بالنسبة لي خليت النتائج تظهر على ملف txt خارجي عشان يكون أسهل للقراءة والبحث عن keywords محددة.
.\volatility.exe .exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 mftparser | Out-File -FilePath C:\Users\x95x\Desktop\MFT.txt


طبعاً اطلعنا عليه ولايوجد ملفات مريبة حالية أو محذوفة، مجرد مسار ملف outlock.exe غير صحيح لأن الـ Default path لـ outlook.exe بالغالب يكون في C:\Program Files\Microsoft Office 15\root\office15\OUTLOOK.EXE
6- هذه الخطوة مشابهه للخطوة السابقة، راح نستخدم cmdline عشان نقدر نعرف وش الأوامر اللي تنفذت من عملية محددة، بالنسبة لنا مهتميين في outlock.exe، خل ننفذ الأمر التالي ونشوف وش يطلع معنا.
.\volatility.exe .exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 cmdline -p 2452

طبعاً نفس الـ File Path اللي شفناه فوق وبالتأكيد غلط، بعض الأحيان قد يكون مفيد إذا تم تنفيذ عدة أوامر.
7- هنا راح نستخدم الأمر handles عشان نعرض أي شيء كان يتعامل مع process محددة فقط، اللي هي outlock.exe ورقمها 2452، ينطبق هذا على الملفات، ومفاتيح التسجيل Registry Keys ، و الـ Mutex وفايدتها منح حق الوصول إلى Objects لعملية واحدة فقط في كل مرة، وجميع الأنواع التنفيذية الباقية. بعد ماننفذ الأمر راح نقدر نشوف الوصول ونوعه لـ process اللي جالسيين نحقق فيها، خل ننفذ الأمر هذا ونشوف وش بيطلع معنا.
.\volatility.exe .exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 handles -p 2452

هنا في شيء غريب على الـ Mutex !! الـ default setting أنه يكون فاضي NULL بمجرد أن نشوف الأسم نسخته وبحثت عنه بقوقل طلع أنه WannaCry Ransomware ياسلاااام!
طيب أولاً الـ Mutex المسمى “MsWinZonesCacheCounterMutexA” فايدته إذا لقى الـ Mutex موجود أو عدم وجود c.wnry يطلع من دون ماينفذ شيء، يعني نقدر نقول أن فايدته كل شوي يشتغل يتحقق أنه موجود عشان يستمر التشفير. إذا كان أحد الشرطيين ماتحقق، يروح يسوي Mutex جديد بإسم MsWinZonesCacheCounterMutexA0 واللي موجود بالصورة فوق بعد.
طيب الحين تأكدنا أن البرنامج اللي تم تنزيله على جهاز الموظف فيصل كان فيروس الفدية WannaCry Ransomware عشان كذا قال تغيرت الوان الشاشة، على كل حال راح نستمر بالتحقيق ونشوف وين نوصل أكثر.

برضوا هنا في نفس الأمر اللي نفذناه handles فوق، نلاحظ ملف اسمه 00000000.eky وهو جزء مسؤول عن تشفير الملفات الموجودة على الهارديسك، وهو الملف اللي فيه الـ Private Key. هذا كله جزء من عملية تحقق الـ Mutex اللي تكلمنا عنها فوق.
أيضاً، فيه ملف أسمه hibsys.WNCRYT وأسمه واضح أنه أختصار لـ WannaCry وهذا جزء من عملية التشفير ووظيفته يسوي سلسلة سريعة عشان ينقل ملفات الـ txt إلى الـ Temp folder ويغير أسمها وتكون هذه الملفات غير مشفرة ويمكن استعادتها مباشرة عن طريق تعديل الـ suffix.
برضوا ينشأ ملف يسمى hibsys.WNCRYT تحت $ RECYCLE سلة المهملات ويكون مخفي ونسخة في ملف الـ Temp.
8- هنا راح نشوف وش كان نوع التشفير المستخدم بإستخدام yarascan تقدر تعطيها أشياء محددة تبحث عنها أو ملف .yar كامل وتسوي البحث على process محددة، هنا جربت أسوي بحث على كلمة RSA1 حتى أشوف الـ Crypto PublicKey في عملية التشفير اللي حصلت وهل كانت حقيقي أو عملية وهمية فقط عشان يدفع الضحية المبلغ، ننفذ الأمر ونشوف.
.\volatility.exe .exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 -p 2452 yarascan -Y"RSA1"

طيب الان تأكدنا أنه تم تشفير البيانات بشكل رسمي، خلينا نجرب نبحث عن كلمة bitcoin كنوع من أنواع اللقافة والفضول بعد ماتأكدنا أنه WannaCry ونشوف وش يطلع معنا.

هنا طلع معنا حساب بيتكوين اللي طالب مبلغ الفدية (شطبت حسابه 🙂 ) وواضح لنا أيضاً، الـ exe المخصص لفك التشفير بعد عملية الدفع ويطلب منك إيقاف الـ Anti-Virus هذا أن صح كلامه، وبالغالب كلهم كذابيين.
طيب خلينا نبحث عن cmd.exe ونشوف وش يطلع معنا من أشياء تهمنا في رحلة التحقيق.

هنا نلاحظ أنه يضيف الـ exe المخصص لفك التشفير إلى الـ Run Registry Key عشان يعرضه عليك كل شوي مع الإرشادات كنوع من أنواع الإزعاج والتطفيش 🙂 ونقدر نقول أنه Persistence.
9- أيضاً فيه طريقة تستعرض كل الـ strings للملف الـ exe إذا حاب تشوف أكثر أو إذا كنت تبي تنشأ IoCs مميزة للملف الخبيث لكن هنا مايحتاج لأنه شيء معروف الـ WannaCry وقديم أيضاً أنتشر في 2017، على كل حال الطريقة تستخدم الـ plugin procdump وفايدتها تسوي دمب للبروسيس اللي تحددها ولكن حط ببالك لما تكون تحقق في جهاز خاص بك أو خاص بالعمل كأنك نزلت الملف الخبيث على جهازك الشخصي، عموماً بعد ماتنفذ الأمر راح يكون موجود عندك الملف بعدها تقدر تستخدم أداة أسمها strings.exe فايدتها تعرض لك النصوص الخاصة لهذا التطبيق وتقدر تتطلع عليها وتعرف وش محتوى التطبيق هل خبيث أو لا في حالة أنك ماوصلت لنتيجة بعد فترة من التحقيق.
10- وفيه الـ plguin الرهيب جداً timeliner فايدته يسوي لك تايم لاين لكل الـ artifacts اللي على الميموري معها الوقت، شيء أسطوري جداً (ممكن ماتلقى هالميزة عند منتج DFIR مدفوع بعد!) طبعاً كمية البيانات اللي بتظهر لك كثيرة جداً وراح تحتاج ترتبها بالوقت وتستخرجها على txt file أو اكسيل شيت اللي بيناسبك بالتحليل، خل ننفذ الأمر هذا وراح ياخذ وقت طويل على حسب حجم الذاكرة اللي نسخناه من 5 دقايق يصل إلى 45 دقيقة.
.\volatility.exe -f .\Mohammed_Snapshot4.vmem --profile=Win7SP1x64 timeliner | Out-File -FilePath C:\Users\x95x\Desktop\DFIR_Time_Line.txt



بعد ماطلعت البيانات، رتبنا بناء على الوقت ويظهر لك كل شيء صار من DLLs loaded و exe اشتغلت ومن Reg Keys تعدل واضاف عليها، زي مانلاحظ بحالتنا الحين، جالسيين نشوف كل شيء صار قبل تشغيل الـ outlock.exe اللي هو الـ WannaCry وبعد التشغيل ووش حصل من تعديلات على النظام.
إلى هنا يكون أنتهيت من كتابة مقالة (التحقيق الجنائي الرقمي لذاكرة الوصول العشوائي) ممكن فيه plugins كثيرة ماتطرقت لها بسبب ماتنطبق على حالة تحققينا هذه أو النظام الذي أستخدم لايدعمها ولكن أنصح الجميع بالتطبيق وإستخدامها حتى يكون متمكن منها عند الحاجة لها في حادثة أمنية لاقدر الله. وفي نهاية كل تحقيق جنائي رقمي لازم نكون نقدر نجاوب على الثلاث أسئلة هذه:
- كيف؟ (How): عن طريق الأيميل وبالتحديد عن طريق User Interaction والدليل explorer.exe
- متى؟ (When): في هذا الوقت 2021-07-05 19:27:42 تم تشغيل البرنامج المشبوهه
- أين؟ (Where): كان على C:\Users\Mohammed\Desktop\outlock.exe على جهاز الموظف فيصل فقط ولم ينتشر في المنظمة
شكراً لكم واسأل الله أن ينفع بها وأعتذر عن أي خطأ أو تقصير في الشرح.
للتواصل:
بريد إلكتروني: info@mohammedalhumaid.com
لينكد إن: https://www.linkedin.com/in/maalhumaid
Volatility Framework 2.6 Plugins
| Description | Plugin |
| Display process command-line arguments | cmdline |
| Extract command history by scanning for _COMMAND_HISTORY | cmdscan |
| Print list of open connections [Windows XP and 2003 Only] | connections |
| Pool scanner for tcp connections | connscan |
| Extract command history by scanning for _CONSOLE_INFORMATION | crashinfo |
| Dump crash-dump information | crashinfo |
| Poolscaner for tagDESKTOP (desktops) | deskscan |
| Show device tree | devicetree |
| Dump DLLs from a process address space | dlldump |
| Print list of loaded dlls for each process | dlllist |
| Driver IRP hook detection | driverirp |
| Associate driver objects to kernel modules | drivermodule |
| Pool scanner for driver objects | driverscan |
| Dump RSA private and public SSL keys | dumpcerts |
| Extract memory mapped and cached files | d Epmemoryche |
| Dumps registry files out to disk | dumpregistry |
| Displays information about Edit controls. (Listbox experimental.) | editbox |
| Display process environment variables | envars |
| Print details on windows event hooks | e Pndetails ven |
| Extract Windows Event Logs (XP/2003 only) | eralWindows Ev200 |
| Pool scanner for file objects | filescan |
| Dump the USER handle type information | gp tthe USER handnfo |
| Print installed GDI timers and callbacks | g Ptinstalle ca |
| Display Global Descriptor Table | gdt |
| Get the names of services in the Registry and return Calculated SID | getservicesids |
| Print the SIDs owning each process | gntsthe SIDs ownch |
| Print list of open handles for each process | handles |
| Dumps passwords hashes (LM/NTLM) from memory | hashdump |
| Dump hibernation file information | hibinfo |
| Prints out a hive | hivedump |
| Print list of registry hives. | hivelist |
| Pool scanner for registry hives | hivescan |
| Extract physical memory from an HPAK file | hpakextract |
| Info on an HPAK file | hpakinfo |
| Display Interrupt Descriptor Table | idt |
| Reconstruct Internet Explorer cache / history | i RiIn / |
| Copies a physical address space out as a raw DD image | imagecopy |
| Identify information for the image | imageinfo |
| Scan for calls to imported functions | in sfor calls to fu |
| Print process job link information | joblinks |
| Search for and dump potential KDBG values | krcgand dumdbg |
| Search for and dump potential KPCR values | krcrand dumpcr |
| Detect unlinked DLLs | ldrmodules |
| Dump (decrypted) LSA secrets from the registry | lsadump |
| Dump Mach-O file format information | machoinfo |
| Find hidden and injected code | malfind |
| Scans for and parses potential Master Boot Records (MBRs) | mbrparser |
| Dump the addressable memory for a process | memdump |
| Print the memory map | memmap |
| List desktop and thread window message hooks | msLsasag |
| Scans for and parses potential MFT entries | mftparser |
| Dump a kernel driver to an executable file sample | moddump |
| Pool scanner for kernel modules | modscan |
| Print list of loaded modules | modules |
| Scan for various objects at once | m Stfor variots |
| Pool scanner for mutex objects | mutantscan |
| List currently displayed notepad text | notepad |
| Scan for Windows object type objects | o Stfor Windope |
| Patches memory based on page scans | pchcmemory baspag |
| Configurable pool scanner plugin | poolpeek |
| Print a registry key, and its subkeys and values | printkey |
| Display process privileges | privs |
| Dump a process to an executable file sample | procdump |
| Print all running processes by following the EPROCESS lists | pslist |
| Pool scanner for process objects | psscan |
| Print process list as a tree | pntrprocess list as |
| Find hidden processes with various process listings | psxview |
| Dump Qemu information | qemuinfo |
| Converts a physical memory sample to a windbg crash dump | raw |
| Save a pseudo-screenshot based on GDI windows | screenshot |
| List Windows services (ala Plugx) | servicediff |
| List details on _MM_SESSION_SPACE (user logon sessions) | st son _Mion |
| Prints ShellBags info | shellbags |
| Parses the Application Compatibility Shim Cache registry key | shimcache |
| Print ShutdownTime of machine from registry | shutdowntime |
| Print list of open sockets | sockets |
| Pool scanner for tcp socket objects | sockscan |
| Display SSDT entries | ssdt |
| Match physical offsets to virtual addresses (may take a while, VERY verbose) | strings |
| Scan for Windows services | svcscan |
| Pool scanner for symlink objects | symlinkscan |
| Pool scanner for thread objects | thrdscan |
| Investigate _ETHREAD and _KTHREADs | threads |
| Creates a timeline from various artifacts in memory | timeliner |
| Print kernel timers and associated module DPCs | timers |
| Recover TrueCrypt 7.1a Master Keys | truecryptmaster |
| TrueCrypt Cached Passphrase Finder | truecryptpassphrase |
| TrueCrypt Summary | truecryptsummary |
| Print list of unloaded modules | unloadedmodules |
| Print userassist registry keys and information | u Pruserassinfo |
| Dump the USER handle tables | userhandles |
| Dumps out the vad sections to a file | vaddump |
| Dump the VAD info | vadinfo |
| Walk the VAD tree and display in tree format | vadtree |
| Walk the VAD tree | vadwalk |
| Dump virtualbox information | vboxinfo |
| Prints out the version information from PE images | verinfo |
| Dump VMware VMSS/VMSN information | vmwareinfo |
| Shell in the memory image | volshell |
| Print Desktop Windows (verbose details) | windows |
| Print Z-Order Desktop Windows Tree | wintree |
| Pool scanner for window stations | wndscan |
| Scan process or kernel memory with Yara signatures | yarascan |
