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

Статья Повышение локальных привилегий.

petrpetrov

floppy-диск
Пользователь
Регистрация
27.01.2020
Сообщения
5
Реакции
39
Всем привет! Хочу поделиться с вами на мой взгляд интересным исследованием. Данная статья будет полезна для специалистов по информационной безопасности разных направлений.
Итак, давайте, по порядку. Концепция повышение привилегий, которая будет рассматриваться здесь неновая и базируется на правах доступа пользователей к файлам и каталогам, т.е. разрешения на запись, удаления и пр. Интересен будет сам метод, с помощью которого мы будем повышаться.
Конечно же для того, чтобы наша эскалация от простого пользователя до системы получилась необходимы определенные условия:
  • Установленное программное обеспечение «Java»;
  • Права на полный доступ пользователям компьютерной системы к каталогу с установленной программой.
Что касается первого пункта, то из него нам интересен раздел в системном реестре с параметрами, который создает «Java» при инсталляции, но об этом позже.
По второму пункту, все не так однозначно, но все же иногда администраторы создают пользователю каталог с установленной программой прямо в корне диска «C:\» (например «Python», «CygWin» и т.п.), ну и туда же относится «Java», для того чтобы пользователь мог сам обновлять компоненты программы и т.п. В еще более редких случаях, администраторы дают разрешения пользователю на директорию установки по умолчанию («C:\Program Files\Java\jre< версия >»).
Не для кого не является секретом, что права доступа (чтение, запись, удаления) на каталог, созданный в корневой директории диска, имеют все пользователи компьютерной системы, хотя в свойствах файлов, содержащихся в каталогах эта информация отображается по-иному.

1.png


Но если мы посмотрим сторонними утилитами (например «AccessEnum» или «accesschk» входящими в состав «SysinternalsSuite»), то мы увидим реальную картину.

2.png


Иногда, для поиска директорий, имеющих права на запись для пользователей, довольно-таки полезно использовать данные утилиты, так как некоторое программное обеспечение предоставляет полный доступ к своим файлам для всех пользователей операционной системы.
Теперь, когда мы разобрались с условиями, будем переходить к сути.
И так самым важным элементом для реализации повышения является запись в ветку реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs\» - центр специальных возможностей. «Java» создает в этой ветке раздел с именем «Oracle_JavaAccessBridge» с параметрами, представленными на рисунке ниже, тем самым регистрируя свои компоненты в центре специальных возможностей.

3.png


Обратите внимание на два параметра: «Profile» и «StartExe». Запись значения «<HCIModel><Accommodation type="mild vision"/><Accommodation type="severe vision"/><Accommodation type="mild cognitive"/><Accommodation type="severe cognitive"/></HCIModel>» в параметре «Profile» добавляет во вкладку «Панель управления\Специальные возможности\Центр специальных возможностей\Использование компьютера без дисплея» управляемый «check box», при активации которого будет выполнен запуск исполняемого файла, путь к которому прописан в параметре «StartExe».

4.png



Так как файл «jabswitch.exe» находится в незащищенной директории мы можем его заменить на наш (например «cmd.exe»), переименовав его на «jabswitch». Давайте посмотрим, что происходит при активации «Enable Java Access Bridge».
В «Windows 7» запустим «procmon», поставим галочку в «check box» и нажмем «применить». Также включение и отключение «Java Access Bridge» можно осуществлять через реестр «HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility», добавив или удалив параметры «Configuration» и значения «oracle_javaaccessbridge».
Теперь посмотри список процессов.

5.png


На данный момент процесс «jabswitch.exe» был исполнен от имени пользователя. Что же нам нужно сделать, что бы он запустился от системы? Необходимо отключить java bridge для того, чтобы наше исследование не закончилось раньше времени. Для начала, давайте отталкиваться, от специальных возможностей, как вы знаете, они доступны и могу работать для всех пользователей, в том числе и «Система». Например, когда вы еще не зашли в учетную запись, а «экранной клавиатурой» вы можете пользоваться.

6.png


Вспомните атаку с подменой файл «osk.exe» или «sethc.exe» на «cmd.exe» в каталоге «…\system32», или создание одноименных разделов для этих файлов в реестр «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options» и параметром «debugger» «c:\windows\system32\cmd.exe». В последствии все эти процессы работают от «Системы». Любопытно то, что наши «специальные возможности» будут работать от «Системы» не только перед входом в учетную запись, но и когда у нас появляется окно «UAC». Попробуйте запустить приложение «narrator.exe» - «экранный диктор». Теперь откройте любое приложения от имени «Администратора», когда появится окно «UAC» сдвиньте его мышью в сторону, вы увидите, что приложение «экранный диктор» также активно в контексте «Системы». Тоже самое с «экранной клавиатурой» и «экранной лупой».

7.png


Итак, мы почти у цели! Давайте снова посмотрим, что у нас происходит на уровне процессов. Запустите «procmon», включите «экранную клавиатуру» или «экранный диктор» и запустите любое приложение от «Администратора» (вызовете окно «UAC»), также вы можете просто заблокировать экран «Win+l» или «ctrl+alt+del». Теперь вернемся обратно в пользовательское пространство и посмотрим какие процессы исполнялись.

9.png


На иллюстрации видно, как системный процесс «atbroker.exe» (менеджер перехода между пространствами пользователей) также запускает «экранный диктор». Если совсем сухо и без дополнительных деталей, то при запуске одного из приложений «специальных возможностей» процесс «winlogon.exe» в ветке реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\» создает раздел «Session1» или «Session2» (зависит от учетной записи пользователя ) и записывает в него параметр «Configuration» с названием раздела из «ATs», а при переходе из одного пространства в другое «atbroker.exe» считывает из раздела «Session<№>» значения и запускает приложение.
Давайте теперь активируем java bridge и повторим процедуру.

10.png


Посмотрите на раздел «Session<№>».

11.png


Ну вот, теперь остается заменить файл «jabswitch.exe» на наш.

12.png


Что же касается операционной системы «Windows 10», то здесь все еще проще. Вам будет достаточно включить java bridge и вызвать окно «UAC».

13.png



Давайте вернемся к разделу реестра «специальных возможностей», это тоже будет интересно. Если у вас есть права «Администратора» или вы имеете права вносить изменения в системный реестр, то с помощью ветки «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs\» можно реализовать автозагрузку своей любимой программы. Все что нужно, это создать свой раздел и записать в него параметр «StartEXE» = «путь к вашему файлу», а в ветке реестра «HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion» создать раздел «Accessibility» и параметр «Configuration» и указать имя раздела из реестра «специальных возможностей».

14.png


15.png


И тогда после входа в учетную запись наша программа исполнится, а как только пользователь вызовет окно «UAC» или заблокирует экран программа запустится с привилегиями «Системы».
Ну вот и все!
Конечно же это не «Zero Day», но все же надеюсь моя статья и исследование были интересными.
Помните, когда у вас на компьютерной системе права обычного пользователя и вы видите, что в корне диска (или в другом не защищенном месте) установлена «Java», смело повышайте свои привилегии!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Статья действительно очень хорошая! В тематике повышения привелегий много проблем. Конечно и ежу понятно, что мало шансов получить такую конфигурацию системы. Но это один из многих способов, который уйдет в копилочку. Именно эта тематика максимально восстребована.
 
Не плоха, правда про закреп на тачке жертвы читал уже тыц Посмотреть вложение 23935
Спасибо за ссылку, было любопытно, правда почему то он предлагает слишком много параметров (хотя сути не меняет).
 


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