Программы-вымогатели прошли долгий путь в киберпространстве, постоянно совершенствуя свои методы и тактики шифрования системных файлов. За годы своего существования программы-вымогатели импровизировали, переходя от PE к не-PE и отдельным полезным нагрузкам, используя различные компиляторы и сложные упаковщики. Для борьбы с такими вариациями критически важную роль играют поведенческие решения по обнаружению и борьбе с программами-вымогателями, поскольку деятельность программ-вымогателей направлена на то, чтобы никто не мог её избежать.
Авторы программ-вымогателей теперь начали внедрять свои вредоносные компоненты в подлинные системные процессы Windows, которые обычно занесены в белый список, шифруя файлы, обходя решения безопасности. Они всегда выслеживали уязвимые места и злоупотребляли ими, как только информация становилась общедоступной.
Недавно мы наблюдали аналогичный штамм программы-вымогателя (названный Thanos Ransomware), пытающийся обойти традиционные решения для защиты от программ-вымогателей, используя различные методы, включая внедрение процессов и новейшую тактику RIPlace.
В прошлом году исследователи из Nyotron представили доказательство концепции (POC) тактики RIPlace, которая потенциально может шифровать файлы, не будучи обнаруженной антивирусом или программой-вымогателем Endpoint Detection and Response (EDR) решения.
Технический анализ
Было обнаружено, что вирус-вымогатель Thanos использует несколько функций для обхода антивирусных продуктов.
Вектор заражения пока неясен, но существует скрипт PowerShell , содержащий ещё один закодированный в Base64 скрипт PowerShell, который включает в себя встроенный код C#. Первый скрипт выполняет встроенный скрипт PowerShell и создаёт процессы «блокнота» в скрытом режиме. Код C# во втором скрипте в основном взят из кода Urban Bishop из фреймворка Sharp-Suite, представленного на Github. PID созданных процессов блокнота передаётся в этот код C# в качестве аргумента. После этого скрипт распространяется по всем машинам, подключенным к сети.


Вызов функции содержит закодированный в Base64 шелл-код (показан на рис. 3), который затем внедряется в процесс блокнота . Шелл-код содержит закодированную полезную нагрузку .Net. Эта полезная нагрузка является вариантом программы-вымогателя Thanos, которая шифрует файлы на целевом компьютере.

В фреймворке Таноса есть несколько модулей. Вот некоторые из них:
1. AntiKill – Как показано на рис. 4, использует функцию IamInmortal() для обеспечения бессмертия процесса путем внесения изменений в дескриптор безопасности процесса.

2. Антианализ – используется для выявления наличия отладчика или виртуальной среды и, в случае обнаружения, для завершения анализа образца.

3. Анти-сниффер – предотвращает отслеживание процессов, обычно используемых для анализа.

4. AwakeMe – отвечает за реализацию функции Wake-on-LAN. (Подробное описание Wake-on-LAN можно найти в нашем предыдущем блоге )
5. Шифрование – содержит все функции, связанные с шифрованием, такие как шифрование AES-CBC, расшифровка, чтение данных из файлов, запись данных в файлы.
6. CryptographyHelper – реализовано шифрование RSA.
7. NetworkSpreading – Загружает приложение Power Admin, т.е. исполняемый файл (это позволяет запускать программу Windows на удаленном компьютере), и выполняет текущий пример на удаленных компьютерах.
8. MutexHelper – Он проверяет наличие указанного ниже мьютекса, чтобы определить, был ли пример уже выполнен в системе.
“Global\\3747bdbf-0ef0-42d8-9234-70d68801f407”
9. ProcessCritical – Проверяет, запущен ли процесс с правами администратора.
10. RIP – Реализация тактики RIPlace, которая будет рассмотрена позже.
11. Ярлык – Создает ярлык в папке автозагрузки с именем целевого файла, совпадающим с именем записки с требованием выкупа, хранящейся в папке % Temp %.
12. WakeOnLan – Реализует функцию Wake-on-LAN, получая IP-адреса всех машин, подключенных к текущей машине.
Включение таких различных модулей различается в разных образцах.
Принимаются максимальные меры предосторожности, поэтому пытаются скрыть следующие процессы:
Урочная
Урочная
ProcessHacker
процедура
Самокопия также размещается в папке автозагрузки — она также пытается остановить различные службы, связанные с разными антивирусами, работающими в системе через net.exe , используя команды, показанные на рис. 6.

