TGViewer
Интернет ненужных вещей Интернет ненужных вещей @sforsecurity · 2.89K subscribers
Post #689 1.35K

Forwarded from RUH8

Эксплоиты, программки, которые превращают уязвимости в софте во что-нибудь полезное (для хакера, не для вас) - отдельный вид современного искусства. Не знаю с чем сравнить. Сборка кораблика в бутылке с помощью трехметровой линейки с завязанными глазами? Поездка на машине, от которой вы по ходу дела отломали тормоза, колесо, и пытаетесь ей управлять с помощью лома, резинки от трусов и набора цветных карандашей? Как-то так.

Гугл распотрошил экслоит израильской NSO https://bit.ly/3mabxOl и это замечательная конструкция. Люди посылают друг другу смешные анимированные гифки (хотел бы я рассказать какие гифки есть в нашем секретном партийном чате, но меня тут же забанят). iMessage хочет, чтобы они крутились вечно. Для этого в заголовке GIF нужно поправить флажок, и чтобы не портить файл iMessage делает его копию. Казалось бы, что могло пойти не так?

По ошибке вместо копирования вызывается рендеринг картинок. А он уже на расширения файлов не смотрит. И NSO под видом гифки подсовывает PDF. А внутри PDF-ки картинка JBIG2 - это такой доисторический формат графики для ксероксов. Чтобы файлы получались маленькими, то он режет картинку на кусочки, и если куски, например буква "а" достаточно похожи между собой, то он использует один глиф для всего, как типографскую литеру.

Из-за этого случались многие беды https://bit.ly/3scwDiQ Кодек мог к примеру подумать что цифра 6 достаточно похожа на цифру 8, и заменить ее везде на картинках, чтобы сэконосить место. Потому в формат добавили маски - разницу между "похожим" глифом и тем, что нужно воспроизвести. И эти исправления накладываются на глиф с помощью операций AND, OR, XOR и XNOR. То есть эта штука тьюринг-полная. Любое мыслимое вычисление можно провести с помощью этих операций.

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

И из доисторического графического формата они собрали полноценный виртуальный микрокомпьютер из 70 000 вентилей (те самые маски).

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

NSO продавали эту изящную вещицу негодяям и убийцам, но то как она сделана!..
  • 👍 1
More from @sforsecurity
  1. Jul 13, 2026🚉 Смотрите в прямом эфире, что находится внутри Станций, и узнайте, как они разрабатывают…
  2. Dec 30, 2025Нейросетям нужно не только считать, но и помнить. Дата-центры для ИИ пожирают оперативную…
  3. Aug 21, 2025В "Яндекс.ТВ" появился "Ночной сеанс". Меньше синего в изображении (это популярная история…
  4. Aug 20, 2025В общем, мы строили, строили — и наконец построили. То есть — выпустили в продажу после бо…
  5. Jul 22, 2025Сезон статей на Хабре: теперь — другой коллега, Лёша Фоменко: «Куём железо. Чем отличается…
  6. Jul 9, 2025У моего коллеги Саши Батина (техлида проекта Станции Стрит) — первая статья на Хабре. http…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →