مضى على الشبكة و يوم من العطاء.

شرح أداة Volatility في التحقيق الجنائي

H4x0r

./ عضو

السمعة:

أداة Volatility في التحقيق الجنائي

في عالم الأمن السيبراني والتحقيق الرقمي، تلعب أدوات التحليل والفحص دورًا حاسمًا في استعادة المعلومات والأدلة من أجل فهم واستقصاء الهجمات السيبرانية والتلاعب بالأنظمة. إحدى هذه الأدوات المهمة هي أداة (Volatility Tool) المبنية بلغة py، والتي تعد أحد أبرز أدوات التحليل الرقمي المتخصصة في التعامل مع ذاكرة الحاسوب.

1700578887198.jpeg

تهدف أداة vol إلى فحص واسترداد معلومات من ذاكرة الحاسوب بدقة وفعالية. وبما أن ذاكرة الحاسوب تحتفظ بالمعلومات المؤقتة والمهمة خلال تشغيل النظام RAM ، فإن فهمها واستخدامها يمكن أن يكونان حاسمين في تحقيقات التحليل الرقمي واكتشاف الأنشطة الضارة.



تمام يلي فهمناه من المُقدمة إنه هي بتعمل تحليل للذاكرة المُتطايرة يلي هي RAM , طيب كيف؟


1699966893770.png

زي ما اتفقنا في المقالات السابقة إنه لما بدنا نحقق أو نفحص أو نحلل, بدنا نسخة من الدليل أو الأثر, يعني في حالتنا هاي محتاجين memory dump, طيب كيف رح تسحب نسخة؟
رح احطلك الآن أسماء tool بتساعدك في استخرج memory dump وفي المقالات القادمة رح نشرح بعضها وطريقة استخدامها :

  • FTK Imager
  • Redline
  • FastDump
لما تبحث عن Volatility رح تلاقي إصدارين Volatility و Volatility3 طيب شو الأفضل ؟
الآن Volatility هي مبنية في py والمٌشغلات أو يلي بساعدك في التحليل إضافات, يعني في Volatility قبل ما تبلش تحليل لازم تحدد ملف التعريف للنظام وكان في جدول فيه أسماء ملفات التعريف, إذا النظام ما كان بينهم ما رح تقدر تكمل في التحليل

إضافة لذلك عشان تحدد الملف ممكن يستغرق وقت كبير جدًا وبرضو عشان تعمل تحقيق لنظام linux محتاج تعمل كثير شغلات, وهاي الأمور بتغلب, طيب شو كان الحل في Volatility 3؟
الحل صار مش محتاج تحدد ملف التعريف للنظام فقط حط اسم النظام قبل الإضافة, يعني عندك:

  • .windows
  • .linux
  • .mac
إذا بتحلل في windows رح تيجي بكل بساطة تعمل هيك:
windows.info
وإذا لينكس
linux.info

أنا رح أعتمد في طريقة شرح هاي tool مش أحط جدول وأكتب كل إضافة شو استخدامها, لا رح أجيب سيناريو ونبلش نحلل فيه كل إضافة بنستخدمها, رح نحكي ليش استخدمتها هون تمام؟ طبعًا إضافاتها كثيرة عشان هيك هاي تول يمكن نطرح 5 أو 6 سيناريوهات بس عشان نحكي الأساسيات, وأنا بحب استخدم الإصدار القديم لأنه تعودت عليه ههه, بس أنت حاول بلش في الإصدار الجديد أسرع, أصلًا رح تلاقيني مرة بستخدم الإصدار القديم ومرة الجديد لأنه الجديد أسرع بكثير 🔥

رح أحطلكم السيناريو من CTF وأحطلكم برضو memory dump عشان تعيد التطبيق لحالك, وهون بتبلش المتعة :

ملاحظة: ممكن تلاقيني نفس الإضافة باستخدم الإصدارين عشان أبينلك الفرق بين الإصدارين .




