LOLScripts (Living Off the Land Scripts)

LOLScripts (Living Off the Land Scripts) - это легитимные скрипты (как правило, написанные на таких языках, как PowerShell, VBScript, JavaScript или в формате HTA), которые либо входят в состав стандартной установки операционной системы, либо могут быть загружены из доверенного источника (например, с официального сайта Microsoft) и обладают дополнительной, часто недокументированной функциональностью, позволяющей злоумышленникам использовать их не по прямому назначению для проведения скрытных атак на различных этапах вторжения. Подобно LOLBins, эти скрипты имеют действительную цифровую подпись или являются нативными компонентами Windows, но в отличие от скомпилированных исполняемых файлов, они представляют собой интерпретируемый код, что даёт атакующим дополнительную гибкость в обфускации вредоносной нагрузки, её динамической модификации и выполнении полностью в оперативной памяти без сохранения на диск. Примерами таких скриптов являются PowerShell-скрипты, запускаемые через powershell.exe или cscript.exe, а также HTA-файлы, выполняемые через mshta.exe.

Термин LOLScripts является неотъемлемой частью более широкой концепции LOLBAS (Living Off the Land Binaries And Scripts). Сама идея «жизни за счёт земли» (Living Off the Land) была впервые сформулирована Кристофером Кэмпбеллом и Мэттом Грейбером на конференции DerbyCon, а аббревиатура LOLBins родилась в ходе обсуждения в Твиттере в 2018 году, когда Филип Го предложил ёмкое название для системных двоичных файлов, способных выполнять действия, выходящие за рамки их первоначального предназначения. Вскоре после этого исследователь под псевдонимом bohops ввёл в оборот и термин LOLScripts, который логически расширил классификацию на скриптовые языки, присутствующие в легитимных средах и также подверженные злоупотреблениям. Это разделение оказалось принципиально важным, поскольку механизмы использования и сокрытия для интерпретируемых скриптов принципиально отличаются от таковых для скомпилированных двоичных файлов, что потребовало создания отдельных перечней в рамках проекта LOLBAS.

Ключевые характеристики, позволяющие отнести тот или иной скрипт к категории LOLScripts, были сформулированы сообществом и зафиксированы в официальном проекте LOLBAS. Во-первых, скрипт должен быть подписан Microsoft или иным доверенным производителем, либо являться нативным компонентом операционной системы, либо распространяться через официальные каналы как часть легитимного программного обеспечения или открытого проекта. Во-вторых, скрипт должен обладать «неожиданной» функциональностью, которая может быть использована злоумышленником: выполнение произвольного кода, загрузка и выгрузка файлов, обход контроля учётных записей (UAC), компиляция кода, кража учётных данных, дамп памяти процессов, скрытое наблюдение (кейлоггинг, перехват сетевого трафика), удаление или модификация журналов событий, а также обеспечение персистентности через скрытие данных в альтернативных потоках (ADS) или автозапуск при входе в систему. Важно отметить, что интерес для документирования представляют именно недокументированные, нецелевые сценарии использования; документирование предусмотренных разработчиками функций не является задачей проекта.

Примеры LOLScripts многочисленны и охватывают различные штатные средства автоматизации и администрирования Windows. Среди наиболее часто используемых — скрипты PowerShell, которые могут быть запущены как напрямую через powershell.exe, так и с использованием таких инструментов, как cscript.exe или wmic.exe, что позволяет загружать вредоносный код из удалённых источников, выполнять его в памяти и устанавливать скрытые каналы связи с командными центрами. HTA-файлы (HTML Applications), выполняемые через mshta.exe, позволяют атакующим запускать произвольный код с привилегиями текущего пользователя, обходя многие средства контроля приложений. VBScript- и JScript-файлы, запускаемые через wscript.exe или cscript.exe, также могут использоваться для загрузки и выполнения вредоносной нагрузки. Особым случаем являются скрипты, встроенные в легитимные установщики или пакеты развёртывания, которые могут быть извлечены и запущены вручную с передачей им специально сформированных параметров для активации скрытой функциональности.

Опасность LOLScripts кроется в их природной способности маскироваться под рутинную административную деятельность и обходить традиционные механизмы защиты. Поскольку скриптовые движки являются легитимными компонентами операционной системы, их запуск не вызывает немедленных подозрений у антивирусных средств, полагающихся на сигнатурный анализ. Более того, интерпретируемая природа скриптов позволяет злоумышленникам применять сложные техники обфускации, динамически модифицировать код во время выполнения и полностью избегать сохранения вредоносных артефактов на диске, реализуя так называемые «бесфайловые» атаки. Всё это делает обнаружение LOLScripts исключительно сложной задачей, требующей от защитников глубокого понимания нормального поведения скриптовых сред в их конкретной инфраструктуре и внедрения продвинутых систем поведенческого анализа, способных выявлять аномальные последовательности вызовов, нестандартные параметры командной строки и подозрительные сетевые соединения, инициируемые скриптовыми движками.

Для эффективного противодействия угрозам, связанным с LOLScripts, современные решения класса EDR и XDR анализируют контекст выполнения скриптов, включая родительские процессы, переданные аргументы, цепочки событий и сетевую активность, что позволяет отличать легитимные административные задачи от злонамеренных действий. Проект LOLBAS продолжает документировать все известные скрипты, библиотеки и двоичные файлы, которые могут быть использованы в атаках, предоставляя защитникам актуальную информацию для разработки детектирующих правил и стратегий защиты. В этом контексте LOLScripts являются не просто подмножеством LOLBAS, а представляют собой самостоятельный и постоянно эволюционирующий класс инструментов, требующий отдельного внимания и глубокого анализа со стороны специалистов по кибербезопасности.