Тавис Орманди из Google Project Zero обнаружил удивительнейшую уязвимость в антивирусных продуктах Trend Micro под Windows, позволяющую любому веб-сайту, который посещает пользователь, выполнить произвольному команду на его машине.



Орманди, занимающийся аудитом популярных антивирусных продуктов, обратил внимание на один из компонентов Trend Micro AV — менеджер паролей, написанный на JavaScript с использованием node.js. Оказалось, что он открывает несколько HTTP RPC-портов, позволяющих выполнять произвольные команды! Это означает, что любой веб-сайт способен запустить на машине пользователя скрипт, который, например, может стереть всю информацию на диске, установить другую вредоносную программу из внешней сети или или просто-напросто удалить тот же самый антивирус.

Я потратил около 30 секунд, чтобы понять, что это позволяет выполнить команду, openUrlDefaultBrowser, которая в конечном итоге запускает ShellExecute()

x = new XMLHttpRequest()
x.open("GET", "https://localhost:49155/api/openUrlInDefaultBrowser?url=c:/windows/system32/calc.exe true);
try { x.send(); } catch (e) {};


Копнув еще глубже, Орманди обнаружил, что менеджер паролей настолько плох, что допускает кражу всех паролей, даже если они зашифрованы.

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

Комментарии (15)


  1. IRainman
    12.01.2016 08:36
    +3

    удивительнейшую

    Да не то слово — «это волшебно», как любит говорить мой преподаватель по физике Плис Валерий Иванович.


    1. Akr0n
      12.01.2016 11:04

      Самое цензурное, что пришло на ум…


  1. Klukonin
    12.01.2016 09:03
    +27

    менеджер паролей, написанный на JavaScript с использованием node.js.


    После этой фразы уже заподозрил неладное.


  1. ikorolev
    12.01.2016 10:58
    +13

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


  1. 6opoDuJIo
    12.01.2016 11:11
    +7

    Антивирус?
    Больше похоже на малварь.


    1. denser
      12.01.2016 11:26
      +3

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


      1. 6opoDuJIo
        12.01.2016 15:08
        +4

        И эти люди собирались судиться с MS из-за security essentials.


  1. ComodoHacker
    12.01.2016 11:27
    +2

    Студентов-практикантов что ли посадили на этот менеджер паролей?


  1. Arthur
    12.01.2016 14:03
    +8

    Порадовало в коде эксплойта:

    Command: <input id="command" value="C:/PROGRA~1/TRENDM~1/Titanium/Remove.exe" size="64">
        <p>
        <a href="javascript:begin()">Click Here</a> to run the command above 
        (the default will uninstall Trend Micro Maximum).
    


  1. whiplash
    12.01.2016 15:58
    -5

    Кто использует noname антивирусы, тот ССЗБ)


  1. d7s2di
    13.01.2016 11:38
    +2

    Ох уж эти антивирусы. Порой проблем от них больше, чем пользы.


  1. icoz
    13.01.2016 20:38

    <сарказм> Ну он же антивирус, а не антишпион. Что вы к маленькому пристали? </сарказм>


  1. mrjj
    15.01.2016 14:37
    +1

    Дегенераты, хотя бы RPC токен нужно было использовать


  1. Funbit
    19.01.2016 13:21

    Почему-то никто не упомянул, что этот менеджер паролей еще и 646Мб кушает (судя по скриншоту). Может там еще какая-то интересная функциональность зашита? :)


    1. Lain_13
      19.01.2016 17:36
      +2

      Вангую весь V8 целиком. Оно же на node.js.