lab 1
Challenge Description
My sister’s computer crashed. We were very fortunate to recover this memory dump. Your job is get all her important files from the system. From what we remember, we suddenly saw a black window pop up with some thing being executed. When the crash happened, she was trying to draw something. Thats all we remember from the time of crash
Note: This challenge is composed of 3 flags
تمام لما تبلش تحليل لازم توخد Description في عين الإعتبار , حتى في الحياه الواقعية لما يحكولك شو صار بسهل عليك البحث, خلينا نكتب ملاحظات من خلال Description :
  1. نافذة سوداء تظهر فيها شيء ما يتم تنفيذه
  2. عندما وقع الحادث، كانت تحاول رسم شيء ما

خلونا نبلش المتعة 🔥
هي الـ memory Dump يلي بدنا نحقق فيها:



1699966966067.png

طيب شو syntax:
Volatility -f [name memory Dump ]

لو بدنا نبلش باستخدام Volatility الإصدار القديم لازم نحدد OS profile , عشان نحدد Os profile رح نستخدم إضافة وهي imageinfo

ملاحظة : هاي الخطوة ممكن توخد وقت


1699966989349.png

الآن طلع المعلومات عن memory Dump , أنا هون بهمني os profile طلعلي أكثر من profile, أي واحد بتقدر تستخدم؟ دايمًا بنستخدم أول واحد طلع

حكينا في الإصدار القديم لازم أحدد profile عشان أقدر أشتغل هيك حددناه, نروح للخطوة الثانية:

بدي أعرف شو البرامج يلي كانت شغالة على الجهاز أثناء التقاط memory , هون رح نستخدم إضافة اسمها pslist, رح تعرضلك كل العمليات يلي موجودة في RAM يعني كانت شغالة :

كود:
volatility -f MemoryDump_Lab1.raw --profile Win7SP1x64 pslist

1699967020785.png

طلعلي كثير عمليات, طيب شو الآن بدك تعمل؟
طبعًا في عمليات طبيعية للنظام وعمليات بتكون شغالة من المستخدم, الآن بدنا ندور على عمليات مش منطقية خلونا ندقق ونحدد شو الشغلات يلي كانت شغالة وبتفيدنا :

1699967037475.png

طيب إذا بنتذكر الملاحظات حكو في شاشة سودة اشتغلت ونفذت أمر, طيب ولقيت cmd شغال, معناته لازم أحقق فيه وأشوف شو يلي نكتب أو تنفذ هي أول شيء, الشغلة الثانية winrar شغال ليش ؟, الشغلة الثالة بعد بحث لقيت mspaint.exe بحثت في جوجل طلع :

1699978364745.png

وحكى أن البنت كانت ترسم تمام , هاي ال3 شغلات يلي بدي أحقق فيهم خلينا نكتبهم عشان ما ننسى ونمشي صح
كود:
1- cmd
2- mspinat.exe
3- WinRAR
خلونا نبلش بالترتيب بدنا نشوف cmd ونكتب فيه وشو النتائج يلي طلعت, يعني شو نكتب على cmd وطلع نتائج رح نستخدم إضافة consoles , هاي الإضافة بتطبعلك شو نكتب في cmd أو PowerShell وبطبعلك وبطلع نتائج كمان, وفي السيناريو حكى إنه نفتح cmd وتم تنفيذ الأمر :
كود:
$ volatility -f MemoryDump_Lab1.raw --profile Win7SP1x64 consoles

1699978397823.png

زي ما أنت شايف النتائج, طلعلي شو نكتب وشو طلع نتائج , احنا بنحل بـ CTF فأكيد الحل إني أوجد flag هذا دليل إني حليت المشكلة , بس زي ما أنت شايف في نص مشفر, خلينا نفك تشفيره ونشوف شو المحتوى :
كود:
$ echo ZmxhZ3t0aDFzXzFzX3RoM18xc3Rfc3Q0ZzMhIX0= | base64 -d
flag{th1s_1s_th3_1st_st4g3!!}
حلو هي flag يعني خلصنا من موضوع cmd , بس إذا بتتذكر حكينا الحل إنك تلاقي 3 flag

خلونا ننتقل للعملية 2 يلي هي mspinat.exe

تمام هي كانت ترسم طيب شو كانت ترسم ؟ الفكرة من هذا المثال بعيدًا عن ctf كتكنيك, مثلًا لو حاب تكتشف بتقدر تفرغ العملية وتشوف شو كانت ترسم طييب كيف بدي اسحب العملية أو أفرغها؟
في إضافة اسمها [COLOR=rgb(84, 172, 210)]memdump[/COLOR] بتخليني أفرغ عملية محددة وأحقق فيها, طيب إذا بتلاحظ لما عرضنا العمليات في كل عملية معرف PID ,أرجع على الصورة فوق وحكيلي شو PID ؟ ايوا صحيح 2424 طيب شو بدي أكتب عشان أفرغ العملية :

كود:
$ volatility -f MemoryDump_Lab1.raw --profile Win7SP1x64 memdump -p 2424 -D output/
بنختار الإضافة memdump و بنحدد PID -p و بنختار المكان يلي بدي يتخزن -D التفريغ فيه .

1699978426453.png

تم التفريغ , طبعًا امتداد التفريغ راح يطلع .dmp رح نغيره إلى .data, منطقيًا عشان يفتح أنا محتاج برنامج مُحرر أو للرسم و الأمور هاي, أنا رح استخدم Gimp طبعًا رح يفتح رح تتغلب بشغلة إذا أنت هسا شغال على التحدي معي رح تتغلب في الإزاحة والطول و العرض, هذا شيء أهبل احنا مركزين على التكنيك وشو بتقدر تعمل مش على تحدي CTF بس برضو رح أعطيك سكرين :

1699978442537.png


1699978454338.png

هي صار عندي 2 flag ضل آخر flag يلي هو حكينا WinRAR ليش شغال!

طيب أنا بدي أركز على شغلة إنه كيف نبحث في أوامر cmd بحيث إذا أنت بتحقق في اختراق تستخدم cmd, طيب هل في طريقة أعرف كل الأوامر يلي نكتبت في الـ cmd؟ بس بدي أشوف الأوامر, نعم إضافة اسمها cmdline
طيب ممكن ما فهمتني, الآن العمليات الشغالة في RAM لما استخدم cmdline بعطيني الأوامر يلي نكتبت في cmd من هاي العمليات, وعلى فكرة مش شرط المُستخدم يكتب ممكن العملية نفسها بتكتب في الخلفية فهمتوا علي كيف!

1699978500267.png

شوف طلعلي اسم العملية و PID تبعها وشو استخدمت في cmd, طيب أنا بدي أشوف هون هل WinRAR استُخدِم بسرعة أعطيني PID تبعها, المفروض أثناء التحقيق تكتب كل المعلومات المُهمة يلي بتحتاجها على ورقة :

كود:
$ volatility -f MemoryDump_Lab1.raw --profile Win7SP1x64 cmdline | grep WinRAR

1699978514255.png

شوف هي العملية شو عمل ؟؟ بحاول يفتح ملف Important.rar طيب خلينا نشوف شو هو هذا الملف ونفهم أكثر .
وين بدي أبحث عنه وأشوف أي شيء متعلق فيه بهي الحالة رح استخدم إضافة وهي filescan


كود:
$ volatility -f MemoryDump_Lab1.raw --profile Win7SP1x64 filescan | grep Important.rar

هون بحكيله ابحث في الملفات و بحددله اسم الملف يلي بدي أعرف عنه .

1699978529944.png

