 
این فرمانی است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
نوسان - چارچوب پزشکی قانونی حافظه پیشرفته
خلاصه
نوسان [انتخاب]
نوسان -f [تصویر] --مشخصات=[پروفایل] [پلاگین]
شرح
Framework Volatility مجموعه ای کاملاً باز از ابزارها برای استخراج است
مصنوعات دیجیتال از نمونه های حافظه فرار (RAM) در تجزیه و تحلیل پزشکی قانونی مفید است.
تکنیک های استخراج کاملا مستقل از سیستم انجام می شود
بررسی شده است اما دید بی سابقه ای را در وضعیت زمان اجرا سیستم ارائه می دهد.
Volatility از چندین نسخه MS Windows، Linux و MAC OSX پشتیبانی می کند:
MS Windows:
· سرویس پک 32 و 2 ویندوز XP 3 بیتی
· سرویس پک سرور 32 بیتی ویندوز 2003 0، 1، 2
· سرویس پک 32، 0، 1 ویندوز ویستا 2 بیتی
· سرویس پک 32 و 2008 سرور ویندوز 1 2 بیتی (SP0 وجود ندارد)
· سرویس پک 32، 7 ویندوز 0 1 بیتی
· به روز رسانی 32 8 بیتی ویندوز 8.1، 8.1 و 1
· ویندوز 32 10 بیتی (پشتیبانی اولیه)
· سرویس پک 64 و 1 ویندوز XP 2 بیتی (SP0 وجود ندارد)
· سرویس پک 64 و 2003 سرور ویندوز 1 2 بیتی (SP0 وجود ندارد)
· سرویس پک 64، 0، 1 ویندوز ویستا 2 بیتی
· سرویس پک 64 و 2008 سرور ویندوز 1 2 بیتی (SP0 وجود ندارد)
· سرویس پک 64 و 2008 سرور ویندوز 2 R0 1 بیتی
· سرویس پک 64 و 7 ویندوز 0 1 بیتی
· به روز رسانی 64 8 بیتی ویندوز 8.1، 8.1 و 1
· ویندوز سرور 64 بیتی 2012 و 2012 R2
· ویندوز 64 10 بیتی (پشتیبانی اولیه)
لینوکس:
· هسته های لینوکس 32 بیتی 2.6.11 تا 4.2.3
· هسته های لینوکس 64 بیتی 2.6.11 تا 4.2.3
· OpenSuSE، Ubuntu، Debian، CentOS، Fedora، Mandriva و غیره
MacOSX:
· 32 بیتی 10.5.x Leopard (تنها نسخه 64 10.5 بیتی سرور است که پشتیبانی نمی شود)
· پلنگ برفی 32 بیتی 10.6.x
· پلنگ برفی 64 بیتی 10.6.x
· شیر 32 بیتی 10.7.x
· شیر 64 بیتی 10.7.x
· 64 بیتی 10.8.x Mountain Lion (نسخه 32 بیتی وجود ندارد)
Mavericks 64 بیتی 10.9.x (نسخه 32 بیتی وجود ندارد)
· 64 بیتی 10.10.x Yosemite (نسخه 32 بیتی وجود ندارد)
· 64 بیت 10.11.x El Capitan (نسخه 32 بیتی وجود ندارد)
فرمت های حافظه پشتیبانی شده عبارتند از:
· نمونه خطی خام (dd)
· فایل خواب زمستانی
· فایل تخلیه تصادف
· دامپ هسته VirtualBox ELF64
VMware فایل های حالت و عکس فوری را ذخیره کرد
· فرمت EWF (E01)
· فرمت LiME (Linux Memory Extractor).
· فرمت فایل Mach-o
· تخلیه ماشین مجازی QEMU
· فایر وایر
· HPAK (FDPro)
فضاهای آدرس پشتیبانی شده (انواع RAM) عبارتند از:
· AMD64PagedMemory - فضای آدرس استاندارد 64 بیتی AMD
· ArmAddressSpace - فضای آدرس برای پردازنده های ARM
· FileAddressSpace - این یک فایل مستقیم AS است
· HPAKAddressSpace - این AS از فرمت HPAK پشتیبانی می کند
· IA32PagedMemoryPae - این کلاس فضای آدرس صفحه بندی IA-32 PAE را پیاده سازی می کند.
مسئول است
· IA32PagedMemory - فضای آدرس صفحه بندی استاندارد IA-32
· LimeAddressSpace - فضای آدرس برای Lime
· MachOAddressSpace - فضای آدرس برای فایل های mach-o برای پشتیبانی از حافظه atc-ny
خواننده
· OSXPmemELF - این AS از فرمت VirtualBox ELF64 coredump پشتیبانی می کند
· QemuCoreDumpElf - این AS از فرمت های Qemu ELF32 و ELF64 coredump پشتیبانی می کند.
VirtualBoxCoreDumpElf64 - این AS از فرمت VirtualBox ELF64 coredump پشتیبانی می کند
· VMWareAddressSpace - این AS از عکس فوری VMware (VMSS) و وضعیت ذخیره شده پشتیبانی می کند
فایل های (VMSS)
· VMWareMetaAddressSpace - این AS از فرمت VMEM با VMSN/VMSS پشتیبانی می کند.
فراداده
WindowsCrashDumpSpace32 - این AS از فرمت Crash Dump ویندوز پشتیبانی می کند
WindowsCrashDumpSpace64BitMap - این AS از Windows BitMap Crash Dump پشتیبانی می کند
قالب
WindowsCrashDumpSpace64 - این AS از فرمت Crash Dump ویندوز پشتیبانی می کند
· WindowsHiberFileSpace32 - این یک فضای آدرس زمستانی برای ویندوز است
فایل های خواب زمستانی
تصاویر حافظه نمونه برای آزمایش در اینجا وجود دارد
https://github.com/volatilityfoundation/نوسان/wiki/Memory-Samples.
OPTIONS
-h، --کمک
تمام گزینه های موجود و مقادیر پیش فرض آنها را فهرست کنید. مقادیر پیشفرض ممکن است تنظیم شوند
فایل پیکربندی (/etc/volatilityrc).
--conf-file=/root/.volatilityrc
فایل پیکربندی مبتنی بر کاربر
-د، - رفع اشکال
نوسانات اشکال زدایی
--plugins=PLUGINS
اضافی پلاگین دایرکتوری های مورد استفاده (دقطه از هم جدا شده است).
-- اطلاعات اطلاعات مربوط به همه اشیاء ثبت شده را چاپ کنید.
--cache-directory=/root/.cache/volatility
دایرکتوری که فایل های کش در آن ذخیره می شوند.
-- کش
از کش استفاده کنید.
--tz=TZ
منطقه زمانی را برای نمایش مهرهای زمانی با استفاده از Pytz (در صورت نصب) یا tzset تنظیم کنید
-f نام فایل، --filename=FILENAME
نام فایل برای استفاده هنگام باز کردن تصویر.
--profile=WinXPSP2x86
نام نمایه برای بارگیری (استفاده از -- اطلاعات برای دیدن لیستی از پروفایل های پشتیبانی شده).
-l محل، --location=LOCATION
یک مکان URN که از آن فضای آدرس بارگیری می شود.
-w، --نوشتن
پشتیبانی نوشتن را فعال کنید.
--dtb=DTB
آدرس DTB
--shift=SHIFT
آدرس شیفت مک KASLR.
--output=متن
خروجی در این فرمت
--output-file=OUTPUT_FILE
خروجی را در این فایل بنویسید.
-v، -- پرحرف
اطلاعات پرمخاطب
-g KDBG، --kdbg=KDBG
یک آدرس مجازی KDBG خاص را مشخص کنید. برای ویندوز 64 و بالاتر 8 بیتی این است
آدرس KdCopyDataBlock.
--زور
استفاده اجباری از مشخصات مشکوک
-k KPCR، --kpcr=KPCR
یک آدرس KPCR خاص را مشخص کنید.
--کوکی=کوکی
آدرس nt!ObHeaderCookie را مشخص کنید (فقط برای ویندوز 10 معتبر است).
پلاگین و پرونده ها
پشتیبانی می شود پلاگین با استفاده از دستور '$' می توان دستورات و نمایه ها را مشاهده کرد
نوسان -- اطلاعات'. توجه داشته باشید که پلاگین های مجاز Linux و MAC OSX دارای 'linux_' هستند.
و پیشوندهای 'mac_'. پلاگین های بدون این پیشوندها برای MS Windows طراحی شده اند.
پروفایل ها نقشه هایی هستند که توسط Volatility برای درک سیستم های عملیاتی استفاده می شوند. ام اس مجاز
پروفایل های ویندوز توسط Volatility ارائه می شوند.
شما باید پروفایل های خود را برای Linux و MAC OSX ایجاد کنید. برای این، در سیستم های دبیان، بخوانید
فایل README.Debian ارائه شده توسط نوسان-بسته ابزار
در MS Windows، برای تعیین نوع سیستم عامل، می توانید از موارد زیر استفاده کنید:
نوسانات $ -f اطلاعات تصویری
or
نوسانات $ -f kdbgscan
محیط زیست متغیرها
در یک سیستم گنو/لینوکس یا OS X، این متغیرها را می توان تنظیم کرد:
· VOLATILITY_PROFILE - نمایه ای را مشخص می کند که به عنوان پیش فرض استفاده شود
غیر ضروری "--مشخصات' انتخاب.
· VOLATILITY_LOCATION - مسیر یک را مشخص می کند تصویر. بنابراین، دستور Volatility
نیازی به نام فایل از طریق ' نیست-f' انتخاب.
· VOLATILITY_KDBG - یک آدرس KDBG را مشخص می کند. رویه های اضافی را برای اطلاعات بیشتر ببینید
جزئیات.
دیگر پلاگین از پرچم ها می توان به این روش استفاده کرد، برای مثال KPCR، DTB یا PLUGINS. چه زمانی
در حال صادرات متغیرها، به سادگی پیشوند VOLATILITY_ را قبل از نام پرچم قرار دهید (مثلاً
VOLATILITY_KPCR). در غیر این صورت، نام پرچم در هنگام اضافه کردن آن به همان باقی می ماند
فایل پیکربندی.
اگر مسیری با فاصله یا بیشتر در نام دارید، فاصله ها باید با %20 جایگزین شوند
در عوض (مثلا LOCATION=file:///tmp/my%20image.img).
مثال:
$ صادرات VOLATILITY_PROFILE=Win7SP0x86
$ صادرات VOLATILITY_LOCATION=file:///tmp/myimage.img
$ صادرات VOLATILITY_KDBG=0x82944c28
پیکربندی فایل ها
فایل های پیکربندی معمولاً در دایرکتوری فعلی یا 'volatilityrc' هستند
'~/.volatilityrc' در فهرست اصلی کاربر یا در مسیر مشخص شده توسط کاربر، با استفاده از --conf-
پرونده انتخاب. نمونه ای از محتویات فایل در زیر نشان داده شده است:
[پیش فرض]
PROFILE=Win7SP0x86
LOCATION=file:///tmp/myimage.img
KDBG=0x82944c28
دیگر پلاگین از پرچم ها می توان به این روش استفاده کرد، برای مثال KPCR، DTB یا PLUGINS. چه زمانی
در حال صادرات متغیرها، به سادگی پیشوند VOLATILITY_ را قبل از نام پرچم قرار دهید (مثلاً
VOLATILITY_KPCR). در غیر این صورت، نام پرچم در هنگام اضافه کردن آن به همان باقی می ماند
فایل پیکربندی.
اگر مسیری با فاصله یا بیشتر در نام دارید، فاصله ها باید با %20 جایگزین شوند
در عوض (مثلا LOCATION=file:///tmp/my%20image.img).
EXTRA پرونده ها
تنظیم منطقه زمانی
مهرهای زمانی استخراج شده از حافظه می توانند در زمان محلی سیستم یا در زمان جهانی باشند
مختصات (UTC). اگر آنها در UTC هستند، می توان به Volatility دستور داد که آنها را در یک زمان نمایش دهد
منطقه انتخاب تحلیلگر برای انتخاب منطقه زمانی، از یکی از منطقه زمانی استاندارد استفاده کنید
اسامی (مانند آمریکا/سائو_پائولو، اروپا/لندن، ایالات متحده/شرقی یا اکثر مناطق زمانی اولسون) با
پرچم --tz=TIMEZONE.
Volatility در صورت نصب سعی می کند از pytz استفاده کند، در غیر این صورت از tzset استفاده می کند.
لطفاً توجه داشته باشید که تعیین منطقه زمانی بر نحوه نمایش زمانهای محلی سیستم تأثیری نخواهد داشت. اگر
زمانی را شناسایی میکنید که میدانید مبتنی بر UTC است، لطفاً آن را به عنوان مشکل در ردیاب مشکل ثبت کنید.
به طور پیشفرض مُهرهای زمان _EPROCESS CreateTime و ExitTime در UTC هستند.
تنظیم DTB
DTB (Directory Table Base) چیزی است که Volatility برای ترجمه آدرس های مجازی به فیزیکی استفاده می کند.
آدرس ها. به طور پیش فرض، یک هسته DTB (از فرآیند Idle/System) استفاده می شود. اگر می خواهید از a استفاده کنید
DTB فرآیندهای مختلف هنگام دسترسی به داده ها، آدرس را به --dtb=ADDRESS ارائه دهید.
تنظیم آدرس KDBG (این فقط برای ویندوز است انتخاب)
نوسانات ساختار "_KDDEBUGGER_DATA64" را با استفاده از امضاهای رمزگذاری شده "KDBG" و
یک سری بررسی های سلامت عقل این امضاها برای عملکرد سیستم عامل حیاتی نیستند
به درستی، بدافزارها می توانند آنها را بازنویسی کنند تا ابزارهایی را که به آن متکی هستند دور بریزند
امضا علاوه بر این، در برخی موارد ممکن است بیش از یک «_KDDEBUGGER_DATA64» وجود داشته باشد (برای
به عنوان مثال اگر یک بهروزرسانی اصلی سیستم عامل را اعمال کنید و راهاندازی مجدد نکنید)، که میتواند باعث سردرگمی و منجر شود
لیست های فرآیند و ماژول نادرست، از جمله مشکلات دیگر. اگه آدرسشو میدونی
'_KDDEBUGGER_DATA64' را اضافه کنید، می توانید آن را با --kdbg=ADDRESS مشخص کنید و این کار خودکار را لغو می کند
اسکن می کند. برای اطلاعات بیشتر به افزونه kdbgscan مراجعه کنید.
تنظیم آدرس KPCR (این فقط برای ویندوز است انتخاب)
یک KPCR (منطقه کنترل پردازنده هسته) برای هر CPU در یک سیستم وجود دارد. مقداری نوسان
افزونه ها اطلاعات هر پردازنده را نمایش می دهند. بنابراین اگر می خواهید داده های یک CPU خاص را نمایش دهید، برای
به عنوان مثال CPU 3 به جای CPU 1، می توانید آدرس KPCR آن CPU را با --kpcr=ADDRESS ارسال کنید.
برای تعیین مکان KPCR برای همه CPU ها، به پلاگین kpcrscan مراجعه کنید. همچنین توجه داشته باشید که با شروع Volatility 2.2،
بسیاری از پلاگین ها مانند idt و gdt به طور خودکار از طریق لیست KPCR ها تکرار می شوند.
فعال کردن پشتیبانی نوشتن
پشتیبانی Write در Volatility باید با احتیاط استفاده شود. بنابراین، برای فعال کردن آن، باید
نه تنها در خط فرمان --write را تایپ کنید، بلکه در پاسخ به سوالی که وجود دارد باید یک کلمه عبور تایپ کنید
از شما خواسته می شود. در بیشتر موارد شما نمی خواهید از پشتیبانی نوشتن استفاده کنید زیرا می تواند منجر به این شود
خراب شدن یا تغییر داده ها در حافظه شما. با این حال، موارد خاصی وجود دارد که این امر را ایجاد می کند
ویژگی واقعا جالب است برای مثال، میتوانید یک سیستم زنده را از بدافزار خاصی پاک کنید
نوشتن در RAM از طریق firewire، یا می توانید با وصله کردن بایت ها در یک ایستگاه کاری قفل شده نفوذ کنید.
DLL های winlogon
مشخص کردن اضافی پلاگین دایرکتوری
معماری افزونه Volatility میتواند فایلهای افزونه را از چندین فهرست به طور همزمان بارگیری کند. در
کد منبع فرار، اکثر افزونه ها در نوسان/افزونه ها قرار دارند. با این حال، دیگری وجود دارد
دایرکتوری (Vatility/Contribution) که برای مشارکت های توسعه دهندگان شخص ثالث رزرو شده است، یا
پلاگین هایی با پشتیبانی ضعیف که به سادگی به طور پیش فرض فعال نیستند. برای دسترسی به این افزونه ها شما فقط
--plugins=contrib/plugins را در خط فرمان تایپ کنید. همچنین به شما این امکان را می دهد که یک فهرست جداگانه ایجاد کنید
پلاگین های خود را که می توانید بدون نیاز به افزودن/حذف/تغییر فایل ها در هسته مدیریت کنید
فهرست های نوسانات.
یادداشت:
* در سیستمهای دبیان، دایرکتوری contrib/plugins در /usr/share/volatility/contrib/plugins قرار دارد.
* تا زمانی که یک فایل __init__.py (که می تواند خالی باشد) از زیر شاخه ها نیز عبور خواهد کرد.
درون آنها
* پارامتر ---plugins همچنین می تواند یک فایل فشرده حاوی پلاگین هایی از این قبیل باشد
به عنوان --plugins=myplugins.zip. با توجه به نحوه بارگیری افزونه ها، دایرکتوری افزونه های خارجی
یا فایل فشرده باید قبل از هر آرگومان مخصوص افزونه (از جمله نام آن) مشخص شود
افزونه). مثال:
$ volatility --plugins=contrib/plugins -f XPSP3x86.vmem مثال
انتخاب فرمت خروجی
به طور پیش فرض، افزونه ها از رندرهای متن برای خروجی استاندارد استفاده می کنند. اگر می خواهید به یک فایل تغییر مسیر دهید، شما
البته می توانید از تغییر مسیر کنسول (یعنی > out.txt) استفاده کنید یا می توانید از --output-file=out.txt استفاده کنید.
دلیل اینکه میتوانید --output=FORMAT را نیز انتخاب کنید این است که به افزونهها اجازه میدهید خروجی را نیز به صورت HTML ارائه کنند.
JSON، SQL یا هر چیزی که شما انتخاب می کنید. با این حال، هیچ پلاگینی با آن فرمت های خروجی جایگزین وجود ندارد
برای استفاده از قبل پیکربندی شده است، بنابراین باید تابعی به نام render_html، render_json، render_sql، اضافه کنید.
به ترتیب به هر افزونه قبل از استفاده از --output=HTML.
گزینه های خاص را پلاگین کنید
بسیاری از افزونه ها آرگومان های خود را می پذیرند که مستقل از گزینه های جهانی هستند. برای دیدن
لیست گزینه های موجود، نام افزونه و -h/--help را در خط فرمان تایپ کنید.
$ dlllist نوسان -h
حالت اشکال زدایی
اگر چیزی به شکل مورد انتظار در Volatility اتفاق نمی افتد، سعی کنید دستور را با -d/--debug اجرا کنید.
این کار چاپ پیام های اشکال زدایی را با خطای استاندارد فعال می کند. به سطوح بیشتر اشکال زدایی، مانند استفاده
db debugger)، -d -d -d را به دستور اضافه کنید.
استفاده از Volatility به عنوان کتابخانه
اگرچه امکان استفاده از Volatility به عنوان یک کتابخانه وجود دارد، (برنامه هایی برای پشتیبانی بهتر از آن در این کتابخانه وجود دارد
آینده). در حال حاضر، برای وارد کردن Volatility از یک اسکریپت پایتون، میتوان از کد مثال زیر استفاده کرد:
پایتون دلار
>>> volatility.conf را به عنوان conf وارد کنید
>>> volatility.registry را به عنوان رجیستری وارد کنید
>>> registry.PluginImporter()
>>> config = conf.ConfObject()
>>> volatility.commands را به عنوان دستور وارد کنید
>>> volatility.addrspace را به عنوان adrspace وارد کنید
>>> registry.register_global_options(config، commands.Command)
>>> registry.register_global_options(config، adrspace.BaseAddressSpace)
>>> config.parse_options()
>>> config.PROFILE="WinXPSP2x86"
>>> config.LOCATION = "file:///media/memory/private/image.dmp"
>>> volatility.plugins.taskmods را به عنوان taskmod وارد کنید
>>> p = taskmods.PSList (پیکربندی)
>>> برای پردازش در p.calculate():
... فرآیند چاپ
مثال ها
برای دیدن همه پلاگین ها، نمایه ها، بررسی های اسکنر و فضاهای آدرس موجود:
نوسانات $ --info
برای فهرست کردن تمام فرآیندهای فعال موجود در MS Windows 8 SP0 تصویر:
$ volatility -f win8.raw --profile=Win8SP0x86 pslist
برای فهرست کردن تمام فرآیندهای فعال موجود در MS Windows 8 SP0 تصویر، با استفاده از یک منطقه زمانی:
$ volatility -f win8.raw --profile=Win8SP0x86 pslist --tz=America/Sao_Paulo
برای نمایش بانوفر هسته از لینوکس 3.2.63 تصویر:
$ volatility -f mem.dd --profile=Linux_3_2_63_x64 linux_dmesg
NOTES
این manpage بر اساس برخی آزمایشها و چندین سند رسمی در مورد Volatility است. برای
سایر اطلاعات و آموزش ها را ببینید:
· http://www.volatilityfoundation.org
· https://github.com/volatilityfoundation/نوسان/ویکی
با استفاده از خدمات onworks.net از نوسانات آنلاین استفاده کنید
 














