В популярной платформе для организации почты CommuniGatePro в версии 6.1.16 (crystal, pronto and pronto4) были найдены множественные хранимые XSS-уязвимости.

Ошибки XSS возникают, когда приложение использует данные на новой веб-странице без правильной проверки или экранирования данных или обновляет существующую веб-страницу с предоставленными пользователем данными с использованием API-интерфейса браузера, который может создавать JavaScript. XSS позволяет злоумышленникам выполнять сценарии в браузере жертвы, которые могут захватывать пользовательские сеансы, деактивировать веб-сайты или перенаправлять пользователя на вредоносные сайты.

Сведения об уязвимости (хранимые XSS):

Эта уязвимость позволяет получить доступ к следующему:

  • Управление почтовым ящиком жертвы, просто прочитав мой адрес электронной почты
  • Управляйте компьютером жертвы, если человек использует Internet Explorer 8
  • Отправлять письма от имени жертвы
  • Исказить весь почтовый ящик жертвы
  •  

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

Сценарии атаки:

  • Календарь:
    1. POST /calendar/event HTTP/1.1
      Host: calendar.google.com
      User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
      Accept: */*
      Accept-Language: en-US,en;q=0.5
      Accept-Encoding: gzip, deflate
      X-If-No-Redirect: 1
      X-Is-Xhr-Request: 1
      Content-Type: application/x-www-form-urlencoded;charset=utf-8
      Content-Length: 634
      Cookie: Mycookie
      Connection: close
      ​sf=true&output=js&action=CREATE&useproto=true&add=boumediene.k%40victim.dz%2Csnbemail%40gmail.com&crm=BUSY&icc=DEFAULT&sprop=goo.allowModify%3Afalse&sprop=goo.allowInvitesOther%3Atrue&sprop=goo.showInvitees%3Atrue&pprop=eventColor%3Anone&eid=762dgnlok9l44rd63im4kisjnd&eref=762dgnlok9l33rd55im4kisjnd&cts=1511425384353&text=%22%3E%3Cimg%20src%3DX%20onerror%3Dalert(document.cookie)%3E&location=Stored%20XSS&details=Stored%20XSS&src=snbemail%40gmail.com&dates=20171123T093000%2F20171123T103000&unbounded=false&gdoc-attachment&scfdata=W1tdXQ..&stz&etz&scp=ONE&nopts=2&nopts=3&nopts=4&hl=en_GB&secid=6VLs1BGsgBB_Tqz6egnXpCYYF24

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

  • Файлы:
    1. Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:

      Перейти в раздел файлов.

      Создать каталог

      Назвать каталог любым кодом JavaScript, в нашем случае (<img src=»X» />);

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

      Затем жертва получает электронное письмо о предоставлении доступа к этому каталогу

      Жертва читает электронное письмо, а затем обращается к каталогу, заканчивающему выполнение кода в рамках своей работы.

  • Заметки:
    1. Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:

      Создать заметку

      Поместить в него код JavaScript

      Поделиться этим с жертвой.

  • Задачи:
    1. Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:

      Создать задачу

      Поместить код JavaScript в имя задачи

      Опубликовать его.

  • Входящие:
    1. Чтобы использовать эту уязвимость, жертва должна сначала приобрести локальный почтовый ящик. Далее он/она должна сделать следующее:

      Создайте html-файл со вредоносной частью кода JavaScript

      Использовать Pronto для отправки письма жертве

      Жертва читает письмо и код запускается.

    Такие атаки блокируются с помощью сигнатурного анализа. В случае обфускации пейлоада, запрос обрабатывается модулем искусственного интеллекта Nemesida WAF, распознающего аномалию в параметре запроса и позволяющему выявить эксплуатацию уязвимости.