Кроме того, программа удаляет теневую копию с помощью vssadmin.exe, а также удаляет все файлы резервных копий, находящиеся на разных дисках, включая корзину.
cmd.exe /c rd /s /q %SYSTEMDRIVE%\\$Recycle.bin
Шифрование
Файлы шифруются, и к имени файла добавляется расширение '.locked'. Шифрование выполняется только для файлов с указанными ниже расширениями:
bco, one, dat, txt, vib, vbm, vbk, jpeg, gif, lst, tbl, cdx, log, fpt, jpg, png, php, cs, cpp, rar, zip, html, htm, xlsx, xls, avi, mp4, ppt, doc, docx, sxi, sxw, odt, hwp, tar, bz2, mkv, eml, msg, ost, pst, edb, sql, accdb, mdb, dbf, odb, myd, php, java, cpp, pas, asm, key, pfx, pem, p12, csr, gpg, aes, vsd, odg, raw, nef, svg, psd, vmx, vmdk, vdi, lay6, sqlite3, sqlitedb, accdb, java, class, mpeg, djvu, tiff, backup, pdf, cert, docm, xlsm, dwg, bak, qbw, nd, tlg, lgb, pptx, mov, xdw, ods, wav, mp3, aiff, flac, m4a, csv, sql, ora, mdf, ldf, ndf, dtsx, rdl, dim, mrimg, qbb, rtf, 7z

Файлы шифруются алгоритмом AES-CBC, а ключ, используемый для шифрования, шифруется алгоритмом RSA и добавляется к записке с требованием выкупа (как показано на рис. 8). Если размер файла меньше 10 МБ, шифруется весь файл, в противном случае шифруются только данные файла размером до 10 МБ.

Но наиболее важная и оригинальная техника, используемая Таносом для обхода решений по борьбе с программами-вымогателями, — это тактика RIPlace , использующая функцию переименования файлов Microsoft Windows ! Она помогает программе-вымогателю скрываться от современных средств защиты от таких программ.
В этом методе вредоносная программа может вызвать DefineDosDevice — подлинную функцию, которая создает символическую ссылку и может присваивать произвольное имя (например, «Resolve» в данном случае) пути к целевому файлу. При вызове функции переименования драйвер фильтра не может правильно обработать путь назначения в функции обратного вызова при использовании распространенной процедуры FltGetDestinationFileNameInformation . Поэтому вместо возврата нового пути он возвращает ошибку, однако вызов функции переименования выполняется успешно.

Наряду с этим, Танос может попытаться перезаписать MBR, попытавшись отобразить следующее сообщение:

Заключение
Ранее семейства программ-вымогателей использовали различные методы обхода антивирусных программ, повышая сложность, скорость работы и блокируя инструменты анализа. Но теперь они стали более продвинутыми и представляют собой сложную задачу для технологий борьбы с программами-вымогателями. Использование практически всех возможных методов анализа и последующее сокрытие новых расширений зашифрованных файлов от антивирусных решений значительно усложняет задачу.
МНК:
7BDD4B25E222B74E8F0DB54FCFC3C9EB
AF0E33CF527B9C678A49D22801A4F5DC
A15352BADB11DD0E072B265984878A1C
BE60E389A0108B2871DFF12DFBB542AC
98880A1C245FBA3BAE21AC830ED9254E
E01E11DCA5E8B08FC8231B1CB6E2048C



