Comments 92
В итоге меня забанили Valve на H1 — я не могу участвовать в их программе по отклонению уязвимостей (остальной H1 мне доступен).
Получил ответ =) Класс, что сказать, отличный подход. В следующий раз продайте на черном рынке найденный у них баг, желательно подешевле, чтобы как можно больше блекхетов заюзали баг и поюзали их. Раз по-человечески не реагируют.
А не проще подложить какую-нибудь неявно используемую библиотеку, например xinput?
Чтобы Steam проснулся — нужно снять оплок. Но в таком случае можно уже не успеть поставить следующий. Значит, надо ставить второй оплок перед снятием первого. А для этого нужны два разных файла, иначе (тут я уже гадаю) либо второй оплок не встанет, либо Steam не проснётся.
После загрузки сервис Стима все же понимает, что ему подсунули липу, и завершает работу, поэтому полезная нагрузка из моей dll не успела выполниться.
Пришлось немного пореверсить, и оказалось, что сервис после загрузки dll проверяет существование функций
Больше похоже, что сервис просто получает из библиотеки эти две функции и выполняет их. То есть цели "проверить что не подсунули липу" не было, просто без этих функций работать нечему.
Используются ограниченные учетки на виндовс 7 и 8.
Удалить Steam, больше ничего в такой ситуации не сделать.
Ну или смириться с тем, что учётки детей на самом деле не ограниченные, а немножко системные...
Можно попробовать настроить те самые права доступа к папке bin вроде. Убрать права на запись у не-админов. И в реестре то самое.
Следует отметить, что именно "убрать права", а не "запретить", потому что Админ наследуется от простого юзера, а у запрета приоритет выше.
А Steam не восстановит ли права обратно?
Потому что запрет получится всем пользователям, включая администраторов.
b4 — папка с нагрузкой, без этого файла нельзя
b2 и b3 — нужны для тасовки между оплоками.
b1 — нужен поскольку Steam первый раз открывает файл эксклюзивно и на этот файл больше нельзя поставить оплок, а, значит, он не будет участвовать в жонглировании.
Вы, наверное, сидите под админом с выключенным UAC? Тогда для вас это и правда ни разу не уязвимость.
Но ведь не все так поступают. А Steam, выходит, одним своим существованием перечеркивает последние 13 лет улучшения безопасности windows.
А зачем вообще в таком случае UAC придумали, по-вашему?
На сервере — ещё и для защиты от несанкционированного доступа пользователей к системе и данным других пользователей. В принципе, то же верно для общественного компьютера.
В первом случае поднятие привилегий неважно — хотя бы потому, что пользователь может сам нажать подтверждение на поднятие привилегий, и никто ему не помешает сделать эту глупость.
Во втором случае — это действительно серьёзная уязвимость. Но благо на серверах стим не запускают. Хотя вот пока всё это писал, понял, что эта уязвимость таки будет существенной в одном случае — для авторизованных компьютерных клубов, предоставляющих доступ к играм стим на повременной основе за деньги. С другой стороны, если в этих клубах не настроен запрет запуска посторонних запускаемых файлов — они сами себе злобные буратины. Да и не знаю если честно, есть ли ещё такие клубы…
С другой стороны, если в этих клубах не настроен запрет запуска посторонних запускаемых файлов — они сами себе злобные буратины.
А такой запрет и не получится сделать: папка стима же полна автоматически обновляющихся исполнимых файлов, как там отловить посторонние?
Так ведь права писать туда есть именно что у любого пользователя. Собственно, на этом эффекте обсуждаемый эксплойт и работает.
github.com/hfiref0x/UACME
Хммм, а в steam on linux данная уязвимость присутствует?
Что-то не могу сообразить, от какого юзера под виндой запускается стимсервис
Сейчас посмотрел — бинарника с названием steamservice я вообще не вижу
Для проверки даже запустил игру и посмотрел дерево
Первый скрин с фильтром по имени, второй — без
При чём тут вообще игра? Steam Client Service — это на винде служба, значит на линуксе это должен быть демон.
В линуксе стим по-моему работает чисто в userspace и рута никогда не дёргает.
Повышение прав вредоносного ПО через определенную уязвимость есть вторая стадия его жизни. Даже при условии что проникновение в систему не возможно в принципе, нельзя оставлять возможность неконтролируемого повышения прав.Это нас так в колледже учили. У них походу этому вообще не учат. «Ребят, к нам голодный тигр бежит! Может пристрелим его, пока он нас не сожрал? ЧТО?! ВАМ ЛЕНЬ РУЖЬЕ ЗАРЯДИТЬ?!»
Они видать ещё не попадали под такую ситуацию, при которой из-за их уязвимости производились крупные преступления. Но как говорится — всё бывает в первый раз.
Я поражён таким отношением Valve как к критическим уязвимостям, так и к пользователям, их нашедшим. На вашем месте я бы продублировал бы английский вариант этой статьи на Reddit. В последнее время компании чаще начинают чесаться только после ажиотажа на подобных ресурсах, а не на профильных.
Когда Valve решила дропнуть поддержку Ubuntu вместо того, чтобы наконец сделать 64-битный стим, я сильно озадачился. Но после этой новости я просто охренел.
- Кто мешает сделать клиент 64бит, но написать 32бит либы для совместимости? Не слишком просто, но в теории вполне решаемо.
- Нет стима — 100% игр из него "тыквы". Так лучше? Что делать тем, кому хватит и 64бит игр?
Нет стима — 100% игр из него "тыквы". Так лучше? Что делать тем, кому хватит и 64бит игр?
Убунта собиралась, но одумалась: https://ubuntu.com/blog/statement-on-32-bit-i386-packages-for-ubuntu-19-10-and-20-04-lts. Как я понял, часть либ оставят, но остальные и приложения выкинут + доступны полноценные окружения в Snap'ах.
Кстати, а много ли 32бит игр под линукс в стиме и почему? Он (linux) вроде всегда целился на 64бит в основном.
P.S.: в своё время мучался с постоянными крашами одной 32bit игры. Перепробовал всё, даже поставил (на соседний диск) SteamOS. В результате так ничего и не добился, пришлось забить. Это к тому, что 32бит игры и так не сахар нынче в линуксе.
Кроме того, в Стиме же куча игр, созданных в эпоху 2000/XP, которые не в курсе про всякие UAC/MAC и т.п., соответственно, они чаще всего на этапе установки начинают требовать админские привилегии сразу. И они же вроде как через Стим получают нужные им привилегии, не спрашивая юзера. Стим не этот механизм использует для раздачи привилегий играм из каталога?
Эта уязвимость вполне себе может быть частью чего-то большего. Через одну дыру проникли в систему с правами пользователя, а потом воспользовались этой дырой, чтобы повысить себе привилегии. Действий от пользователя в итоге не требуется.
«Шведских» уязвимостей вида всё в одном практически не бывает (ну если разработчики не совсем конченые...).
Да вообще-то важно. Ок, с юзерскими привилегиями он, возможно, зашифрует вам файлы. Неприятно, но есть восстановление системы, есть антивирус, который по поведению такое на раз два вычисляет. Если же у него есть системные права, то антивирь он вырубит и зашифрует не только юзерские файлы, но и вообще всю систему вместе с теневыми копиями.
Да, и это если речь идёт про одно пользователя. У меня на домашнем компьютере, к примеру, кроме моего пользователя есть ещё пользователь жены. Если она подцепит что-то юзермодное, то мои файлы при этом не пострадают. А если малварь сможет повысить привилегии, то см. выше.
А если есть бекапы — то и систему переставить не проблема. Будем запускать всё подряд, неважно откуда? Ну ок…
И да, антивирусы это фигня, ни разу не видел чтобы эвристика кого-то защитила. Ну, то есть, наверное она таки защищает кого-то когда-то, но процент этих случаев так мал что и упоминания не стоит.
Я не говорил, что теневые копии вместо бекапов. Они их отлично дополняют — восстановиться проще, делаются постоянно.
При чём тут "запускать всё подряд, не важно откуда"? Я вроде выше написал как раз о том, что пострадать от такой уязвимости можно и без ошибки пользователя. Да и "проверенные" источники софта тоже иногда подводят.
На счёт антивирусов — ну раз вы говорите, что фигня и даже статистика с процентами у вас есть, значит так оно и есть. Пойду удалю.
Они там совсем на солнышке перегрелись?
Автор, подскажите, что Вам в тоге по поводу бана сказали? Совсем обезумели.
Согласен с ораторов выше — Какую ещё уязвимость, если они её такой не признали?
Т.е. погодите-ка, в проошлый раз, что Вы опубликовали репорт — это они погрозили пальчиком ай-яй-яй, А сейчас сразу перманентно??
Ну абсурд же… с их стороны.
И ещё один Steam Windows Client Local Privilege Escalation 0day