Microsoft Office (الملفات الأخيرة، والمستندات الموثوقة، وإعدادات وحدات الماكرو)¶
ما يسجله Office¶
يحتفظ Microsoft Office، لكل مستخدم في NTUSER.DAT ولكل إصدار وتطبيق، بما يلي:
- الملفات والأماكن الأخيرة:
File MRU، وهي المستندات التي فتحها التطبيق، وPlace MRU، وهي المجلدات التي فتحها منها، ولكل عنصر وقت آخر فتح له. ويحتفظ Microsoft 365 أيضًا بقائمة لكل حساب مسجّل الدخول (User MRU\<account>). - المستندات الموثوقة (Trusted Documents): عندما ينقر المستخدم على Enable Editing أو Enable Content في مستند،
يتذكره Office في
TrustRecords: مسار المستند، ووقت الوثوق به، وما إذا كانت وحدات الماكرو الخاصة به قد مُكّنت. - إعدادات وحدات الماكرو:
VBAWarnings(أي وحدات الماكرو تعمل)، وBlockContentExecutionFromInternet(ما إذا كانت وحدات الماكرو في الملفات القادمة من الإنترنت محظورة)، وAccessVBOM(ما إذا كان يُسمح للبرامج بتغيير مشاريع VBA) والمواقع الموثوقة (Trusted Locations)، وهي مجلدات تعمل وحدات الماكرو في مستنداتها دون سؤال. ويمكن لنهج المجموعة (Group Policy) ضبط الإعدادات نفسها تحتSoftware\Policies.
عادةً ما يحتاج المستند الضار إلى أن يمكّن المستخدم وحدات الماكرو الخاصة به: فسجل الثقة الذي مُكّنت فيه وحدات الماكرو يربط المستند والمستخدم ووقتًا معًا.
أفضل استنتاج: فتح المستخدم هذا المستند في هذا التطبيق (وآخر مرة في هذا الوقت)؛ ومكّن المستخدم التحرير أو وحدات الماكرو لهذا المستند في هذا الوقت؛ وكان Office مُكوَّنًا لتشغيل وحدات الماكرو بهذه الطريقة.
الموقع¶
C:\Users\<user>\NTUSER.DAT
Software\Microsoft\Office\<version>\<application>\File MRU Item 1, Item 2, …
Software\Microsoft\Office\<version>\<application>\Place MRU
Software\Microsoft\Office\<version>\<application>\User MRU\<account>\File MRU
Software\Microsoft\Office\<version>\<application>\Security\Trusted Documents\TrustRecords
Software\Microsoft\Office\<version>\<application>\Security VBAWarnings, …
Software\Microsoft\Office\<version>\<application>\Security\Trusted Locations\LocationN
Software\Policies\Microsoft\Office\<version>\<application>\Security by policy
الإصدارات: 16.0 هو Office 2016 وما بعده (2019، 2021، 2024، Microsoft 365)، و15.0 هو Office 2013،
و14.0 هو Office 2010، و12.0 هو Office 2007.
يبدو العنصر هكذا [F00000000][T01D86AF6D3C287B0][O00000000]*C:\Users\alice\report.docx: T
هو وقت آخر فتح (FILETIME بالنظام السداسي عشري)، ويأتي المسار بعد *. وسجل الثقة 24
بايتًا: قيمة FILETIME لوقت الوثوق بالمستند، ثم أعلامه في آخر 4 بايتات، 0x7FFFFFFF
عندما مُكّنت وحدات الماكرو الخاصة به و0x00000001 عندما مُكّن التحرير فقط.
تحذيرات للمحلل¶
- الأوقات.
LastOpenedUTCهو الوقت الخاص بكل عنصر. وTrustedAtUTCهو وقت وثوق المستخدم بالمستند، أي لحظة النقر على Enable Editing أو Enable Content، والتي قد تسبق آخر فتح. - تمكين وحدات الماكرو لا يعني تشغيلها. يوضح
MacrosEnabledأن المستخدم مكّن وحدات الماكرو في المستند؛ لكنه لا يثبت أن وحدة ماكرو قد عملت أو ماذا فعلت. اربط ذلك بإنشاء العمليات، وPrefetch، وسجلات PowerShell والمستند نفسه. - المسارات كما يخزنها Office. تسمّي سجلات الثقة المستند بمسار قد يستخدم
%USERPROFILE%، أو شرطات مائلة للأمام، أو عنوان URL من نوعfile:///وترميز URL (%20). وعناصر MRU للمستندات السحابية هي عناوين URL. - القيم الافتراضية والنهج الفعلي. ينشئ Office مواقع موثوقة افتراضية (
Templates،XLSTART،STARTUP، …). وDateالخاص بالموقع دليل مفيد، لا إثبات لمن أنشأه: فقد يملؤه أيضًا المسؤولون، والبرامج النصية، والنُّهج، وإعدادات سجل Windows المنسوخة. ولا يُثبت غيابVBAWarningsوحده نهج وحدات الماكرو الفعلي. كما أن إصدار Office، ووسم ملفات الإنترنت، وإعدادات الإدارة الأخرى مهمة أيضًا. توضح Microsoft حظر وحدات الماكرو القادمة من الإنترنت. - المستندات المحذوفة. تبقى القوائم بعد زوال المستندات؛ فقد يظل ملف مفقود ظاهرًا هنا. والقوائم قصيرة وتُمسح بواسطة Clear unpinned items في Office وأدوات التنظيف.
التحليل باستخدام Juntei¶
Usage: juntei parse-registry office <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find NTUSER.DAT hives
-f, --file <FILE> Parse one NTUSER.DAT
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry office -d evidence/ -o office.csv
juntei parse-registry office -f NTUSER.DAT -t jsonl | jq 'select(.MacrosEnabled == true)'
يسرد الملخص المستندات التي مُكّنت وحدات الماكرو الخاصة بها، والإعدادات التي تسمح بتشغيل وحدات الماكرو بحرية
أكبر (VBAWarnings 1، BlockContentExecutionFromInternet 0، AccessVBOM 1،
AllowNetworkLocations 1)، والمواقع الموثوقة التي أضافها المستخدمون أو ضبطها نهج، والمستندات
التي فُتحت مؤخرًا.
حقول الإخراج¶
| الحقل | التفسير |
|---|---|
Host، User، UserSID، SourcePath |
المضيف، ومالك ملف التعريف (من المسار أو مجلدات shell)، ومعرّف SID من ProfileList الخاص بالنظام، والخلية. |
OfficeVersion، App |
مفتاح الإصدار (16.0) والتطبيق (Word، Excel، …). |
List |
File MRU أو Place MRU أو TrustRecords أو Security أو Trusted Locations. |
Account |
حساب Microsoft 365 لقائمة User MRU. |
Policy |
ما إذا كان الإعداد أو الموقع مضبوطًا بواسطة نهج. |
MRU-Position، IsMostRecent |
موضع العنصر في قائمته (Item 1 هو 0، الأحدث). |
Path |
المستند أو المجلد؛ ومسار المستند الموثوق كما هو مخزن؛ وPath الخاص بالموقع الموثوق. |
LastOpenedUTC |
وقت آخر فتح للعنصر. |
TrustedAtUTC، MacrosEnabled، TrustFlags |
وقت الوثوق بالمستند، وما إذا كانت وحدات الماكرو الخاصة به قد مُكّنت، وأعلام السجل. وتترك الأعلام غير المعروفة MacrosEnabled فارغًا وتُنتج رسالة تشخيصية. |
Setting، Value |
إعداد ماكرو وقيمته مع معناها (1 (all macros enabled))؛ ومفتاح الموقع الموثوق (Location3) وقيمه الأخرى (AllowSubFolders=1; Date=…; Description=…). |
KeyPath، KeyLastWrittenUTC |
المفتاح وآخر كتابة له. |
DataRaw |
بايتات القيمة (بالنظام السداسي عشري) عندما يتعذر فك ترميزها. |
TransactionLogStatus، LogsApplied |
سياق استعادة سجل Windows. |
Problems |
عناصر بلا * أو بوقت غير صالح، وسجلات ثقة ليست 24 بايتًا، ومواقع بلا Path، وأنواع خاطئة. |
استراتيجية التحقيق¶
- ابدأ بقيمة
MacrosEnabledالصحيحة: المستندات، ومتى، ومن قِبل من. ابحث عن الملفات ($MFT، ودفتر يومية USN، وZone.Identifier)، ومصدرها (سجل المتصفح والبريد) وما عمل بعدها. - افحص إعدادات وحدات الماكرو والمواقع الموثوقة: فتمكين كل وحدات الماكرو، أو عدم حظر وحدات الماكرو القادمة من
الإنترنت، أو الوصول إلى مشاريع VBA، أو موقع أضافه المستخدم (في
Downloads،Temp، مشاركة شبكة) كلها تُضعف الإعدادات الافتراضية. - ضع
LastOpenedUTCعلى الجدول الزمني مع ملفات LNK وJump Lists وRecentDocs لمسارات المستندات، بما في ذلك المواقع القابلة للإزالة ومواقع الشبكة.