Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№117-09-2015 20:12:05

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 40.0

Уязвимость Firefox?

Незнаю, была эта тема или нет... лень искать.
По хорошему это надо в Bugzilla отправить, но я не силен в английском - буду благодарен если кто-то это сделает с пометкой - критическая уязвимость или переведет этот текст, а я отправлю сам.
Всё ниже описанное относится к текущему релизу 40.0.3, очень вероятно что это касается прошлых версий, и, возможно, Nightly

Теперь к делу:
Знакомый товарищ поймал adware-вирус.
Вирус был благополучно уничтожен после свежего обновления антивирусных баз, но Firefox стал странно себя вести: на каждой странице стало очень много рекламных баннеров

После детального изучения папки c:\Program Files (x86)\Mozilla Firefox\ был обнаружен файл cfg (без расширения):
c:\Program Files (x86)\Mozilla Firefox\cfg

Внутри файла код, который на каждую страницу внедрял подгружаемый javascript
Продолжив изучение, так же был обнаружен файл, который этот cfg запускает: c:\Program Files (x86)\Mozilla Firefox\defaults\pref\pref.js

Итак, моделируем ситуацию.
создаем файл pref.js в каталоге c:\Program Files (x86)\Mozilla Firefox\defaults\pref\
с таким содержимым:

Выделить код

Код:

pref('general.config.filename', 'cfg');
pref('general.config.obscure_value', 0);

создаем файл cfg в каталоге c:\Program Files (x86)\Mozilla Firefox\
с таким содержимым (первая строка пустая, вторая комментарий):

Выделить код

Код:

// First line is ommited
try{
(function () {
       var _handleDocumentElementInsterted = function (a) {
            if (a && a instanceof Components.interfaces.nsIDOMHTMLDocument) {
                var b = a && a.defaultView ? a.defaultView : null;
        b.alert('injected!');
            }
        };

    var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
    observerService.addObserver({
        QueryInterface: function (a) {
            if (a.equals(Components.interfaces.nsIObserver) || a.equals(Components.interfaces.nsISupports) || a.equals(Components.interfaces.nsISupportsWeakReference)) return this;
            throw Components.results.NS_NOINTERFACE;
        }, observe: function (a, b, c) {
            try {
                "document-element-inserted" === b && _handleDocumentElementInsterted(a)
            } catch (d) {}
        }
    }, "document-element-inserted", !1);

})();
} catch(e){
}

перезапускаем браузер и ву-а-ля!
после загрузки любой страницы будет алерт с сообщением 'injected!'

Итого:
В то время как космические корабли бороздят по просторам вселенной как Mozilla выдумывает электронные подписи для аддонов, у нее существует уязвимость, благодаря которой можно сделать всё что угодно, так как исполняемый скрипт действует с высокими правами.
Поясняю: любая программа (в том числе и вирусы) могут внедрить в браузер js-код, который наделен такими правами, что может делать всё что угодно, начиная от описанного выше способа вставки баннеров, до тихой закачки любого exe и его запуска.

PS:
в описываемом случае браузер был проинсталлирован в "c:\Program Files (x86)\Mozilla Firefox\", но это так же действительно и для "c:\Program Files\Mozilla Firefox\"

Отсутствует

 

№217-09-2015 20:28:09

j15
Участник
 
Группа: Members
Зарегистрирован: 23-05-2015
Сообщений: 59
UA: Firefox 40.0

Re: Уязвимость Firefox?

Причем тут вообще Мозилла, не смешите :D Это батенька венда с ее возможностью писать кому угодно, что угодно и куда угодно.


Хочешь мира — готовься к войне!

Отсутствует

 

№317-09-2015 20:32:21

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 40.0

Re: Уязвимость Firefox?

при чем тут операционная система?
вирус не подменил какую-то dll и не прописался в каком-то файле.
он просто воспользовался штатными не документированными возможностями браузера!
это именно браузер предоставляет возможность написать и исполнить что угодно.
и мне кажется, что создав pref.js и cfg на макбуке или линуксе вы получите тот же эффект.

Отсутствует

 

№417-09-2015 20:37:38

j15
Участник
 
Группа: Members
Зарегистрирован: 23-05-2015
Сообщений: 59
UA: Firefox 40.0

Re: Уязвимость Firefox?

pag77 пишет

при чем тут операционная система?

>>

j15 пишет

венда с ее возможностью писать кому угодно, что угодно и куда угодно.

pag77 пишет

штатными не документированными возможностями браузера!

>> http://kb.mozillazine.org/Locking_preferences

Скушно с вами..

