Приветствую, читатели. Сегодня поговорим об очень актуальной на данный момент проблеме — отравление поисковой выдачи и распространение вредоносов через Google Ads. Разберемся на конкретном примере, почему, когда вы ищете какую-то популярную утилиту, часто первым результатом в поисковике является не её официальный сайт, а подделка, содержащая вредоносы. 

SEO poisoning — это техника злоупотребления поисковой оптимизацией (SEO) с целью манипулирования поисковыми результатами и привлечения пользователей к вредоносным или мошенническим веб-сайтам.

Злоумышленники создают и оптимизируют веб-страницы таким образом, чтобы они получали высокие позиции в поисковых системах для определённых запросов.

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

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

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

На данный момент SEO Poisoning является одним из самых популярных вариантов распространения вредоносного ПО в интернете. Стоит только вспомнить случай с шифровальщиком Magnibar или инжектором DotRunPex, которые распространялись аналогичным образом. 

Ещё в июле 2022 года, компания, занимающаяся кибербезопасностью, MalwareBytes отметила, что злоумышленники начали активно покупать слоты рекламы Google для популярных ключевых слов и связанных с ними опечаток. Это сделало SEO Poisoning одним из самых популярных методов распространения вредоносного ПО в 2022 году. А отчет от лаборатории Blue Coat гласит, что 40% всех кибератак за 2023 год были совершены через отравление поисковой выдачи. 

Сегодня мы разберем этот вирусный мейнстрим на примере нового вредоноса — BatLoader.

BatLoader — историческая справка

Батлоадер — это современный дроппер, который активно продается на подпольных форумах и используется для доставки вторичных полезных нагрузок (в основном стиллеров): Vidar, Amadey и Ursnif. Но бывают и исключения в виде доставки шифровальщиков. 

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

Дро́пперы — семейство вредоносных программ, предназначенных для несанкционированной и скрытой от пользователя установки на компьютер жертвы других вредоносных программ, содержащихся в самом теле дроппера или загружаемых по сети. Говоря простым языком, после установки на ваше устройство TrueBot или другого дроппера единственная его задача — загрузить другие вирусные файлы. 

По данным компании eSentire, Батлоадер маскируется под широкий спектр законных приложений и сервисов, таких как Adobe, OpenAPI, Spotify, Tableau, Zoom, CCleaner, Putty, uTorrent, WinRAR, Java, TeamViewer, Python. Это делает вредонос потенциально опасным как для обычных пользователей, так и для разработчиков.

Также примечательно, что этот вредонос действует на основе сценариев внутри пакетов установки программного обеспечения Microsoft (MSI). 

Впервые этот вредонос был обнаружен в последнем квартале 2021 года и получил своё имя из-за использования .bat файлов во время стадии развёртывания на машине жертвы. 

В конце 2022 года вредонос активно использовался во время массового распространения стиллеров. Эта эпидемия получила название Water Minyades, подробнее можете почитать вот здесь.

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

Таким образом, в конце 2022 года вредонос использовал обход патча уязвимости CVE-2020-1599. 

CVE-2020-1599 — это идентификатор уязвимости, известной как «Cryptographic Vulnerability in Windows Remote Desktop Gateway (RD Gateway)» или «BlueGate». Эта уязвимость была обнаружена в Remote Desktop Gateway (RD Gateway), компоненте операционной системы Windows, и была исправлена в январе 2020 года.

Уязвимость CVE-2020-1599 позволяет злоумышленнику выполнить атаку на сервер Remote Desktop Gateway, используя специально созданные запросы. Это может привести к возможности обхода проверок подлинности и выполнению произвольного кода на сервере RD Gateway. Успешное использование уязвимости может позволить злоумышленнику получить полный контроль над сервером и возможность взаимодействия с удаленными системами, к которым пользователи обращаются через RD Gateway. Подробнее вот здесь.

