Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Elevator — Обход UAC путём злоупотребления RPC и объектами отладки. | Kitploit
Инструменты/GitHubGitHub/kudaes/elevator
Повышение привилегийЭксплуатацияПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubkudaes/elevator

Elevator

Обход UAC путём злоупотребления RPC и объектами отладки.

Репозиторий
6316912 лет назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Описание

Elevator позволяет обойти UAC и запустить процесс с полными правами администратора. Это достигается за счет злоупотребления поведением RPC-сервера, который реализует функцию UAC, как продемонстрировал Джеймс Форшоу в своей статье Calling Local Windows RPC Servers from .NET. Инструменту не требуется сбрасывать дополнительную DLL или писать в реестр Windows (как это часто бывает с другими методами обхода UAC), и он был успешно протестирован на Windows Server 2016, Windows Server 2019, Windows 10 и Windows 11 (вероятно, он работает и на других версиях Windows). Исправлено в какой-то момент примерно в сборке 19045.3570).

Инструмент состоит из C++-заглушки, которая соединяет сам инструмент с RPC-сервером, предоставляемым службой APPINFO, и Rust-проекта, содержащего основную логику, позволяющую злоупотребить этой ошибкой и обойти UAC. C++-заглушка была получена путем компиляции IDL-файла, который RPC View создал из RPC-интерфейса с ID 201ef99a-7fa0-444c-9399-19ba84f12a1a.

C++ RPC-заглушка скомпилирована в DLL, и её бинарное содержимое зашифровано и вшито в Rust-крейт (см. функцию get_rpc_stub() в крейте rpcclient). Затем DLL вручную отображается в памяти во время выполнения с помощью DInvoke_rs. Если вы хотите пройти этот процесс самостоятельно (для использования инструмента это не требуется), просто откройте проект RPC_Stub в Visual Studio 2019+ и скомпилируйте DLL. После этого используйте скрипт script.py (Python 2.7) из репозитория, чтобы получить шестнадцатеричную строку из бинарного содержимого DLL, которую следует поместить в функцию rppclient::get_rpc_stub().

Действительно только для систем x64.

Компиляция

Поскольку для обфускации строковых литералов используется плагин LITCRYPT, перед компиляцией кода необходимо задать переменную окружения LITCRYPT_ENCRYPT_KEY:

root@kitploit:~
C:\Users\User\Desktop\Elevator> set LITCRYPT_ENCRYPT_KEY="yoursupersecretkey"

После этого перейдите в папку Elevator и просто скомпилируйте код:

root@kitploit:~
C:\Users\User\Desktop\Elevator\Elevator> cargo build --release
C:\Users\User\Desktop\Elevator\Elevator\target\release> elevator.exe -h

Использование

root@kitploit:~
USAGE:
elevator.exe <COMMAND> [OPTIONS]

ARGS:
    <COMMAND>                   Command line to run.

OPTIONS:
    -h, --help                  Print help information.
    -n, --new-console           Set CREATE_NEW_CONSOLE flag for the new process.

Примеры

root@kitploit:~
C:\Temp> elevator.exe c:\windows\system32\cmd.exe --new-console
C:\Temp> elevator.exe "c:\windows\system32\cmd.exe /C whoami /groups > file.txt" --new-console

Благодарности

  • James Forshaw.
  • Clément Labro (itm4n) за его отличные статьи о RPC.
Скачать инструмент