Отредактировано j15 (17-09-2015 20:39:14)


Хочешь мира — готовься к войне!

Отсутствует

 

№517-09-2015 20:50:33

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 40.0

Re: Уязвимость Firefox?

j15 пишет

>> http://kb.mozillazine.org/Locking_preferences

Скушно с вами..

я б может и не создал бы этот топик, если бы в этом году Мозилла не объявила и не внедрила электронные подписи аддонов, из-за того что:
1. злоумышленник может создать зловредный аддон и внедрить его в браузер
2. злоумышленник может внести изменения в уже установленные пользователем дополнения

поэтому мне показалось очень странным, что Мозилла прошла мимо именно этого случая, описанного выше.
не нужен ни аддон, ни подпись - прописал свой js-код и делай на компьютере пользователя что угодно, даже если сам зловредный exe фактически был удален из компьютера жертвы.
вот я и хочу донести до них мысль о том что они что-то забыли :)

Добавлено 17-09-2015 20:55:12

j15 пишет

>> http://kb.mozillazine.org/Locking_preferences

PS:
в этой статье не написано , что кроме установки предпочтений можно написать любой исполняемый js-скрипт
значит это всё-таки уязвимость! :)

Отредактировано pag77 (17-09-2015 20:55:12)

Отсутствует

 

№617-09-2015 21:01:56

j15
Участник
 
Группа: Members
Зарегистрирован: 23-05-2015
Сообщений: 59
UA: Firefox 40.0

Re: Уязвимость Firefox?

Да сам pref.js исполняется при запуске, можно прям туда записать что угодно))

pag77 пишет

в этой статье не написано , что кроме установки предпочтений можно написать любой исполняемый js-скрипт

Не написано, т. к. это вообще-то очевидно: prefs.js, а например не prefs.txt или prefs.ini.


Хочешь мира — готовься к войне!

Отсутствует

 

№717-09-2015 21:03:31

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 43.0
Веб-сайт

Re: Уязвимость Firefox?

pag77 пишет

при чем тут операционная система?вирус не подменил какую-то dll и не прописался в каком-то файле.он просто воспользовался штатными не документированными возможностями браузера!это именно браузер предоставляет возможность написать и исполнить что угодно.и мне кажется, что создав pref.js и cfg на макбуке или линуксе вы получите тот же эффект.

Браузер уязвим, если вы нажимаете на ссылку и после этого ваш браузер уже завирусован. то что Firefox имеет незашитые настройки наоборот говорит о его пластичности и возможностях.


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№817-09-2015 21:18:17

Владимиp Палант
Участник
 
Группа: Extensions
Зарегистрирован: 06-11-2004
Сообщений: 906
UA: Firefox 40.0
Веб-сайт

Re: Уязвимость Firefox?

Уязвимости как таковой действительно нет. Для проведения таких махинаций нужны права администратора компьютера. Это значит, что компьютер уже и так полностью контролируется злоумышленниками - они могли бы даже заменить Firefox другой программой.

Другое дело, что обязательные подписи для расширений предназначены как раз для того, чтобы программам было сложнее "угнездиться" в браузере. Оставлять при этом другие простые возможности выполнять код в браузере нецелесообразно. Помимо того, мне не кажется, что здесь действительно было задумано позволять выполнение программного кода с правами пользователя. Так что я создал сообщение на Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1205779 (доступ пока что ограничен, но, возможно, в Mozilla решат, что это на самом деле не нужно).

j15 пишет

Не написано, т. к. это вообще-то очевидно: prefs.js, а например не prefs.txt или prefs.ini.

Вы ошибаетесь. Изначально действительно использовался JavaScript, но выполнение кода в prefs.js уже давно невозможно. А вот в этом конфигурационном файле - вполне даже да.

Отредактировано Владимиp Палант (17-09-2015 21:22:07)

Отсутствует

 

№917-09-2015 21:24:48

j15
Участник
 
Группа: Members
Зарегистрирован: 23-05-2015
Сообщений: 59
UA: Firefox 40.0

Re: Уязвимость Firefox?

Владимиp Палант пишет

Оставлять при этом другие простые возможности выполнять код в браузере нецелесообразно.

Точно, давайте вообще сделаем из него второй Хром, чтобы туповатому юзверью проще жилось! :lol:

Владимиp Палант пишет

Вы ошибаетесь.

Я делаю предположение! :) И только. Спасибо за пояснение.


Хочешь мира — готовься к войне!

Отсутствует

 

№1017-09-2015 21:35:47

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Firefox 32.0

