စနစ်အချက်အလက်¶
၎င်း ဆိုသည်မှာ¶
စနစ်တစ်ခု၏ machine hive လေးခုသည် analyst တစ်ဦးက ၎င်း၏ timeline ကို မဖတ်မီ သိရန် လိုအပ်သည်များကို ဖော်ပြပါသည်။
- ၎င်း၏ အမည်များ (NetBIOS၊ DNS host အမည်၊ DNS domain) နှင့် ၎င်းပါဝင်သော domain သို့မဟုတ် workgroup၊
- ၎င်း၏ Windows ဗားရှင်း၊ build နှင့် update revision၊ Windows ကို ထည့်သွင်းခဲ့သည့် သို့မဟုတ် နောက်ဆုံး upgrade လုပ်ခဲ့သည့်အချိန်၊
- ၎င်း၏ time zone၊ စနစ်က ထိန်းသိမ်းခဲ့သော local အချိန်များကို သိစေပါသည်၊
- ၎င်းကို နောက်ဆုံး ပုံမှန်အတိုင်း shutdown လုပ်ခဲ့သည့်အချိန်၊
- ၎င်း၏ processor architecture နှင့် code page များ၊
- နောက်ဆုံး sign in ဝင်ခဲ့သော အသုံးပြုသူနှင့် sign in ဝင်ခဲ့ဖူးသော အသုံးပြုသူတိုင်း၏ profile များ၊
- ၎င်း၏ SID များ: ကွန်ပျူတာ၏ SID (စက်တွင်း account များသည် ၎င်းနှင့် RID တစ်ခု) နှင့် ၎င်း၏ domain ၏ SID၊
- ၎င်းကို upgrade လုပ်ခဲ့သည့် မူလ Windows ဗားရှင်းများ။
parse-registry system-info သည် ဤအရာအားလုံးပါဝင်သော record တစ်ခုကို စနစ်တစ်ခုလျှင် ရေးသားပါသည်။
အကောင်းဆုံး ကောက်ချက်: hive များကို စုဆောင်းခဲ့သည့်အချိန် (သို့မဟုတ် နောက်ဆုံးရေးသားခဲ့သည့်အချိန်) ရှိ ပြင်ဆင်မှု ဖြစ်ပါသည်။ Key အချိန်များသည် ၎င်း၏ အစိတ်အပိုင်းများ နောက်ဆုံး ပြောင်းလဲခဲ့သည့်အချိန်ကို ဖော်ပြပါသည်။
တည်နေရာ¶
C:\Windows\System32\config\SYSTEM (the control set Windows used last: Select\Current)
ControlSet00N\Control\ComputerName\ComputerName ComputerName
ControlSet00N\Services\Tcpip\Parameters Hostname, Domain
ControlSet00N\Control\TimeZoneInformation TimeZoneKeyName, Bias, ActiveTimeBias, …
ControlSet00N\Control\Windows ShutdownTime
ControlSet00N\Control\Session Manager\Environment PROCESSOR_ARCHITECTURE
ControlSet00N\Control\Nls\CodePage ACP, OEMCP
Setup\Source OS (Updated on M/D/YYYY HH:MM:SS) the version before each upgrade
C:\Windows\System32\config\SOFTWARE
Microsoft\Windows NT\CurrentVersion ProductName, EditionID, DisplayVersion,
CurrentBuild, UBR, InstallDate, InstallTime, …
Microsoft\Windows NT\CurrentVersion\ProfileList one key per profile (SID)
Microsoft\Windows\CurrentVersion\Authentication\LogonUI LastLoggedOnUser, …
C:\Windows\System32\config\SAM
SAM\Domains\Account V: the computer's SID at its end
C:\Windows\System32\config\SECURITY
Policy\PolAcDmN, PolAcDmS the computer's name and SID
Policy\PolPrDmN, PolPrDmS its domain (or workgroup) and the domain's SID
Policy\PolDnDDN, PolDnTrN, PolDnDmG the domain's and forest's DNS names, GUID
Policy\PolMachineAccountS the computer account's SID in the domain
Hive လေးခုကို ၎င်းတို့၏ transaction log များနှင့်အတူ စုဆောင်းပါ။ ၎င်းတို့ထဲမှ မည်သည့်တစ်ခုတည်းကမဆို ၎င်းတွင် ပါဝင်သည့်အရာကို ပေးပါသည်။
စိစစ်သူများ သတိပြုရန်¶
- Registry အချိန်များသည် UTC ဖြစ်ပြီး time zone သည် အခြားအရာအားလုံးအတွက် ဖြစ်ပါသည်။ Key အချိန်များ၊ FILETIME များနှင့်
event အချိန်အများစုသည် UTC ဖြစ်ပါသည်။ Text log များ၊ application log အချို့နှင့် အမည်များ သို့မဟုတ် string များထဲ ရေးထားသော ရက်စွဲများ
(
Source OS (Updated on …)ကဲ့သို့) သည် local ဖြစ်နိုင်ပါသည်။Biasသည် local standard အချိန်မှ UTC သို့ မိနစ်ဖြစ်ပါသည် (UTC = local + Bias)။UtcOffsetနှင့်DaylightUtcOffsetက offset နှစ်ခုကို ပေးပြီးTimeZoneDescriptionသည် daylight အချိန် စတင်ချိန်နှင့် ကုန်ဆုံးချိန်ကို ဖော်ပြပါသည်။ - Time zone ပြောင်းလဲနိုင်ပါသည်။
TimeZoneLastWrittenUTCသည် key ၏ နောက်ဆုံးရေးသားချိန် ဖြစ်ပါသည်။ Windows သည်ActiveTimeBias(ထိုအချိန်က သက်ရောက်နေသော offset) ကို update လုပ်သည့်အခါ key ကို ကိုယ်တိုင် ပြန်ရေးသောကြောင့် မကြာသေးမီ အချိန်တစ်ခုသည် တစ်စုံတစ်ယောက်က zone ကို ပြောင်းခဲ့ကြောင်း မသက်သေပြပါ။ Event log များနှင့် နှိုင်းယှဉ်ပါ: Security 4616 (စနစ်အချိန် ပြောင်းလဲခဲ့သည်) နှင့် System log ၏Microsoft-Windows-Kernel-Generalevent များ။ StandardStartနှင့်DaylightStartတို့သည် kernel ၏TIME_FIELDSဖြစ်ပြီးSYSTEMTIMEများ မဟုတ်ပါ။ ရက်သတ္တပတ်၏နေ့သည် ၎င်းတို့၏ တတိယ field မဟုတ်ဘဲ (SOFTWAREရှိ zone ၏TZIvalue ကဲ့သို့) နောက်ဆုံး field ဖြစ်ပါသည်။ US zone များတွင် ရက်သတ္တပတ်၏နေ့သည် တနင်္ဂနွေ (0) ဖြစ်သောကြောင့် layout နှစ်မျိုးလုံး တူညီစွာ ဖတ်ရပါသည်။ Juntei သည် ၎င်းတို့ကိုTIME_FIELDSအဖြစ် decode လုပ်ပါသည်။ အများသုံး Easter Island စနစ်တစ်ခု (ပထမ စနေနေ့ 22:00) က ကွာခြားချက်ကို ပြသပါသည်။ လ 0 သည် daylight saving time မရှိကြောင်း ဆိုလိုပါသည်။- Windows 11 သည် "Windows 10" ဟု ဖော်ပြပါသည်။
ProductNameသည် Windows 11 တွင်Windows 10 …ကို ထိန်းထားပါသည်။ Build 22000 နှင့် နောက်ပိုင်းသည် Windows 11 ဖြစ်ပြီး အနှစ်ချုပ်က ထိုသို့ ဖော်ပြပါသည်။CurrentVersionသည် Windows 8.1၊ 10 နှင့် 11 တွင်6.3ဖြစ်ပါသည်။Versionသည်CurrentMajorVersionNumber(10) ရှိလျှင် ၎င်းကို အသုံးပြုပါသည်။ InstallDateသည် feature upgrade များနှင့်အတူ ရွေ့ပါသည်။ ထုတ်ဝေမှုအသစ်သို့ in-place upgrade (ဥပမာ 1809 မှ 21H2) သည် ၎င်းကို reset လုပ်ပါသည်။ Upgrade တစ်ခုစီက အစားထိုးခဲ့သော ထုတ်ဝေမှုကို ၎င်း၏ ကိုယ်ပိုင်InstallDateနှင့်အတူPreviousVersions(Setup\Source OS) တွင် တွေ့နိုင်ပါသည်။ ၎င်းတို့၏ အစောဆုံးInstallDateသည် မူလ ထည့်သွင်းမှုနှင့် အနီးစပ်ဆုံး ဖြစ်ပါသည်။Source OSkey ၏ အမည်ရှိ ရက်စွဲသည် ၎င်း၏ time zone ကို မဖော်ပြပါ။ShutdownTimeသည် နောက်ဆုံး ပုံမှန် shutdown ဖြစ်ပါသည်။ Crash သို့မဟုတ် ပါဝါပြတ်တောက်မှုက ၎င်းကို update မလုပ်ပါ။ ၎င်းကို event log များ (6006, 6008, 1074) နှင့် hive များသို့ နောက်ဆုံးရေးသားခဲ့သည့် အချိန်များနှင့် နှိုင်းယှဉ်ပါ။LastLoggedOnUserသည် sign-in မျက်နှာပြင်၏ နောက်ဆုံးအသုံးပြုသူ ဖြစ်ပြီး logon တိုင်း မဟုတ်ပါ။ Remote Desktop၊runas၊ service များနှင့် scheduled task များ အားလုံးက ၎င်းကို မသတ်မှတ်ပါ။LogonUiLastWrittenUTCသည် ၎င်းကို နောက်ဆုံး သတ်မှတ်ခဲ့သည့် အချိန်ခန့် ဖြစ်ပါသည်။- Profile များ:
ProfileListသည် စနစ်ပေါ်တွင် profile ရှိခဲ့ဖူးသော အသုံးပြုသူ (နှင့် service) တိုင်းကို ဖော်ပြပြီး ဖျက်ထားသော account များကိုလည်း ၎င်းတို့၏ profile ကို မဖယ်ရှားမချင်း ပါဝင်ပါသည်။ Windows 10 နှင့် နောက်ပိုင်းတွင်LocalProfileLoadTimeနှင့်LocalProfileUnloadTimeကို ရေးသားပါသည်: နောက်ဆုံး sign-in နှင့် sign-out ခန့် ဖြစ်ပါသည်။ - SID များ: စက်တွင်း account များသည်
MachineSid-<RID>၊ domain account များသည်DomainSid-<RID>ဖြစ်ပါသည်။MachineSidသည်SAMမှ လာပါသည် (မဟုတ်လျှင်SECURITY၏PolAcDmSမှ)။ နှစ်ခုသည် ကိုက်ညီသင့်ပါသည်။ မကိုက်ညီလျှင် မတူညီသော စနစ်များ၏ hive များကဲ့သို့Problemsက ထိုသို့ ဖော်ပြပါသည်။ Workgroup တွင်DomainSidသည် ဗလာ ဖြစ်ပါသည်။ - ဖိုင်တွဲတစ်ခု၊ စနစ်တစ်ခု။
-dဖြင့် ဖိုင်တွဲတစ်ခုအတွင်းရှိ hive များကို စနစ်တစ်ခု၏ hive များအဖြစ် မှတ်ယူပါသည်။RegBackမိတ္တူများနှင့် အမျိုးအစားတူ ဒုတိယ hive (SYSTEM.old) တို့သည် ကိုယ်ပိုင် record များ ဖြစ်ပါသည်။-fဖြင့် ပေးထားသော hive များကို စနစ်တစ်ခု၏ hive များအဖြစ် မှတ်ယူပြီး အခြား hive များကို ၎င်းတို့၏ ဘေးတွင် ရှာဖွေပါသည်။ - Control set များ: Windows နောက်ဆုံးအသုံးပြုခဲ့သော control set ကိုသာ ဖတ်ပါသည်။
parse-registry readက အခြား control set များကို ပြသပါသည်။
Juntei ဖြင့် ခွဲခြမ်းစိတ်ဖြာခြင်း¶
Usage: juntei parse-registry system-info <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find SYSTEM, SOFTWARE, SAM and SECURITY hives
-f, --file <FILE> A hive of one system; repeat for each
--no-logs Do not replay logs
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry system-info -d collection/ -o system-info.csv
juntei parse-registry system-info -f SYSTEM -f SOFTWARE -t jsonl \
| jq '{Host, TimeZoneDescription, ProductName, Build, LastShutdown}'
အနှစ်ချုပ်သည် စနစ်တစ်ခုစီအတွက် အောက်ပါတို့ကို ပေးပါသည်: ၎င်း၏ Windows ဗားရှင်း၊ ထည့်သွင်းခဲ့သည့်အချိန်၊ စကားလုံးဖြင့်
ဖော်ပြထားသော ၎င်း၏ time zone၊ key ကို နောက်ဆုံးရေးသားခဲ့စဉ်က သက်ရောက်နေသော offset၊ ၎င်း၏ နောက်ဆုံး shutdown၊ ၎င်း၏ domain
သို့မဟုတ် workgroup၊ နောက်ဆုံး sign in ဝင်ခဲ့သော အသုံးပြုသူ၊ ၎င်း၏ SID၊ ၎င်းတွင်ရှိသော profile အရေအတွက်နှင့် ၎င်းကို upgrade
လုပ်ခဲ့သည့် မူလဗားရှင်းများ။ auto-parse သည်လည်း တွေ့ရှိသော စနစ်များကို ဖော်ပြသည့်အခါ စနစ်တစ်ခုစီ၏ time zone ကို ပုံနှိပ်ပါသည်။
ထုတ်ယူမှု field များ¶
| Field | အဓိပ္ပာယ်ဖော်ချက် |
|---|---|
Host, SourcePath, SoftwarePath, SamPath, SecurityPath |
Host နှင့် ဖတ်ခဲ့သော hive များ (SourcePath သည် SYSTEM hive၊ မဟုတ်လျှင် ပထမဆုံးဖတ်ခဲ့သော hive)။ |
CompName, Hostname, Domain |
NetBIOS အမည် (SYSTEM၊ မဟုတ်လျှင် SECURITY ၏ PolAcDmN)၊ DNS host အမည်နှင့် DNS domain (Tcpip\Parameters)။ |
PrimaryDomain, DNS-Domain |
ကွန်ပျူတာ join လုပ်ထားသော domain သို့မဟုတ် ၎င်း၏ workgroup (PolPrDmN) နှင့် domain ၏ DNS အမည် (PolDnDDN)။ |
ProductName, Edition, DisplayVersion, Version, Build, Ubr, ServicePack, InstallationType |
CurrentVersion: ရေးထားသည့်အတိုင်း product အမည်၊ EditionID၊ DisplayVersion (မဟုတ်လျှင် ReleaseId)၊ major နှင့် minor ဗားရှင်း (မဟုတ်လျှင် CurrentVersion)၊ build၊ update build revision၊ CSDVersion နှင့် Client၊ Server သို့မဟုတ် Server Core။ |
InstallDateUTC, InstallTimeUTC |
InstallDate (စက္ကန့်အထိ) နှင့် InstallTime (100 ns အထိ၊ Windows 10 နှင့် နောက်ပိုင်း): ထည့်သွင်းမှု သို့မဟုတ် နောက်ဆုံး feature upgrade။ |
RegisteredOwner, RegisteredOrganization, SystemRoot |
ရေးထားသည့်အတိုင်း။ |
TimeZone, TimeZoneDescription |
TimeZoneKeyName (မဟုတ်လျှင် StandardName) နှင့် ၎င်း၏ offset များနှင့် daylight saving ရက်စွဲများပါသော စကားလုံးဖြင့် ဖော်ပြထားသည့် zone။ |
UTC-Offset, DaylightUTC-Offset |
UTC မှ local standard အချိန်၏ offset နှင့် daylight အချိန်၏ offset (daylight saving time မရှိလျှင် ဗလာ)။ |
BiasMinutes, ActiveBiasMinutes, StandardBiasMinutes, DaylightBiasMinutes |
Bias၊ ActiveTimeBias (key ကို ရေးသားခဲ့စဉ်က သက်ရောက်နေသော)၊ StandardBias၊ DaylightBias။ |
StandardName, DaylightName |
ရေးထားသည့်အတိုင်း၊ မကြာခဏ resource reference (@tzres.dll,-112) ဖြစ်ပါသည်။ |
StandardStart, DaylightStart |
Standard နှင့် daylight အချိန် စတင်ချိန်ကို စကားလုံးဖြင့် (first Sunday of November, 02:00)။ |
DynamicDaylightTimeDisabled, RealTimeIsUniversal |
Dynamic daylight saving time ကို ပိတ်ထားခြင်း၊ hardware နာရီက UTC ကို ထိန်းထားခြင်း။ |
TimeZoneLastWrittenUTC |
Time zone key ၏ နောက်ဆုံးရေးသားချိန်။ |
LastShutdownUTC |
ShutdownTime: နောက်ဆုံး ပုံမှန် shutdown။ |
CurrentControlSet, ProcessorArchitecture, AnsiCodePage, OemCodePage |
ဖတ်ခဲ့သော control set၊ PROCESSOR_ARCHITECTURE၊ ACP နှင့် OEMCP။ |
LastLoggedOnUser, LastLoggedOnSamUser, LastLoggedOnUserSID, LastLoggedOnDisplayName, LogonUiLastWrittenUTC |
Sign-in မျက်နှာပြင်၏ နောက်ဆုံးအသုံးပြုသူနှင့် ၎င်း၏ key ၏ နောက်ဆုံးရေးသားချိန်။ |
MachineSID, DomainSID, MachineAccountSID |
ကွန်ပျူတာ၏ SID၊ ၎င်း၏ domain ၏ SID (PolPrDmS) နှင့် domain အတွင်းရှိ ကွန်ပျူတာ account ၏ SID (PolMachineAccountS)။ |
CompNameLastWrittenUTC, PrimaryDomainLastWrittenUTC, VersionLastWrittenUTC |
ကွန်ပျူတာကို နောက်ဆုံး အမည်ပေးခဲ့သည့်၊ domain သို့မဟုတ် workgroup သို့ နောက်ဆုံး join လုပ်ခဲ့သည့်နှင့် နောက်ဆုံး update လုပ်ခဲ့သည့် (CurrentVersion ၏ key) အချိန်ခန့်။ |
PreviousVersions |
Source OS key တစ်ခုစီ: ဗားရှင်း၊ ၎င်း၏ ထည့်သွင်းသည့်ရက်စွဲနှင့် key ၏ အမည်ရှိ ရက်စွဲ (JSON: တစ်ခုလျှင် object တစ်ခု)။ |
Profiles |
Profile တစ်ခုစီ: SID၊ ဖိုင်တွဲ၊ key အချိန်၊ နောက်ဆုံး load နှင့် unload (JSON: တစ်ခုလျှင် object တစ်ခု)။ |
TransactionLogStatus, LogsApplied |
Hive လေးခုလုံးအတွက် registry ပြန်လည်ရယူမှု context။ |
Problems |
Type သို့မဟုတ် size မှားသော value များ (၎င်းတို့၏ byte များကို ထိန်းထားသည်) နှင့် ကွန်ပျူတာ SID များ ကွဲပြားသော SAM နှင့် SECURITY။ |
စုံစမ်းစစ်ဆေးမှု ဗျူဟာ¶
- Time zone ကို ဦးစွာ ဖတ်ပါ:
UtcOffset၊ daylight saving ရက်စွဲများနှင့် zone ကို မကြာသေးမီက ပြောင်းခဲ့/မပြောင်းခဲ့ကို မှတ်သားပါ။ Local-time log များကို ၎င်းဖြင့် ပြောင်းလဲပါ။ - ဗားရှင်း၊ build နှင့် ထည့်သွင်းသည့်ရက်စွဲကို မှတ်သားပါ။ Upgrade များအတွက်
PreviousVersionsကို စစ်ဆေးပြီး ထည့်သွင်းသည့်ရက်စွဲကို အဟောင်းဆုံး ဖိုင်စနစ်နှင့် event log အချိန်များနှင့် နှိုင်းယှဉ်ပါ။ LastShutdownUTCကို မှတ်သားပါ: ၎င်းနောက်ပိုင်း shutdown အချိန်အသစ် မရှိဘဲ လှုပ်ရှားမှု ရှိခြင်းသည် crash၊ ပါဝါပြတ်တောက်မှု သို့မဟုတ် live collection ကို ညွှန်ပြပါသည်။- အခြားနေရာများရှိ SID များ (BAM၊
ProfileList၊ event log များ) တွင် စက်တွင်းနှင့် domain account များကို ခွဲခြားရန်MachineSidနှင့်DomainSidကို အသုံးပြုပြီး နောက်ဆုံး sign-in များအတွက် profile များ၏ load နှင့် unload အချိန်များကို အသုံးပြုပါ။ - ကွန်ပျူတာနှင့် domain အမည်များကို event log များနှင့် ဆက်စပ်စစ်ဆေးပြီး အမည်ပြောင်းခြင်းနှင့် domain join များအတွက်
CompNameLastWrittenUTCနှင့်PrimaryDomainLastWrittenUTCတို့နှင့် ဆက်စပ်စစ်ဆေးပါ။