Очень интересным образцом этого обхода был зараженный файл AppResolver.dll, который является внутренним компонентом операционной системы Windows. Но с небольшой поправкой в виде вшитого .vbs скрипта, который не нарушал целостности сигнатуры файла, поэтому никак не детектился ни антивирусами, ни самой системой. 

А Batloader загружал и запускал из произвольного источника сам .vbs-скрипт. 

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

Батлоадер — краткий статистический анализ

По классике, представлю список используемых утилит: 

  1. DIE — Detect It Easy: многофункциональный инструмент, имеющий просто огромный арсенал. Позволит нам опередить тип компилятора вредоноса, язык, библиотеки и таблицы импорта/экспорта с последующим дизассемблированием. 

  2. PE Bear — неплохой инструмент для просмотра и редактирования составляющих PE файла. 

  3. Tiny Tracer — утилита для динамического отслеживания исполнения бинарных элементов. Так называемый трейсер.

  4. IDA PRO — инструмент для реверс-инжиниринга. 

  5. Reko — декомпилятор, также знаком нам с прошлых статей.

  6. HollowHunter — утилита, распознает и сбрасывает множество потенциально вредоносных имплантов (замененные/имплантированные PE, шелл-коды, перехватчики, патчи в памяти).

Начинаем с обычного визуального осмотра образца, но сперва давайте выгрузим его на VirusTotal для того, чтобы узнать общие показатели обнаруживаемости. А выглядит всё достаточно печально: всего 27 из 70 антивирусов видят в этом файле угрозу.

Вредоносный файл имеет вес в 2.4 МБ, а во вкладке «Подробно» видим, что это является не очень удачной попыткой замаскироваться под бесплатный архиватор 7zip. Почему не очень удачной? Потому что отсутствует иконка, размер файла не совпадает с оригиналом, и есть куча непонятной информации. 

Воспользовавшись DIE, мы не получим никакой дополнительной информации. Пакеты установщика Windows по своей сути являются некими архивами, которые очень легко вскрыть, чтобы изучить содержимое с помощью архиватора 7zip. Иронично, не правда ли? 

Итак, наблюдаем наличие файлов различных расширений, но больше всего меня заинтересовал Binary.PowerShellScriptLauncher.dll. Почему именно он? А ведь вредонос сперва использует промежуточную стадию в виде .bat или .ps1 скрипта для загрузки основного тела, а это, как можно понять из его названия, то, что отвечает за его запуск.  

Внешне, кроме названия, ничем не примечательный .dll файл весом в 622 КБ. Но стоило мне только посмотреть на свойства, то сразу всё стало ясно. 

На самом деле, я не знаю, почему run_me.bat является приложением, с помощью которого система запустит .dll. Возможно, какой-то баг в отображении информации. 

Что более удивительно, так это описание файла, которое прямым текстом говорит тебе, что этот файл делает, — «Запускает PowerShell». Добавлю, что это образец был получен в результате анализа SEO-зараженных ответов поисковика. То есть потенциальная жертва получила бы вредонос с таким же описанием .dll файлов. 

И ещё мое внимание привлёк Binary.SoftwareDetector.dll. Исходя из названия, он позволяет обнаружить средства мониторинга, виртуальную среду выполнения и другие приложения. Скорее всего, для усложнения динамического анализа. К слову, описание файла здесь также объясняет его воздействие на систему.  

Но нас он интересует меньше всего. Сейчас нужно обнаружить тот самый вредоносный .bat файл. Для этого нужно более детально изучить его лаунчер, воспользуемся DIE и, может, что-то нароем. 

Дата компиляции, скорее всего, неправдива, так как именно этот образец с таким хешем был замечен только несколько дней назад. Осмелюсь предположить, что это таки Timestomping. 

Timestomping — это техника, используемая злоумышленниками для изменения метаданных файлов, связанных с временем их создания, изменения или доступа. Эта техника позволяет модифицировать временные метки файлов, чтобы скрыть следы своей деятельности или обмануть методы анализа, основанные на временных штампах.

