Privilege Escalation with Autoruns
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Порада для баг-баунті: зареєструйтесь на Intigriti, преміум платформі для баг-баунті, створеній хакерами для хакерів! Приєднуйтесь до нас на https://go.intigriti.com/hacktricks сьогодні та почніть заробляти винагороди до $100,000!
WMIC
Wmic можна використовувати для запуску програм при завантаженні. Дивіться, які бінарні файли заплановані для запуску при завантаженні за допомогою:
Заплановані завдання
Завдання можуть бути заплановані для виконання з певною частотою. Перегляньте, які бінарні файли заплановані для виконання за допомогою:
Папки
Усі бінарні файли, розташовані в папках автозапуску, будуть виконані під час запуску. Загальні папки автозапуску наведені далі, але папка автозапуску вказується в реєстрі. Прочитайте це, щоб дізнатися де.
Реєстр
Примітка звідси: Запис реєстру Wow6432Node вказує на те, що ви використовуєте 64-бітну версію Windows. Операційна система використовує цей ключ для відображення окремого вигляду HKEY_LOCAL_MACHINE\SOFTWARE для 32-бітних додатків, які працюють на 64-бітних версіях Windows.
Запуски
Загальновідомі записи реєстру AutoRun:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
Ключі реєстру, відомі як Run і RunOnce, призначені для автоматичного виконання програм щоразу, коли користувач входить у систему. Командний рядок, призначений як значення даних ключа, обмежений 260 символами або менше.
Запуски служб (можуть контролювати автоматичний запуск служб під час завантаження):
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
RunOnceEx:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx
У Windows Vista та пізніших версіях ключі реєстру Run і RunOnce не генеруються автоматично. Записи в цих ключах можуть або безпосередньо запускати програми, або вказувати їх як залежності. Наприклад, щоб завантажити файл DLL під час входу в систему, можна використовувати ключ реєстру RunOnceEx разом з ключем "Depend". Це демонструється шляхом додавання запису реєстру для виконання "C:\temp\evil.dll" під час завантаження системи:
Exploit 1: Якщо ви можете записувати в будь-який з вказаних реєстрів всередині HKLM, ви можете підвищити привілеї, коли інший користувач входить в систему.
Exploit 2: Якщо ви можете перезаписати будь-який з бінарних файлів, вказаних у будь-якому з реєстрів всередині HKLM, ви можете модифікувати цей бінарний файл з бекдором, коли інший користувач входить в систему, і підвищити привілеї.
Startup Path
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Ярлики, розміщені в папці Startup, автоматично запускають служби або програми під час входу користувача в систему або перезавантаження системи. Місцезнаходження папки Startup визначається в реєстрі для обох областей Local Machine та Current User. Це означає, що будь-який ярлик, доданий до цих вказаних місць Startup, забезпечить запуск пов'язаної служби або програми після процесу входу або перезавантаження, що робить це простим методом для планування автоматичного запуску програм.
Якщо ви зможете перезаписати будь-яку [User] Shell Folder під HKLM, ви зможете вказати її на папку, контрольовану вами, і розмістити бекдор, який буде виконуватись щоразу, коли користувач входить у систему, підвищуючи привілеї.
Winlogon Keys
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Зазвичай, ключ Userinit встановлений на userinit.exe. Однак, якщо цей ключ змінено, вказаний виконуваний файл також буде запущений Winlogon під час входу користувача. Аналогічно, ключ Shell призначений для вказівки на explorer.exe, який є стандартною оболонкою для Windows.
Якщо ви зможете перезаписати значення реєстру або двійковий файл, ви зможете підвищити привілеї.
Налаштування політики
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Перевірте ключ Run.
AlternateShell
Зміна командного рядка безпечного режиму
У реєстрі Windows за адресою HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
є значення AlternateShell
, яке за замовчуванням встановлено на cmd.exe
. Це означає, що коли ви вибираєте "Безпечний режим з командним рядком" під час завантаження (натискаючи F8), використовується cmd.exe
. Але можливо налаштувати ваш комп'ютер на автоматичний запуск у цьому режимі без необхідності натискати F8 і вручну вибирати його.
Кроки для створення параметра завантаження для автоматичного запуску в "Безпечному режимі з командним рядком":
Змініть атрибути файлу
boot.ini
, щоб видалити прапори тільки для читання, системний і прихований:attrib c:\boot.ini -r -s -h
Відкрийте
boot.ini
для редагування.Вставте рядок, наприклад:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)
Збережіть зміни у
boot.ini
.Знову застосуйте оригінальні атрибути файлу:
attrib c:\boot.ini +r +s +h
Exploit 1: Зміна ключа реєстру AlternateShell дозволяє налаштувати власну командну оболонку, що потенційно може призвести до несанкціонованого доступу.
Exploit 2 (Права на запис у PATH): Наявність прав на запис у будь-яку частину системної змінної PATH, особливо перед
C:\Windows\system32
, дозволяє виконувати власнийcmd.exe
, що може бути бекдором, якщо система запущена в безпечному режимі.Exploit 3 (Права на запис у PATH і boot.ini): Доступ до запису в
boot.ini
дозволяє автоматичний запуск у безпечному режимі, що полегшує несанкціонований доступ при наступному перезавантаженні.
Щоб перевірити поточне налаштування AlternateShell, використовуйте ці команди:
Встановлений компонент
Active Setup — це функція в Windows, яка ініціюється до повного завантаження робочого середовища. Вона пріоритетно виконує певні команди, які повинні завершитися перед продовженням входу користувача. Цей процес відбувається навіть до того, як будуть активовані інші записи автозавантаження, такі як ті, що в розділах реєстру Run або RunOnce.
Active Setup керується через наступні ключі реєстру:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
У цих ключах існують різні підключі, кожен з яких відповідає конкретному компоненту. Ключові значення, які представляють особливий інтерес, включають:
IsInstalled:
0
вказує, що команда компонента не буде виконана.1
означає, що команда буде виконана один раз для кожного користувача, що є поведінкою за замовчуванням, якщо значенняIsInstalled
відсутнє.StubPath: Визначає команду, яка буде виконана Active Setup. Це може бути будь-яка дійсна командний рядок, наприклад, запуск
notepad
.
Інсайти безпеки:
Модифікація або запис у ключ, де
IsInstalled
встановлено на"1"
з конкретнимStubPath
, може призвести до несанкціонованого виконання команд, потенційно для підвищення привілеїв.Зміна бінарного файлу, на який посилається будь-яке значення
StubPath
, також може досягти підвищення привілеїв, за умови достатніх дозволів.
Щоб перевірити конфігурації StubPath
у компонентах Active Setup, можна використовувати ці команди:
Browser Helper Objects
Огляд об'єктів допомоги браузера (BHO)
Об'єкти допомоги браузера (BHO) — це модулі DLL, які додають додаткові функції до Internet Explorer від Microsoft. Вони завантажуються в Internet Explorer та Windows Explorer при кожному запуску. Однак їх виконання можна заблокувати, встановивши ключ NoExplorer на 1, що запобігає їх завантаженню з екземплярами Windows Explorer.
BHO сумісні з Windows 10 через Internet Explorer 11, але не підтримуються в Microsoft Edge, браузері за замовчуванням у новіших версіях Windows.
Щоб дослідити BHO, зареєстровані в системі, ви можете перевірити наступні ключі реєстру:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Кожен BHO представлений своїм CLSID у реєстрі, що слугує унікальним ідентифікатором. Докладну інформацію про кожен CLSID можна знайти за адресою HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
.
Для запиту BHO в реєстрі можна використовувати ці команди:
Розширення Internet Explorer
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
Зверніть увагу, що реєстр міститиме 1 новий запис реєстру для кожного dll, і він буде представлений CLSID. Ви можете знайти інформацію про CLSID у HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
Драйвери шрифтів
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers
Open Command
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command
HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command
Опції виконання файлів зображень
SysInternals
Зверніть увагу, що всі сайти, де ви можете знайти autoruns, вже були перевірені winpeas.exe. Однак для більш повного списку авто-виконуваних файлів ви можете використовувати autoruns від sysinternals:
More
Знайдіть більше Autoruns, таких як реєстрації, на https://www.microsoftpressstore.com/articles/article.aspx?p=2762082&seqNum=2
References
Bug bounty tip: зареєструйтесь на Intigriti, преміум платформі для bug bounty, створеній хакерами для хакерів! Приєднуйтесь до нас на https://go.intigriti.com/hacktricks сьогодні та почніть заробляти винагороди до $100,000!
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated