LOLLibs (Living Off the Land Libraries) представляют собой легитимные, как правило, подписанные Microsoft или другим доверенным производителем библиотеки динамической компоновки (DLL-файлы), которые изначально входят в состав операционной системы Windows или распространяются через официальные каналы. Сами по себе они не содержат вредоносного кода, однако обладают дополнительной, часто недокументированной функциональностью, позволяющей злоумышленникам использовать их не по прямому назначению.
В отличие от своих «собратьев» - LOLBins (исполняемых файлов) и LOLScripts (скриптов) - LOLLibs выступают в роли пассивного «строительного материала», который можно загрузить в адресное пространство доверенного, часто системного, процесса. Эта особенность делает их идеальным инструментом для скрытного проведения атак, позволяя вредоносному коду маскироваться под легитимную деятельность, уклоняться от антивирусных проверок, повышать привилегии и оставаться незамеченным в скомпрометированной системе. Наряду с LOLBins и LOLScripts, данный класс инструментов является частью более широкой экосистемы LOLBAS (Living Off the Land Binaries, Scripts and Libraries) - открытого проекта, который каталогизирует всевозможные легитимные файлы, пригодные для злоупотребления в атаках типа «Living Off the Land».
Концепция LOLLibs, как и всего семейства LOLBAS, родилась из осознания того факта, что даже доверенные компоненты операционной системы могут быть обращены против неё самой. Поскольку DLL-файлы содержат фрагменты кода и функции, которые могут динамически загружаться и исполняться практически любым процессом, злоумышленники научились изощрённо манипулировать этим механизмом. Существует несколько классических сценариев злоупотребления библиотеками. Наиболее известный из них - это DLL Side-Loading (боковая загрузка DLL). Атака основана на том, что многие легитимные приложения имеют уязвимый порядок поиска библиотек. Злоумышленник может разместить вредоносную DLL с тем же именем, что и у легитимной, в той же директории, откуда запускается программа, и приложение, доверяя цифровой подписи системы, загрузит её вместо оригинальной.
Другой, более прямой метод - использование легитимной утилиты rundll32.exe, которая специально предназначена для загрузки и выполнения функций из указанной библиотеки. Команда rundll32.exe C:\Windows\Temp\malicious.dll,EntryPoint позволяет выполнить произвольный код, не запуская собственный исполняемый файл, что делает атаку практически невидимой для базовых средств контроля.
Ключевым критерием для включения той или иной библиотеки в список LOLLibs является её соответствие определённым принципам. Согласно документации проекта LOLBAS, такой файл должен быть подписан Microsoft или иным доверенным производителем, либо являться нативным для операционной системы, либо распространяться через официальный канал от авторитетного вендора или открытого проекта. При этом библиотека должна обладать «неожиданной» функциональностью, которая выходит за рамки её первоначального предназначения и может быть полезна атакующему: например, способность выполнять произвольный код, загружать или выгружать файлы, обходить контроль учётных записей (UAC), компилировать код, добывать учётные данные, дампать память процессов, организовывать скрытое наблюдение (кейлоггинг, перехват сетевого трафика), а также удалять или модифицировать журналы событий.
Как и все инструменты из арсенала «Living Off the Land», LOLLibs представляют серьёзную угрозу для классических средств защиты. Поскольку библиотеки снабжены действительными цифровыми подписями и воспринимаются системой как безопасные, антивирусное программное обеспечение, полагающееся на сигнатурный анализ, не расценивает их загрузку как подозрительное действие. Более того, многие из этих библиотек являются неотъемлемой частью повседневных процессов и служб, что делает практически невозможным простое блокирование их использования без нарушения работы системы.
Эффективное противодействие злоупотреблениям требует перехода от статического анализа файлов к глубокому мониторингу поведения процессов и контекста выполнения. Системы класса EDR и XDR анализируют аномальные цепочки загрузки библиотек, нестандартные родительские процессы, подозрительные аргументы командной строки и сетевые соединения, инициируемые после загрузки той или иной DLL. Например, если процесс Microsoft Word неожиданно загружает библиотеку, характерную для сетевых взаимодействий, это должно стать немедленным сигналом тревоги.
Проект LOLBAS играет центральную роль в каталогизации и систематизации знаний о подобных угрозах. По мере развития сообщества список LOLLibs непрерывно пополняется новыми примерами, а каждая запись сопровождается детальным описанием техники злоупотребления, командами для воспроизведения и ссылками на соответствующие техники матрицы MITRE ATT&CK. Так, LOLLibs являются ярким примером того, как фундаментальные механизмы операционной системы, созданные для удобства разработки и совместимости, могут быть обращены против неё самой, что требует постоянного совершенствования методов защиты и бдительности со стороны специалистов по кибербезопасности.