В качестве компилятора выступает Visual Studio 2019, и даже имеется цифровой сертификат. Использование VS здесь даёт нам надежду, что этот .dll был написан на C#, и мы сможем декомпилировать его с помощью DNSpy.

Переписывать уже не буду, но я немного ошибся, ведь DNSpy показал, что это и не .dll вовсе, а исполняемый PE файл. Поэтому давайте воспользуемся утилитой PEStudio для просмотра более детальной информации об этом файле. 

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

И с помощью дебаггера в PE Bear определяем, откуда производится запуск вредоносного скрипта. Это даёт следующее понимание процесса: 

  1. Вредоносный .MSI сразу после запуска извлекает два файла run_me.bat и getadmin.vbs в следующую директорию: C:\TEMP

  2. Затем запускает вредоносный .dll, который и не .dll вовсе, чтобы запустить ранее извлеченный первичный «батник». 

А первый .bat… Угадайте, что он делает? Правильно, — загружает ещё один update.bat, но уже с внешнего сервера. 

 Заполучив файл, я попытался его открыть, чтобы просмотреть содержимое, но Windows наотрез отказывался это делать, сообщая о вирусе или угрозе. Иронично, что делает это он на виртуальной машине после шифровки большинства файлов вымогателем LockBit.

Кое-как удалось открыть его, и видим мы следующую картину: 

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

После этого из внешнего источника будут загружены и запущены два файла: scripttodo.ps1 и 1.exe 

1.exe нас совершенно не интересует, так как является обычной оболочкой CMD и никакого вреда системе не причиняет. 

Но вот ScriptToDo.ps1 как раз-таки отвечает за загрузку конечной полезной нагрузки, поэтому давайте перейдем к его разбору. 

По своей сути этот сценарий и является основным телом дроппера. Весит он всего-то 9.14 КБ, никакой подробной информации вы здесь не увидите, так как её попросту нет. Ради интереса, выгрузил полученный образец на VirusTotal, и вот, что из этого вышло: 

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

Разбирать здесь уже особо нечего, загрузка и запуск конечного вредоноса происходит буквально за несколько строк: 

К огромному сожалению, этот ресурс уже мертв, и узнать что же эта версия Батлоадера грузила на системы жертв не получится. 

Использование XML установщика Windows 

Как уже упоминалось ранее, MSI — не единственный вариант первичной полезной нагрузки. Интересным вариантом также является XML установщик. Здесь всё немного проще, злоумышленники просто вшивали в установщик свой .NET сценарий, который запускал вредоносный файл, содержащийся в архиве вместе c .xml. 

Сам файл checkforupdate.bat никак не отличается от update.bat, который мы разбирали ранее. Сперва он пытается повысить привилегии, а после скачивает PowerShell скрипт.

Использование мелких JavaScript файлов в кампании 

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

Как видите, запредельная простота по алгоритму: скачать — переименовать — запустить. Вторичную полезную нагрузку не удастся разобрать, так как ресурс на скачивание уже неактивен, но я сомневаюсь, что она разительно отличалась от того, что мы уже видели. 

А зашифрованный вариант выглядит следующим образом: 

Более чем уверен, что содержит он примерно такой же набор команд, единственное, что изменилось — это адрес сервера, с которого идет скачивание вредоноса. 

BatLoader — краткий динамический анализ и сбор статистики

Для этого воспользуемся следующим набором утилит: 

  1. TCPView — утилита, позволяющая просматривать входящий и исходящий трафик. 

  2. RegShot — позволяет просматривать изменения в реестре, если таковые будут. 

  3. Process Hacker — утилита, позволяющая в режиме реального времени наблюдать взаимодействие вредоноса с файлами или другими процессами. Немного модифицирована. 

