Оскільки значення HKCU можуть бути змінені користувачами, COM Hijacking може бути використано як постійний механізм. Використовуючи procmon, легко знайти шукані реєстраційні записи COM, які не існують, які зловмисник може створити для постійності. Фільтри:
RegOpenKey операції.
де Результат є NAME NOT FOUND.
і Шлях закінчується на InprocServer32.
Якщо ви вирішили, який неіснуючий COM наслідувати, виконайте наступні команди. Будьте обережні, якщо ви вирішите наслідувати COM, який завантажується кожні кілька секунд, оскільки це може бути надмірно.
Windows Tasks використовують Custom Triggers для виклику COM об'єктів, і оскільки вони виконуються через Task Scheduler, легше передбачити, коли вони будуть активовані.
# Show COM CLSIDs$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"Task Name: " $Task.TaskNameWrite-Host"Task Path: " $Task.TaskPathWrite-Host"CLSID: " $Task.Actions.ClassIdWrite-Host}}}}# Sample Output:# Task Name: Example# Task Path: \Microsoft\Windows\Example\# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}# [more like the previous one...]
Перевіряючи вихідні дані, ви можете вибрати один, який буде виконуватися кожного разу, коли користувач входить в систему, наприклад.
Тепер, шукаючи CLSID {1936ED8A-BD93-3213-E325-F38D112938EF} в HKEY_CLASSES_ROOT\CLSID і в HKLM та HKCU, ви зазвичай виявите, що значення не існує в HKCU.
# 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.
Тоді ви можете просто створити запис HKCU, і щоразу, коли користувач входить в систему, ваша бекдор буде активована.