Ошибка Slack позволяет получить доступ к приватным каналам и беседам

1 сентября 2020 г. 11:25
 7328

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

Ошибка с удаленным выполнением кода проявляется на версиях приложения Slack Desktop ниже 4.4.

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

Ошибка (оценена между 9 и 10 баллами по шкале уязвимостей CvSS) была опубликована в пятницу и включает возможность проведения XSS-атак и HTML-инъекций. Уязвимы версии Slack for Desktop под Mac/Windows/Linux версии ниже 4.4.

«С помощью встроенной логики редиректа, HTML или JavaScript-инъекции, можно выполнить произвольный код в приложениях Slack desktop», - заявил багбаунти-активист под ником «oskarsv», который отправил отчет об ошибке Slack через платформу HackerOne, заработав при этом 1500 долларов. «Этот отчет демонстрирует специально созданный эксплойт, состоящий из HTML-инъекции, обхода контроля безопасности и удаленного выполнения JavaScript-приложения».

Согласно опубликованному техническому описанию, злоумышленники могли спровоцировать эксплойт, перезаписав функцию «env» приложения Slack desktop для создания туннеля через BrowserWindow и дальнейшего выполнения произвольного Java-скрипта, что является «странным кейсом XSS-атаки», - сообщил исследователь.

Технические подробности

Чтобы воспользоваться ошибкой, злоумышленникам нужно загрузить файлы эксплойта на свой собственный сервер с поддержкой HTTPS, затем они могут подготовить сообщение Slack с HTML-инъекцией, содержащей вредоносный URL, указывающий на эксплойт (например, скрытый в изображении). После этого им нужно будет только поделиться этим сообщением с публичным каналом Slack или пользователем. Если пользователь нажимает на изображение - код будет выполнен на машине жертвы.

Что касается выполнения HTML-инъекции, вопрос заключается в том, как сообщения Slack создаются.

«[Создание сообщения] создает новый файл на https://files.slack.com с определенной JSON структурой», - по данным отчета. «Можно напрямую редактировать эту JSON-структуру, которая может содержать произвольный HTML-код».

oskarsv добавил: «Выполнение JavaScript ограничено политикой CSP (Content Security Policy), а для HTML-тегов предусмотрены различные средства защиты (например, запрещенные iframe, апплеты, мета, скрипты, формы и т.д., а целевой атрибут перезаписывается в _blank для тегов A). Тем не менее, все еще возможно внедрять area-теги и map-теги, которые могут быть использованы для удаленного выполнения кода». Он объяснил, что ссылка URL на вредоносный скрипт может быть записана внутри area-тега.

Исследователь также обнаружил, что сообщения электронной почты (при отправке в формате plain-text) хранятся без какой-либо фильтрации на серверах Slack. Ситуация, которой можно воспользоваться для хранения вредоносного ПО без необходимости для атакующих держать для этого свои сервера.

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

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

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

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

Пользователи должны убедиться, что их приложения Slack desktop обновлены как минимум до версии 4.4, чтобы избежать атак. Ошибка была исправлена в феврале, но только сейчас была опубликована из-за стандартной паузы на раскрытие сервиса HackerOne.

 

Перевод сделан со статьи https://threatpost.com/