DLL-инъекция, Kali Linux, Kali Linux для продвинутого тестирования на проникновение

#103 Kali Linux для продвинутого тестирования на проникновение. Эскалация от администратора к системе. DLL-инъекция.

Здравствуйте, дорогие друзья.

Права администратора позволяют злоумышленнику создавать учетные записи и управлять ими, а также получать доступ к большинству данных, доступных в системе. Однако некоторые сложные функции требуют, чтобы запрашивающая сторона имела привилегии доступа на уровне системы. Есть несколько способов продолжить эту эскалацию на системный уровень. Самый простой способ — запустить PsExec, чтобы получить доступ на уровне системы, загрузив PsExec в нужную папку, и выполнив следующую команду от имени локального администратора:

PsExec -s -i -d cmd.exe

Эта команда должна открыть другую командную строку от имени пользователя системы, как показано на рисунке:

Escalating from local administrator to SYSTEM using Psexec

DLL-инъекция

Внедрение DLL (библиотеки динамической компоновки) — еще один простой метод, который используется злоумышленниками для запуска удаленного кода в контексте адресного пространства другого процесса. Этот процесс должен быть запущен с избыточными привилегиями, которые затем можно использовать для повышения привилегий в виде файла DLL.
В Metasploit есть специальный модуль, который можно использовать для внедрения DLL. Единственное, что нужно сделать злоумышленнику — это связать существующую сессию Meterpreter и указать PID процесса и путь к DLL. Мы рассмотрим другой способ и воспользуемся модулем внедрения DLL PowerShell из инструмента Empire. Вы можете создать DLL с полезной нагрузкой через msfvenom:

После создания бэкдор-файла DLL, мы можем использовать существующий сеанс Meterpreter для запуска PowerShell. Злоумышленники могут создать полезную нагрузку PowerShell, выполнив в терминале следующие команды:

Это должно предоставить нам полезную нагрузку PowerShell, которую мы сможем выполнить на цели. В этом случае мы будем использовать Windows 10 в качестве примера и запустим сценарий PowerShell непосредственно из оболочки Meterpreter, как показано на рисунке ниже:

Executing Empire agent payload from Meterpreter

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

Successful agent reporting to the Empire client console

Теперь тестировщики могут загрузить созданный нами DLL-файл в целевую систему; он будет загружен в папку, из которой был выполнен сценарий PowerShell:

Uploading the malicious DLL to the target

Выполнение команды ps в терминале PowerShell Empire должно предоставить нам список текущих процессов, запущенных на целевой системе. Выберите правильный процесс, который работает как NT AUTHORITY/SYSTEM, и выполните следующие команды в терминале PowerShell Empire:

Если тестировщики не видят владельца системного процесса при запуске команды ps, запустите полезную нагрузку Empire PowerShell от имени локального администратора. Большинство антивирусов/антивредоносных программ/EDR легко обнаруживают этот метод; однако рекомендуется, чтобы полезные данные DLL кодировались в несколько итераций.

Как только файл DLL будет внедрен в запущенный процесс, злоумышленники смогут увидеть агента, который отчитывается как привилегированный пользователь, как показано на рисунке ниже:

Successful upload of the malicious DLL to the target

После успешного вызова DLL полезная нагрузка должна быть выполнена и открыта обратная оболочка от имени пользователя системного уровня, как показано на рисунке ниже:

Reverse shell on Meterpreter through successful DLL injection using PowerShell Empire

Мы успешно выполнили внедрение DLL и получили системную учетную запись с высокими привилегиями. В следующем разделе мы рассмотрим другой подход к сбору учетных данных и повышению привилегий.

На этом все. Всем хорошего дня!

Полный цикл статей по Kali Linux для продвинутого тестирования на проникновение.