Сам по себе Batloader нас интересует мало, пусть это и его анализ, но вредонос до боли прост. Меня больше интересует, какие именно вредоносы на данный момент доставляются чаще всего. И чтобы это определить, мы будем искать самые свежие сэмплы в дикой природе, запускать их и подводить статистику. Заодно посмотрим, насколько отличаются новейшие версии от тех, которые были на анализе. 

Первый запускаемый образец маскируется под пакет Microsoft Office, естественно, запускаем все необходимые утилиты, делаем снимок реестра и наблюдаем. 

Как говорится, первый блин всегда комом, вот и у нас так вышло. Так как в первом варианте нам попался вирус-шутка Monoxide.exe и сперва он спел нам песенку из ошибок Windows, а после выдал красный экран смерти, перезаписав MBR. 

Со второго раза все получилось, и на крючок попался Raccoon Stealer. Как и ожидалось, никаких изменений в реестре от Батлоадера нет, а вот Raccoon делает всё по своему стандарту, с его анализом можете ознакомиться вот здесь

Таким же образом была сформирована выборка из 50 образцов, которые удалось найти. В основном все маскируются под архиваторы, типа 7zip и Winrar. С чем именно это связано, ответить сложно. 

Но вот конечные полезные нагрузки были действительно разнообразными: 

  1. Raccoon Stealer — 18 образцов;

  2. Vidar Stealer — 13 образцов;

  3. ReadLine Stealer — 8 образцов;

  4. Agent Tesla — 6 образцов;

  5. TrueBot — 2 образца;

  6. Monoxide.exe — 2 образца. 

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

Следующие сайты активно использовали SEO Poisoning и продвигали Батлоадер: 

  • winrar-ful[.]com

  • clodtechnology[.]com

  • updatea2[.]com

  • updatecloudservice198[.]com

  • 7ziperr[.]ru

Выводы

Батлоадер — это далеко не первая вредоносная кампания, использующая отравление поисковой выдачи и Google ADS для реализации атак. Специалисты постоянно совершенствуют алгоритмы поисковых систем, пытаясь исключить вредоносные ресурсы из поиска. Но злоумышленники тоже не стоят на месте и постоянно придумывают всё новые и новые способы продвинуть свои ресурсы в топ. 

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

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

Да, большинство из найденных сэмплов определяются как угроза практически всеми антивирусами, но также было несколько образцов, которые что Windows, что антивирусы не считали угрозой. Ситуация подобна той, которую мы наблюдали при анализе Python инфостиллера ColourBlind.  

Единственное, что я могу в этой ситуации вам посоветовать, так это быть предельно внимательными. Зачастую вредоносные сайты имеют похожий адрес, но всётаки он отличается от оригинала. Временами бывает очень трудно определить, где какой, но всётаки это возможно. А на этом у меня всё. Бывайте.

Автор статьи @DeathDay


НЛО прилетело и оставило здесь промокод для читателей нашего блога:

— 15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

Комментарии (3)


  1. forthuse
    28.08.2023 09:19

    Подскажите, а если какую то непроверенную Wndows программу (например не проверенную на сервисе virustotal.com) запустить под Wine на Linux (возможно в варианте загрузки с LiveCD), то "выживет" ли зловред в таком окружении?


    P.S. И насколько сами браузеры и/или какие то по списку плагины к ним позволяют защитится от и "i-net" зловредов.


    К примеру такие плагины как: clearcache, cookie_autodelete, decentraleyes, clearurl, css_exfil_protection, privacy_badget (часть из них, возможно как то косвено помогает защититить своё i-net соединиение компьютера со всемирной паутиной)


  1. gkir
    28.08.2023 09:19
    +1

    Как жаль, что никто не вспомнил Питера Кима и Даррена Ли (Razor и Blade)! Хабр уже не тот...


    1. Keks650
      28.08.2023 09:19

      Я вспомнил! Любимый фильм)