Исследователь и программист Дэвид Бьюкенен (David Buchanan) продемонстрировал, что в Twitter можно загрузить изображения, модифицированные при помощи стеганографии. То есть внутри картинок можно разместить до 3 Мб данных. Как оказалось, социальная сеть не очищает изображения должным образом.
Дэвид Бьюкенен приложил к своим сообщениям примеры таких изображений, в которых спрятал ZIP-архив с исходным кодом и MP3-файл (приведенное ниже изображение размером 6 Кб содержит полный архив). Хотя эти файлы PNG, размещенные в Twitter, на первый взгляд представляют собой обычные картинки, простой загрузки и изменения их расширения достаточно для получения иного содержимого.
I found a way to stuff up to ~3MB of data inside a PNG file on twitter. This is even better than my previous JPEG ICC technique, since the inserted data is contiguous.
— Dаvіd Вucһаnаn (@David3141593) March 17, 2021
The source code is available in the ZIP/PNG file attached: pic.twitter.com/zEOl2zJYRC
«Загрузите файл, переименуйте в .mp3 и откройте в VLC, чтобы получить сюрприз. (Примечание: убедитесь, что вы загрузили версию файла с полным разрешением, должно быть 2048x2048 пикселей)», — говорит эксперт.
Изображение, размещенное на сервере Twitter (https://pbs.twimg.com/media/Ewo_O6zWUAAWizr?format=png&name=large) имеет размер 2,5 Мб и действительно содержит mp3-файл с треком Never Gonna Give You Up от Рика Эстли.
Исследователь уже опубликовал на GitHub исходный код для создания таких файлов: tweetable-polyglot-png.
«Обычно Twitter сжимает изображения, но в некоторых случаях этого не происходит. Также Twitter пытается удалить все несущественные метаданные, чтобы polyglot-файлы не работали. Но я обнаружил новый трюк: вы можете добавлять данные в конец DEFLATE-потока (часть файла, где хранятся сжатые данные пикселей), и Twitter не будет их удалять», — объяснил Бьюкенен.
Тот факт, что Twitter не всегда может удалить постороннюю информацию из изображений, открывает злоумышленникам возможности для злоупотреблений платформой. К примеру, в файл PNG может быть помещен вредоносный код, облегчающий управление малварью и необходимый для C&C-нужд. Тогда как полное блокирование трафика изображений из Twitter и домена pbs.twimg.com может повлиять на легитимные операции.
Исследователь говорит, что уже пытался сообщить разработчикам Twitter об аналогичной проблеме с файлам JPEG, но тогда ему ответили, что это не ошибка, связанная с безопасностью. Поэтому уведомлять компанию об аналогичной проблеме с файлами PNG Бьюкенен уже не стал.