CannibalRAT — новый RAT-троян, написанный полностью на Python

CannibalRAT — новый RAT-троян, написанный полностью на Python

CannibalRAT — новый RAT-троян, написанный полностью на Python

RAT-вредонос CannibalRAT используется в таргетированных атаках, как выяснили эксперты, этот зловред заимствует куски кода у других проектов с открытым исходным кодом. Специалисты Talos отметили две версии, которые используются в целевых атаках, — 3.0 и 4.0.

«Сам RAT не представляет собой сложную вредоносную программу, однако заимствует строки других программ. Командный центр вредоноса использует DNS-технику fast flux для того, чтобы оставаться скрытым», — пишут исследователи.

Два образца были написаны на языке Python и упакованы в исполняемый файл с помощью популярного инструмента py2exe. Эксперты отмечают, что версия 4.0 немного урезана, так как отсутствуют некоторые вредоносные функции. Судя по всему, авторы CannibalRAT пытались добавить методы обфускации, чтобы избежать обнаружения.

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

«Байт-код основного вредоносного скрипта хранится в PE-файле (Portable Executable, переносимый исполняемый) в секции PYTHONSCRIPT, также присутствует библиотека PYTHON27.DLL. Все остальные модули сжимаются и сохраняются в исполняемом оверлее», — продолжают исследователи.

Первый вариант вредоноса был обнаружен 8 января, однако всплеск активности эксперты Cisco Talos отметили после выхода версии 4.0, которая была замечена 5 февраля 2018 года. Все варианты CannibalRAT используют обфускацию имен командных центров C&C, также они укореняются в системе, используя ключ реестра «CurrentVersion\Run», где создается служба «Java_Update».

После запуска CannibalRAT версии 4.0 создается файл PDF с встроенным HTML-кодом, который загружает изображение, размещенное на imgur.com, и запускает Chrome для открытия PDF-файла. Обе версии используют одни и те же серверы C&C, однако версия 3.0 использует стандартные веб-запросы, а более новая версия использует API на основе REST.

«Киберпреступники пытаются использовать технологию fast flux для сокрытия командных центров, имена серверов меняются с высокой частотой, а конечные точки, как правило, одинаковы, все они принадлежат провайдеру телекоммуникационных услуг в Бразилии, имеющему системный номер AS 7738», — объясняют специалисты.

Также эксперты отмечают, что CannibalRAT заимствует часть кода у Radium-Keylogger, исходный код которого публикован на Github, а функция обнаружения виртуальной машины была скопирована из другого репозитория Github.

CannibalRAT распространялся через ресурсы inesapconcurso.webredirect.org и filebin.net, второй является популярной платформой для обмена файлами, а вот первый домен был специально создан для вредоносной кампании.

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

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

 

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

 

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

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

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

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

RSS: Новости на портале Anti-Malware.ru