ALPACA — новая техника MITM-атак на HTTPS

9 июня 2021 года

Группа исследователей из нескольких университетов Германии разработала новый метод MITM-атаки на HTTPS, дающий возможность извлечь Cookie с идентификаторами сеанса и другие конфиденциальные данные, а также добиться выполнения произвольного кода JavaScript в контексте другого сайта. Атака получила название ALPACA и может быть применена к TLS-серверам, реализующим разные протоколы прикладного уровня (HTTPS, SFTP, SMTP, IMAP, POP3), но использующим общие TLS-сертификаты.

Суть атаки в том, что при наличии контроля над сетевым шлюзом или точкой беспроводного доступа атакующий может перенаправить трафик на другой сетевой порт и организовать установку соединения не с HTTP-сервером, а с FTP или почтовым сервером, поддерживающими TLS-шифрование. Так как протокол TLS универсален и не привязан к протоколам прикладного уровня, установка шифрованного соединения для всех сервисов идентична и ошибка отправки запроса не к тому сервису может быть определена только уже после установки шифрованного сеанса во время обработки команд отправленного запроса.

Соответственно, если, например, перенаправить соединение пользователя, изначально адресованное к HTTPS, на почтовый сервер, в котором применяется общий с HTTPS-сервером сертификат, TLS-соединение будет успешно установлено, но почтовый сервер не сможет обработать переданные HTTP-команды и вернёт ответ с кодом ошибки. Данный ответ будет обработан браузером как ответ запрошенного сайта, переданный внутри корректно установленного шифрованного канала связи.

Предложено три варианта атаки:

  • "Upload" для извлечения Cookie с параметрами аутентификации. Метод применим, если охватываемый TLS-сертификатом FTP-сервер позволяет загрузить и извлечь свои данные. В данном варианте атаки атакующий может добиться сохранения частей изначального HTTP-запроса, таких как содержимое заголовка Cookie, например, если FTP-сервер интерпретирует запрос как файл для сохранения или полностью журналирует входящие запросы. Для успешной атаки злоумышленнику требуется каким-то образом извлечь сохранённое содержимое. Атака применима к Proftpd, Microsoft IIS, vsftpd, filezilla и serv-u.
  • "Download" для организации межсайтового скриптинга (XSS).

Метод подразумевает, что атакующий может подготовить данные на сервисе, использующем общий TLS-сертификат, которые затем можно загрузить в ответ на запрос клиента. Атака применима к вышеотмеченным FTP-серверам, IMAP-серверам и POP3-серверам (courier, cyrus, kerio-connect и zimbra).

  • "Reflection" для запуска JavaScript в контексте другого сайта. Метод основан на возвращении клиенту части запроса, в котором содержится отправленный атакующим JavaScript-код. Атака применима к вышеотмеченным FTP-серверам, IMAP-серверам cyrus, kerio-connect и zimbra, а также к SMTP-серверу sendmail.

Например, при открытии пользователем страницы, подконтрольной атакующим, с этой страницы может быть инициирован запрос ресурса с сайта, на котором у пользователя имеется активная учётная запись (например, bank.com). В ходе MITM-атаки этот запрос, адресованный web-сайту bank.com, можно перенаправить на почтовый сервер, в котором используется общий с bank.com TLS-сертификат. Так как почтовый сервер не завершает сеанс после первой ошибки, служебные заголовки и команды, такие как "POST / HTTP/1.1" и "Host:", будут обработаны как неизвестные команды (почтовый сервер вернёт на каждый заголовок "500 unrecognized command").

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


MAIL FROM: <script>alert(1);</script>

на что почтовый сервер вернёт сообщение об ошибке


501 <script>alert(1);</script>: malformed address: alert(1);</script> may not follow <script>

Этот ответ получит браузер пользователя, который выполнит JavaScript-код в контексте не изначально открытого сайта атакующего, а сайта bank.com, на который был отправлен запрос, так как ответ поступил внутри корректного TLS-сеанса, сертификат которого подтвердил подлинность ответа bank.com.

Сканирование глобальной сети показало, что проблеме в общем виде подвержены около 1.4 млн web-серверов, для которых возможно совершение атаки со смешиванием обращений по разным протоколам. Возможность реального совершения атаки определена для 119 тысяч web-серверов, для которых присутствовали сопутствующие TLS-серверы на базе других прикладных протоколов.

Примеры эксплоитов

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «ALPACA — новая техника MITM-атак на HTTPS», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.