လုံခြုံရေးဆက်တင်များ¶
၎င်းတို့ ဆိုသည်မှာ¶
တိုက်ခိုက်သူများသည် ပုန်းအောင်းနေရန်နှင့် credential များဆီ ရောက်ရှိရန် Windows ၏ လုံခြုံရေးဆက်တင်များကို ပြောင်းလဲကြသည်။ ၎င်းတို့သည် Microsoft Defender ကို ပိတ်ခြင်း သို့မဟုတ် ၎င်းတို့၏ tool များကို ၎င်းမှ ချန်လှပ်ခြင်း (exclude)၊ Windows ကို cleartext password များ သိမ်းထားစေခြင်း၊ Remote Desktop ကို ဖွင့်ခြင်း၊ firewall ကို ပိတ်ခြင်းနှင့် PowerShell logging ကို တိတ်ဆိတ်စေခြင်းတို့ကို ပြုလုပ်ကြသည်။ Registry သည် ဤဆက်တင်များကို သိမ်းထားသည်-
SOFTWARE: Defender၊ ၎င်း၏ exclusion များနှင့် မူဝါဒများ၊ UAC၊ Remote Desktop နှင့် firewall ၏ မူဝါဒများ၊ PowerShell ၏ execution policy၊ logging မူဝါဒများနှင့် AMSI provider များ၊ System Restore၊ event log channel များ။SYSTEM(control set အလိုက်):WDigest၊ LSA protection၊ Credential Guard၊ Restricted Admin၊ NTLM၊ Remote Desktop၊ firewall profile များ၊ SMBv1၊ last access အချိန်များ၊ event log တစ်ခုစီ၏ အရွယ်အစား။NTUSER.DAT: အသုံးပြုသူ၏ PowerShell execution policy နှင့် logging မူဝါဒများ၊ Windows Script Host အတွက် AMSI။
parse-registry security-settings သည် ၎င်းတွေ့ရှိသော ဆက်တင်တစ်ခုစီကို record တစ်ခုအဖြစ် အစီရင်ခံသည်။ Record တစ်ခုစီတွင်
ဆက်တင်၏ value၊ value ၏ အဓိပ္ပာယ်နှင့် ၎င်းက မူလသတ်မှတ်ချက်ကို အားနည်းစေခြင်း ရှိ/မရှိ ပါဝင်သည်- ၎င်းသည် ကာကွယ်မှု
သို့မဟုတ် အထောက်အထား source တစ်ခုကို ပိတ်ခြင်း၊ သို့မဟုတ် value မရှိသည့်အခါ လက်ရှိ Windows (10 နှင့် 11) လုပ်ဆောင်သည့်
အဆင့်အောက်သို့ လျှော့ချခြင်း ရှိ/မရှိ။
အကောင်းဆုံး ကောက်ချက်: Hive ကို သိမ်းဆည်းခဲ့ချိန်တွင် ဤဆက်တင်၌ ဤ value ရှိခဲ့ပြီး key ကို ဤအချိန်တွင် နောက်ဆုံးရေးသားခဲ့သည်။ အားနည်းစေထားသော ဆက်တင်သည် သဲလွန်စတစ်ခုသာဖြစ်ပြီး ချိုးဖောက်ခံရမှု၏ သက်သေ မဟုတ်ပါ။ Administrator များ၊ Group Policy၊ အခြား လုံခြုံရေးထုတ်ကုန်များနှင့် Windows ဗားရှင်းဟောင်းများကလည်း ဤ value အချို့ကို သတ်မှတ်ကြပြီး ၎င်းသည် အဖြစ်များသည့်နေရာတွင် အဓိပ္ပာယ်ဖော်ပြချက်က ထိုသို့ ဖော်ပြထားသည်။
တည်နေရာ¶
C:\Windows\System32\config\SOFTWARE
Microsoft\Windows Defender[\Real-Time Protection|\Features|\Spynet]
Microsoft\Windows Defender\Exclusions\Paths|Extensions|Processes|IpAddresses|TemporaryPaths
Policies\Microsoft\Windows Defender\…
Microsoft\Windows\CurrentVersion\Policies\System UAC
Policies\Microsoft\Windows NT\Terminal Services RDP policy
Policies\Microsoft\WindowsFirewall\<profile> firewall policy
Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell ExecutionPolicy
Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging|ModuleLogging|Transcription
Microsoft\AMSI\Providers\{CLSID}
Microsoft\Windows NT\CurrentVersion\SystemRestore DisableSR
Microsoft\Windows\CurrentVersion\WINEVT\Channels\<channel> Enabled, MaxSize
C:\Windows\System32\config\SYSTEM (ControlSet00N\…)
Control\SecurityProviders\WDigest UseLogonCredential
Control\Lsa RunAsPPL, LsaCfgFlags, DisableRestrictedAdmin, LmCompatibilityLevel
Control\Terminal Server[\WinStations\RDP-Tcp] fDenyTSConnections, PortNumber, UserAuthentication
Services\SharedAccess\Parameters\FirewallPolicy\<profile> EnableFirewall
Services\LanmanServer\Parameters SMB1
Control\FileSystem NtfsDisableLastAccessUpdate
Services\EventLog\<log> MaxSize
C:\Users\<user>\NTUSER.DAT
Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell ExecutionPolicy
Software\Policies\Microsoft\Windows\PowerShell\…
Software\Microsoft\Windows Script\Settings AmsiEnable
Hive သုံးခုစလုံးကို ၎င်းတို့၏ transaction log များနှင့်အတူ စုဆောင်းပါ။ စုဆောင်းခြင်းမပြုမီ မကြာမီက ပြောင်းလဲခဲ့သော ဆက်တင်သည် log များထဲတွင်သာ ရှိနိုင်သည်။
စိစစ်သူများ သတိပြုရန်¶
- သိမ်းဆည်းထားသော ပြင်ဆင်သတ်မှတ်ချက်သည် ထိရောက်သော ကာကွယ်မှု အခြေအနေ မဟုတ်ပါ။ စုဆောင်းထားသော registry value များနှင့်
ပျက်စီးနေသော value စာရင်းများအတွက် diagnostic row များကို အစီရင်ခံသည်။ ပျောက်နေသော ဒေတာသည် မူလသတ်မှတ်ချက်များ၊
မစုဆောင်းရသေးသော source များ သို့မဟုတ် အခြား စီမံခန့်ခွဲမှု နည်းလမ်းတစ်ခုကို ထင်ဟပ်နိုင်သည်။ ၎င်းသည် ကာကွယ်မှု ဖွင့်ထား
သို့မဟုတ် ပိတ်ထားကြောင်း သက်သေ မဟုတ်ပါ။
WeakensDefaultသည် လိုက်နာဆောင်ရွက်ခံရသည့်အခါ ဖော်ပြထားသော baseline ကို လျှော့ချနိုင်သည့် ဆက်တင်များကို အမှတ်အသားပြုသည်။ - Legacy Defender flag များကို လျစ်လျူရှုနိုင်သည်။
DisableAntiSpywareနှင့်DisableAntivirusသည် Defender ရပ်တန့်သွားကြောင်း သက်သေမပြပါ။ သက်ဆိုင်မှုသည် platform ဗားရှင်း၊ onboarding နှင့် tamper protection ပေါ် မူတည်သည်။ Microsoft က ဤ legacy ဆက်တင်များကို ရှင်းပြထားသည်။ - ခေတ်သစ် စီမံခန့်ခွဲထားသော exclusion များကို registry capture များတွင် မရရှိနိုင်ပါ။ Platform 4.18.25110.6 မှစ၍ Defender for Endpoint configuration management ကို အသုံးပြုသော စက်များတွင် exclusion ပြင်ဆင်သတ်မှတ်ချက်ကို ရယူရန် ပံ့ပိုးထားသော Defender PowerShell cmdlet များ လိုအပ်သည်။ ထို့ကြောင့် offline registry တွင် မရှိခြင်းက exclusion များ မရှိကြောင်း မသက်သေပြပါ။ Microsoft ၏ ပြင်ဆင်သတ်မှတ်မှု လမ်းညွှန်။
- အားနည်းစေထားခြင်းသည် အန္တရာယ်ရှိသည်ဟု မဆိုလိုပါ။ ဥပမာများ-
DisableAntiSpyware= 1 ကို အခြား antivirus တစ်ခု မှတ်ပုံတင်ထားစဉ် Windows ကလည်း သတ်မှတ်သည်။- Server များတွင် Remote Desktop ကို ရည်ရွယ်ချက်ရှိရှိ ဖွင့်ထားကြသည်။
- Windows 7 သည် event log များကို ပိုသေးငယ်စွာ ထားရှိပြီး last access အချိန်များကို အပ်ဒိတ်မလုပ်ခဲ့ပါ။
- မူလသတ်မှတ်ချက်များသည် ဗားရှင်းပေါ် မူတည်သည်။ အချို့ value များသည် ယခင်က မူလသတ်မှတ်ချက် ဖြစ်ခဲ့သည်-
NtfsDisableLastAccessUpdate= 1 သည် Windows 10 1803 မတိုင်မီ မူလသတ်မှတ်ချက် ဖြစ်ခဲ့သည်။ ၎င်းကို စီရင်ချက်မပါဘဲ အစီရင်ခံသော်လည်း နောက်ပိုင်းဗားရှင်းတွင် လက်ဖြင့် သတ်မှတ်ထားသော0x80000001ကိုမူ အားနည်းစေထားသည်ဟု သတ်မှတ်သည်။RunAsPPL၊LsaCfgFlagsနှင့်UseLogonCredentialကို လက်ရှိ Windows နှင့် နှိုင်းယှဉ်သည်။- Defender exclusion များ: path၊ extension၊ process သို့မဟုတ် လိပ်စာ တစ်ခုစီသည် record တစ်ခု ဖြစ်သည်။ Exclusion တိုင်းက
Defender ကို အားနည်းစေသည်။ Defender ကိုယ်တိုင် ထည့်သွင်းသော
TemporaryPathsတွင် စီရင်ချက် မရှိပါ။ အသုံးပြုသူ ရေးသားနိုင်သော ဖိုင်တွဲများ၊.ps1/.exeextension များနှင့် LOLBin များ (rundll32.exe,powershell.exe) ကို ရှာပါ။ - Policy key များ (
Policy= True) ကို Group Policy၊ tool များနှင့် မူဝါဒများက local ဆက်တင်များထက် အနိုင်ရကြောင်း သိသော တိုက်ခိုက်သူများက ရေးသားကြသည်။ ၎င်းတို့ကို domain ၏ GPO များနှင့် ချိတ်ဆက်စစ်ဆေးပါ။ - Event log channel များ: လုံခြုံရေးနှင့် သက်ဆိုင်သော channel 25 ခုကိုသာ Windows က တစ်ခုစီကို မူလအားဖြင့်
ဖွင့်ထားခြင်း ရှိ/မရှိနှင့်အတူ အစီရင်ခံသည်။ ဥပမာ
TaskScheduler/Operationalနှင့်DNS-Client/Operationalသည် မူလအားဖြင့် ပိတ်ထားသည်။ အခြားများအတွက်parse-registry readကို အသုံးပြုပါ။ - Key အချိန်များ:
KeyLastWrittenUTCသည် key ၏ အချိန်ဖြစ်သောကြောင့် ဤ value ပြောင်းလဲခဲ့သည့်အချိန် ဖြစ်ချင်မှ ဖြစ်မည်။Policieskey တစ်ခုလုံးကို တစ်ပြိုင်နက် ရေးသားခြင်းသည် အဖြစ်များသည်။ - Control set များ: မူလအားဖြင့် Windows နောက်ဆုံးအသုံးပြုခဲ့သော control set ကို ဖတ်သည်။
--all-control-setsသည် အားလုံးကို ဖတ်သည်။
Juntei ဖြင့် ခွဲခြမ်းစိတ်ဖြာခြင်း¶
Usage: juntei parse-registry security-settings <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find SOFTWARE, SYSTEM and NTUSER.DAT hives
-f, --file <FILE> Parse one hive
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Filtering:
--all-control-sets Every control set, not only the one in use
--weakened-only Only settings that weaken the default
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry security-settings -d evidence/ -o settings.csv
juntei parse-registry security-settings --weakened-only -d evidence/ -t jsonl \
| jq -r '[.Host, .Area, .KeyPath, .ValueName, .Value, .Meaning] | @tsv'
အနှစ်ချုပ်သည် ဆက်တင်များကို area အလိုက် ရေတွက်သည်။ ၎င်းသည် မူလသတ်မှတ်ချက်ကို အားနည်းစေသော ဆက်တင်များနှင့် Defender exclusion တိုင်းကို စာရင်းပြသည်။
ထုတ်ယူမှု field များ¶
| Field | အဓိပ္ပာယ်ဖော်ပုံ |
|---|---|
Host, SourcePath, HiveType |
Host၊ hive နှင့် ၎င်း၏ အမျိုးအစား (SOFTWARE, SYSTEM, NTUSER.DAT)။ |
ControlSet, IsCurrentControlSet |
SYSTEM အတွက်- control set နှင့် ၎င်းသည် Windows နောက်ဆုံးအသုံးပြုခဲ့သော control set ဖြစ်/မဖြစ်။ Select\Current ပျောက်နေလျှင် သို့မဟုတ် မမှန်ကန်လျှင် မသိရှိပါ။ |
User, UserSID |
NTUSER.DAT အတွက်- profile ဖိုင်တွဲ၏ အမည်နှင့် စနစ်၏ ProfileList မှ အသုံးပြုသူ၏ SID။ |
Area |
defender, uac, credentials, remote_access, network, powershell, evidence။ |
Setting |
၎င်းသည် ဘာဖြစ်သနည်း- defender_disable_realtime_monitoring, defender_exclusion_path, uac_local_account_token_filter_policy, wdigest_use_logon_credential, rdp_deny_connections, powershell_script_block_logging, event_channel_enabled, … |
Value |
Value- ဒဿမ နံပါတ်၊ string သို့မဟုတ် exclusion ကိုယ်တိုင်။ Value သည် ဆက်တင်၏ အမျိုးအစား မဟုတ်ပါက ဗလာ။ |
Meaning |
Value ၏ အဓိပ္ပာယ်။ |
WeakensDefault |
Value က ၎င်းမရှိဘဲ လက်ရှိ Windows လုပ်ဆောင်သည့်အရာကို အားနည်းစေပါက True၊ အားမနည်းစေပါက False၊ မသက်ဆိုင်ပါက (အရွယ်အစား၊ port၊ AMSI provider) သို့မဟုတ် ဆုံးဖြတ်၍ မရပါက ဗလာ။ |
Policy |
Key သည် Policies key အောက်တွင် ရှိ/မရှိ။ |
KeyPath, ValueName |
Key နှင့် value။ Exclusion ၏ value အမည်သည် ချန်လှပ်ထားသော item ဖြစ်သည်။ AMSI provider တွင် value အမည် မရှိပါ။ |
KeyLastWrittenUTC |
Key ၏ နောက်ဆုံး ရေးသားချိန်။ |
DataRaw |
Value ၏ byte များ (hex)၊ ၎င်းတို့သည် ဆက်တင်၏ အမျိုးအစား မဟုတ်သည့်အခါ။ |
TransactionLogStatus, LogsApplied |
Registry recovery အခြေအနေ။ |
Problems |
အမျိုးအစား မှားယွင်းသော value များနှင့် ဖတ်၍မရသော key များ။ |
စုံစမ်းစစ်ဆေးမှု ဗျူဟာ¶
- Host တိုင်းတွင်
--weakened-onlyဖြင့် run ပြီး host များကို အချင်းချင်း နှိုင်းယှဉ်ပါ- host တစ်ခုတည်းတွင်သာ ရှိသော ဆက်တင်သည် ထင်ရှားစွာ ပေါ်လွင်သည်။ - Defender exclusion တစ်ခုစီကို host ပေါ်တွင် တွေ့ရှိရသော tool များနှင့် Defender ၏ log များ (Event 5007 က ပြင်ဆင်သတ်မှတ်ချက် ပြောင်းလဲမှုများကို မှတ်တမ်းတင်သည်) နှင့် တိုက်ဆိုင်စစ်ဆေးပါ။
- Key အချိန်များကို logon များ၊ ဝန်ဆောင်မှု ထည့်သွင်းမှုများနှင့် process ဖန်တီးမှုတို့နှင့် ချိတ်ဆက်စစ်ဆေးပါ။
reg.exe၊Set-MpPreference၊netsh advfirewallနှင့်powershellcommand line များကို ရှာပါ (event 4688၊ Sysmon 1 နှင့် 13၊ PowerShell 4104)။ - Credential ဆက်တင်များ (
WDigest,RunAsPPL,LocalAccountTokenFilterPolicy,DisableRestrictedAdmin) အတွက် နောက်ပိုင်းတွင် ဖြစ်ပွားသော credential dumping နှင့် pass-the-hash ကို ရှာပါ။ - မူလသတ်မှတ်ချက်ကို ပြန်လည်ထားရှိရန် ဖျက်ခဲ့သော value များအတွက်
parse-registry read --recover-deletedကို လည်းကောင်း၊ ပိုဟောင်းသော control set များအတွက်--all-control-setsကို လည်းကောင်း အသုံးပြုပါ။