Re: Уязвимость Firefox?

создаем файл cfg в каталоге c:\Program Files (x86)\Mozilla Firefox\

этого хватит. Если юзер может создать файл в этом каталоге , то причем тут "уязвимость" бравзера?! После установки в эту папку бравзеру нефиг туда писать, только читать. Писать - пусть пишет в профиль и темп.

pag77 пишет

1. злоумышленник может создать зловредный аддон и внедрить его в браузер
2. злоумышленник может внести изменения в уже установленные пользователем дополнения

Нетленка Хакер в столовой  :D

Отсутствует

 

№1118-09-2015 08:41:31

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 40.0

Re: Уязвимость Firefox?

Владимиp Палант пишет

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

именно так и есть - если не сделать магические движения:

pag77 пишет

создаем файл cfg в каталоге c:\Program Files (x86)\Mozilla Firefox\
с таким содержимым (первая строка пустая, вторая комментарий):

то браузер просто не запустится.
и только при вставке этих двух строк можно исполнить любой js-код

Отсутствует

 

№1218-09-2015 17:15:07

Владимиp Палант
Участник
 
Группа: Extensions
Зарегистрирован: 06-11-2004
Сообщений: 906
UA: Firefox 40.0
Веб-сайт

Re: Уязвимость Firefox?

pag77
Ну, насчет первой строки как раз всё ясно - она игнорируется. Там предполагается ставить что-то, что интерпретатор JavaScript не примет, чтобы этот файл нельзя было загрузить в обычную страницу. Это такая своеобразная защита (с современными защитными механизмами браузера уже не нужная, насколько я понимаю). А вот почему у вас браузер без комментария не запускается - тут особых причин я не вижу, может просто ошибка синтаксиса?