طيب هي شفت وينه وبعدين؟
حاس لازم أشوف شو محتواه صح؟ طيب بنقدر نعم قبل شوي سحبنا تفريغ عملية هسا بدنا نسحب ملف باستخدام dumpfiles


كود:
$ volatility -f MemoryDump_Lab1.raw --profile Win7SP1x64 dumpfiles -Q 0x000000003fa3ebc0 -D lab1_output/

رح أحدد الإضافة وأحدد - Q الإزاحة و -D وين بدي اخزنه, خلينا نشوف:

1699978549623.png

1699978571714.png


هي سحبناه خلينا نشوف شو فيه 😄

1699978586385.png

باسورد 🥲, ممكن نستخدم فيه john و نكسره بس في فكرة إنه ممكن تكون البنت حاطة كلمة سر نفس كلمة سر جهازها؟ ممكن صح

رح تحكيلي كيف بدنا نعرف الباسورد تبع جهازها أصلًا, بقلك vol مش حارميتك من شيء في إضافة بقدر أوصل لكلمات سر المستخدمين في الجهاز وهي hashdump


1699978651940.png

حاسك استغربت أكيد رح تكون مشفرة هههههه, بس كونه هذا تحدي ctf رح تقدر تكسرو باستخدام john أو موقع حسب wordlist.
طيب شو التشفير هذا؟ هو NTLM ويندوز بتستخدمه, رح نحكي فيه بعدين طبعًا حساب البنت يلي هي Alissa

طبعًا رح نوخد الجزء الثاني من hash ونروح على الموقع نجرب :


1699978664670.png

خلونا نفتح الملف ونشوف الصورة :
بس رح اصدمك إنه رح يطلع غلط ههههههههههه , على فكرة أنا بحل التحدي معك وبكتب كل خطوة

والله ما أنا حاذف طلع بده القيمة تاعت hash بدون ما نكسره, يعني خد الجزء الثاني يلي هو هذا : f4ff64c8baac57d22f22edc681055ba6
بس اعمل الأحرف uppercase رح يفتح
.


1699978682227.png

خلصنا بس بدي أحكيلك أنه هو تحدي ctf, صح بس بدي تركز على طريقة التفكير وطريقة استخدام الإضافات, هذا كان سيناريو بسيط انتظرو الأقوى

الجزء الثاني [أضغط هنا]
 
التعديل الأخير بواسطة المشرف:
اول تعليق محجووز ❤️‍🔥
الله يعطيك الف عافيه انت بالذات رح توجّع راس ناس كثيرة بتفكر حالها بتشرح blue 😃
 
الله يعافيك و كالعادة القادم افضللل 🔥
 
  • Like
التفاعلات: STORM
واضح تاعب حالك في الموضوع ,ما شاء الله و الموضوع جميل
ولكن ان كان فيديو سيكون افضل
 
التعديل الأخير بواسطة المشرف:
ولكن ان كان فيديو سيكون افضل
غير صحيح، احنا حالياً بنقوم ببناء مراجع مكتوبة ومقروءة للجيل الحالي والاجيال المستقبلية، سهولة وسرعة تخزين المعلومة على شكل Text اكبر بكثير من لما تكون على شكل video
 
يبدو إن المقدمة والصدارة محجوزة لحبيبنا واخونا رعد، أحسنت الشرح 🎉❤️
 
غير صحيح، احنا حالياً بنقوم ببناء مراجع مكتوبة ومقروءة للجيل الحالي والاجيال المستقبلية، سهولة وسرعة تخزين المعلومة على شكل Text اكبر بكثير من لما تكون على شكل video
المحتوى المقروء و انتا بتقراء دماغك بعمل process و بتربط كثير أمور و بتحفظ حواسك كلها بينما الفيديو جيد بس ممكن توصل مرحلة تسمع و انتا مش مركز القرائة مجبور تركز و انتا بتقراء
 
  • Like
التفاعلات: STORM

آخر المشاركات

عودة
أعلى