Microsoft Office (हाल की फ़ाइलें, विश्वसनीय दस्तावेज़, macro settings)¶
Office क्या दर्ज करता है¶
Microsoft Office प्रत्येक उपयोगकर्ता के लिए NTUSER.DAT में, और प्रत्येक संस्करण तथा application के लिए, निम्न रखता है:
- हाल की files और स्थान:
File MRU, यानी application द्वारा खोले गए दस्तावेज़, औरPlace MRU, यानी वे folders जिनसे उसने उन्हें खोला, प्रत्येक item के साथ उसके अंतिम बार खोले जाने का समय। Microsoft 365 प्रत्येक signed-in account के लिए एक list भी रखता है (User MRU\<account>)। - Trusted Documents: जब कोई उपयोगकर्ता किसी दस्तावेज़ पर Enable Editing या Enable Content पर click करता है, तो
Office उसे
TrustRecordsमें याद रखता है: दस्तावेज़ का path, उसे कब trust किया गया, और क्या उसके macros enable किए गए थे। - Macro settings:
VBAWarnings(कौन-से macros चलते हैं),BlockContentExecutionFromInternet(क्या Internet से आई files के macros block होते हैं),AccessVBOM(क्या programs VBA projects को बदल सकते हैं) और Trusted Locations, यानी ऐसे folders जिनके दस्तावेज़ों के macros बिना पूछे चलते हैं। Group Policy यही settingsSoftware\Policiesके अंतर्गत सेट कर सकती है।
किसी दुर्भावनापूर्ण दस्तावेज़ को आमतौर पर उपयोगकर्ता से अपने macros enable करवाने की आवश्यकता होती है: ऐसा trust record जिसके macros enable किए गए थे, दस्तावेज़, उपयोगकर्ता और समय को आपस में जोड़ता है।
सर्वोत्तम निष्कर्ष: उपयोगकर्ता ने यह दस्तावेज़ इस application में खोला (और अंतिम बार इस समय); उपयोगकर्ता ने इस दस्तावेज़ की editing या macros को इस समय enable किया; Office को macros इस तरह चलाने के लिए configure किया गया था।
स्थान¶
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।
एक item [F00000000][T01D86AF6D3C287B0][O00000000]*C:\Users\alice\report.docx जैसा दिखता है: T
अंतिम बार खोले जाने का समय है (hexadecimal में एक FILETIME), path * के बाद आता है। Trust record 24
bytes का होता है: वह FILETIME जब दस्तावेज़ को trust किया गया, फिर अंतिम 4 bytes में उसके flags,
macros enable होने पर 0x7FFFFFFF और केवल editing enable होने पर 0x00000001।
विश्लेषक के लिए सावधानियाँ¶
- समय।
LastOpenedUTCप्रत्येक item का अपना समय है।TrustedAtUTCवह समय है जब उपयोगकर्ता ने दस्तावेज़ को trust किया, यानी वह क्षण जब Enable Editing या Enable Content पर click किया गया, जो सबसे हाल के खोले जाने से पहले का हो सकता है। - Macros enable हुए, चले नहीं।
MacrosEnabledबताता है कि उपयोगकर्ता ने दस्तावेज़ के macros enable किए; यह सिद्ध नहीं करता कि कोई macro चला या उसने क्या किया। Process creation, Prefetch, PowerShell logs और स्वयं दस्तावेज़ से correlate करें। - Paths वैसे ही जैसे Office उन्हें संग्रहीत करता है। Trust records दस्तावेज़ को ऐसे path से दर्शाते हैं जिसमें
%USERPROFILE%, forward slashes,file:///URL और URL encoding (%20) हो सकते हैं। Cloud दस्तावेज़ों के MRU items URLs होते हैं। - Defaults और प्रभावी policy। Office default trusted locations (
Templates,XLSTART,STARTUP, …) बनाता है। किसी location काDateएक उपयोगी संकेत है, यह प्रमाण नहीं कि उसे किसने बनाया: administrators, scripts, policies और copy की गई registry settings भी उसे भर सकती हैं। केवलVBAWarningsका अनुपस्थित होना प्रभावी macro policy स्थापित नहीं करता। Office संस्करण, Internet file marking और अन्य management settings भी मायने रखती हैं। Microsoft Internet macro blocking को समझाता है। - हटाए गए दस्तावेज़। Lists दस्तावेज़ों से अधिक समय तक रहती हैं; अनुपस्थित file भी यहाँ दिख सकती है। Lists छोटी होती हैं और Office के Clear unpinned items तथा cleanup tools से साफ़ हो जाती हैं।
Juntei से parse करें¶
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)'
Summary उन दस्तावेज़ों को सूचीबद्ध करता है जिनके macros enable किए गए थे, ऐसी settings जो macros को अधिक
स्वतंत्रता से चलने देती हैं (VBAWarnings 1, BlockContentExecutionFromInternet 0, AccessVBOM 1,
AllowNetworkLocations 1), उपयोगकर्ताओं द्वारा जोड़ी गई या policy द्वारा सेट trusted locations, और अंतिम बार
खोले गए दस्तावेज़।
आउटपुट fields¶
| Field | व्याख्या |
|---|---|
Host, User, UserSID, SourcePath |
Host, profile का स्वामी (path या shell folders से), system के ProfileList से SID, और hive। |
OfficeVersion, App |
संस्करण की key (16.0) और application (Word, Excel, …)। |
List |
File MRU, Place MRU, TrustRecords, Security या Trusted Locations। |
Account |
किसी User MRU list का Microsoft 365 account। |
Policy |
क्या setting या location policy द्वारा सेट है। |
MRU-Position, IsMostRecent |
List में item का स्थान (Item 1 0 है, सबसे हाल का)। |
Path |
दस्तावेज़ या folder; trusted document का संग्रहीत path; trusted location का Path। |
LastOpenedUTC |
Item अंतिम बार कब खोला गया। |
TrustedAtUTC, MacrosEnabled, TrustFlags |
दस्तावेज़ कब trust किया गया, क्या उसके macros enable किए गए थे, और record के flags। अज्ञात flags MacrosEnabled को खाली छोड़ते हैं और एक diagnostic उत्पन्न करते हैं। |
Setting, Value |
एक macro setting और उसकी value, उसके अर्थ के साथ (1 (all macros enabled)); trusted location की key (Location3) और उसकी अन्य values (AllowSubFolders=1; Date=…; Description=…)। |
KeyPath, KeyLastWrittenUTC |
Key और उसका अंतिम write। |
DataRaw |
Decode न होने पर value के bytes (hex)। |
TransactionLogStatus, LogsApplied |
Registry recovery का संदर्भ। |
Problems |
बिना * वाले या अमान्य समय वाले items, 24 bytes के न होने वाले trust records, बिना Path वाली locations, गलत types। |
जाँच की रणनीति¶
MacrosEnabledtrue से शुरू करें: कौन-से दस्तावेज़, कब, और किसके द्वारा। Files ($MFT, USN Journal,Zone.Identifier), उनका स्रोत (browser और mail history) और उसके बाद क्या चला, यह खोजें।- Macro settings और trusted locations जाँचें: सभी macros enabled, Internet macros का
block न होना, VBA project access, या उपयोगकर्ता द्वारा जोड़ी गई location (
Downloads,Temp, किसी network share में) defaults को कमज़ोर करते हैं। - दस्तावेज़ों के paths के लिए, removable और network locations सहित,
LastOpenedUTCको LNK files, jump lists और RecentDocs के साथ timeline पर रखें।