Со стороны Mozilla подтвердили, что выполнение кода тут все-таки предусмотрено. В документации (https://developer.mozilla.org/en-US/Fir … figuration) это, правда, упомянуто только косвенно (см. последнюю строчку примера), но там ссылка на https://mike.kaply.com/2012/03/16/custo … fig-files/, где такая возможность описана весьма конкретно. Судя по всему, крупные фирмы с центральной администрацией этой возможностью действительно пользуются.

Отсутствует

 

№1318-09-2015 17:37:26

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 40.0

Re: Уязвимость Firefox?

Владимиp Палант
А какие "итого"?
Они закроют эту щель или нет?
Просто интересная ситуация получается: они ввели подписи к аддонам и, в то же время, оставили злоумышленникам такую дыру.
Кстати, просто переустановка браузера (поверх установленного или обычный деинсталл/инсталл) не поможет - инсталлятор заменит все файлы, кроме тех которые изначально созданы пользователем (pref.js, cfg) - в следствии чего зловред останется и дальше жить и выполнять свою работу.

Поможет только деинсталляция, потом руками удалить каталог с браузером и только потом инсталляция.

Отсутствует

 

№1418-09-2015 20:30:25

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 40.0

Re: Уязвимость Firefox?

pag77 пишет

Просто интересная ситуация получается: они ввели подписи к аддонам и, в то же время, оставили злоумышленникам такую дыру.

Это смешно, достаточно прав на запись в папку профиля: XBL в виде data URI отлично работает из userChrome.css.
И выполняет произвольный код с правами браузера, да.
В любом случае с правами на запись можно много чего наворотить.
А для подписания расширения, вроде бы, достаточно пройти автоматизированный тест. А уж простор для обфускации кода просто огромен.
Плюс еще расширения, позволяющие запускать произвольный код придется запретить. Stylish тоже запретить, потому как и он позволяет привязать XBL. И не стоит забывать про уязвимости в расширениях, которые можно специально встроить.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№1518-09-2015 20:42:50

j15
Участник
 
Группа: Members
Зарегистрирован: 23-05-2015
Сообщений: 59
UA: Firefox 40.0

Re: Уязвимость Firefox?

Да ну.. вендузятники готовы валить все свои проблемы на что угодно, кроме их настоящего источника - ОС Microsoft ™ Windows ® :lol:


Хочешь мира — готовься к войне!

Отсутствует

 

№1618-09-2015 21:13:50

lolipop
Участник
 
Группа: Members
Зарегистрирован: 03-07-2015
Сообщений: 126
UA: Firefox 38.0

Re: Уязвимость Firefox?

Подцепить вирус даже в Windows достаточно сложно, нужно скачать неизвестную программу и запустить её. На практике опасные уязвимости, которые не требуют действий пользователя срабатывают очень редко.
Речь о Win7 SP1 и выше.

Infocatcher
С тем же успехом пришлось бы запретить и uBlock Origin и AdBlock Plus - возможно подсовывание подписок для блокирования рекламы или сайтов конкурентов. Как и Custom Button, как и iMacros.

pag77
Вы погорячились. Обнаружили плохо документированную возможность. Вот это интересно! Получается для простых скриптов GreaseMonkey не нужен. :D

Надеюсь её не выпилят. Кто там баг создавал? Удалите быстрее!!!


Эта штука с Android сработает? А то для него до сих пор нету GreaseMonkey работающего.

Отредактировано lolipop (18-09-2015 21:16:38)

Отсутствует

 

№1718-09-2015 22:51:52

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2249
UA: Firefox 38.0

Re: Уязвимость Firefox?

Infocatcher пишет

достаточно прав на запись в папку профиля: XBL в виде data URI отлично работает из userChrome.css.

Да-да, и userContent.css тоже «уязвим».
Открыл какой-нибудь "about:config", и оказался во власти «злоумышленника»
with(Application.windows[0]._tabbrowser.ownerGlobal) {...

Отсутствует

 

№1819-09-2015 00:30:45

Владимиp Палант
Участник
 
Группа: Extensions
Зарегистрирован: 06-11-2004
Сообщений: 906
UA: Firefox 40.0
Веб-сайт

Re: Уязвимость Firefox?

pag77 пишет

А какие "итого"?

Решения пока нет, ждем.

Отсутствует

 

№1919-09-2015 01:45:34

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Уязвимость Firefox?

извините,не удержался.
вы логику включать хоть немножко пробовали?
если у программы есть права на запись\выполнение в какойто папке то она может делать там ВСЁ!
ещё раз повторю ВСЁ! зачем все эти извращения со скриптами и прочем когда можно "поправить"  ЛЮБОЙ файл?
да можно хоть миллион раз сносить и переустанавливать ФФ и профиль,
только если по ярлыку запускается затрояненый лис в другой папке толку с этого ноль.
тоже самое можно сделать с любой другой программой.
какая тут нафиг уязвимость в ФФ? это стандартная возможность любой операционки(в т.ч. и линуксов).
если к посетителю в ресторане подошли и удалено в тарелку, то в том, что он потом наелся удалено вместо фуагры виноват повар чтоль?
мозг включите наконец!

Замечание п. 3.3
Sergeys


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№2019-09-2015 03:21:35

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Firefox 32.0

Re: Уязвимость Firefox?

j15 пишет

Да ну.. вендузятники готовы валить все свои проблемы на что угодно, кроме их настоящего источника - ОС Microsoft ™ Windows ® :lol:

Да, лана. :music: В винде можно закрыться не хуже чем в линухе. Просто в линухе это принудительно, а в винде сознательно делают послабления в стандартной конфиг-ции. Отсюда все байки про "дырявую винду". Отсюда же её популярность. Все средства и способы в винде есть шобы жить без онтевирусов. Другое дело что юзеры M$ уже воспитаны так что бы не думать.

Отсутствует

 

№2119-09-2015 10:21:01

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 40.0

Re: Уязвимость Firefox?

Похоже что я погорячился и зря поднял панику - просто я не ожидал что браузером можно полноценно рулить через конфигурационный файл, без всяких аддонов.
Жаль только, что эти конфиг файлы похоже не отключаются и в безопасном режиме (когда у фф отрубаются все аддоны и т.д.)
Примите мои извинения :)

Отсутствует

 

№2219-09-2015 12:04:02

lolipop
Участник
 
Группа: Members
Зарегистрирован: 03-07-2015
Сообщений: 126
UA: Firefox 38.0

Re: Уязвимость Firefox?

jars
Хуже, намного. Если для корпораций сгодится, там MS сама ответит если уворует, то вот частому пользователю все эти закладки в том же встроенном шифровальщике, чтобы АНБ могла расшифровать - нет. В смысле эти же закладки могут найти и использовать хакеры, тогда как в linux стремятся к их полному отсутствию вообще, а не спрятать поглубже.
Я не говорю о преступлениях, то что разрешено в одной стране может быть запрещено в другой и посадить могут за банальное незнание при пересечении границы.

Отредактировано lolipop (19-09-2015 12:06:22)

Отсутствует

 

№2320-09-2015 13:49:19

Sergeys
Administrator
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 23-01-2005
Сообщений: 14014
UA: Firefox 40.0
Веб-сайт

Re: Уязвимость Firefox?

Тема закрыта.


Через сомнения приходим к истине. Цицерон

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]