• XSS.stack #1 – первый литературный журнал от юзеров форума

CVE-2019-10149 - Уязвимость в Exim, позволяющая выполнить код на сервере с root-правами

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 333
В почтовом сервере Exim выявлена критическая уязвимость (CVE-2019-10149), которая может привести к удалённому выполнению кода на сервере с правами root при обработке специально оформленного запроса. Возможность эксплуатации проблемы отмечена в версиях с 4.87 по 4.91 включительно или при сборке с опцией EXPERIMENTAL_EVENT.

В конфигурации по умолчанию атака может быть совершена без лишних усложнений локальным пользователем, так как применяется ACL "verify = recipient", выполняющий дополнительные проверки для внешних адресов. Совершение удалённой атаки возможно при изменении настроек, например, при работе в роли вторичного MX для другого домена, удалении ACL "verify = recipient" или определённых изменениях в local_part_suffix). Удалённая атака также возможна если злоумышленник сможет удержать соединение с сервером открытым в течение 7 дней (например, отправляя по одному байту в минуту для обхода обрыва по таймауту). При этом не исключается, что для удалённой эксплуатации проблемы существуют и более простые векторы атаки.

Уязвимость вызвана некорректной проверкой адреса получателя в функции deliver_message(), определённой в файле /src/deliver.c. Через манипуляцию с форматированием адреса атакующий может добиться подстановки своих данных в аргументы команды, вызываемой через функцию execv() с правами root. Для эксплуатации не требуется применение сложных техник, используемых при переполнениях буфера или повреждении памяти, достаточно просто подстановки символов.

Проблема связана с применением для преобразования адресов конструкции:
Код:
         deliver_localpart = expand_string(
                       string_sprintf("${local_part:%s}", new->address));
         deliver_domain =    expand_string(
                       string_sprintf("${domain:%s}", new->address));
Функция expand_string() является переусложнённым комбайном, в том числе распознающим команду "${run{команда аргументы}", приводящую к запуску внешнего обработчика. Таким образом, для атаки в рамках SMTP-сеанса локальному пользователю достаточно передать команду вида 'RCPT TO "username+${run{...}}@localhost"', где localhost один из хостов из списка local_domains, а username имя существующего локального пользователя.

Если сервер работает в качестве почтового релея достаточно удалённо отправить команду 'RCPT TO "${run{...}}@relaydomain.com"', где relaydomain.com один из хостов, перечисленных в секции настроек relay_to_domains. Так как по умолчанию в exim не применяется режим сброса привилегий (deliver_drop_privilege = false), переданные через "${run{...}}" команды будут выполнены с правами root.

Примечательно, что уязвимость была устранена в вышедшем в феврале выпуске 4.92 без акцентирования внимания на то, что исправление может привести к проблемам с безопасностью. Нет оснований полагать, что имело место осознанное сокрытие уязвимости разработчиками Exim, так как проблема была устранена в ходе исправления сбоя , возникающего при передаче некорректных адресов, а уязвимость была выявлена компанией Qualys при проведении аудита изменений в Exim.

Исправление для прошлых версий, которые продолжают применяться в дистрибутивах, пока доступно только в виде патча. Корректирующие выпуски для прошлых веток с устранением проблемы запланированы на 11 июня. Обновления пакетов подготовлены для Debian, Ubuntu, openSUSE. Arch Linux и Fedora поставляют версию 4.92, в которой проблема не проявляется. RHEL и CentOS проблеме не подвержены, так как Exim не входит в их штатный репозиторий пакетов (при необходимости ставится из репозитория epel).

https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-10149
https://www.rapid7.com/db/vulnerabilities/exim-cve-2019-10149
 
Исследователи безопасности из компании Cybereason предупредили администраторов почтовых серверов о выявлении массовой автоматизированной атаки, эксплуатирующей критическую уязвимость (CVE-2019-10149) в Exim, выявленную на прошлой неделе. В ходе атаки злоумышленники добиваются выполнения своего кода с правами root и устанавливают на сервер вредоносное ПО для майнинга криптовалют.

В соответствии с июньским автоматизированным опросом доля Exim составляет 57.05% (год назад 56.56%), Postfix используется на 34.52% (33.79%) почтовых серверов, Sendmail - 4.05% (4.59%), Microsoft Exchange - 0.57% (0.85%). По данным сервиса Shodan потенциально уязвимыми остаются более 3.6 млн почтовых серверов в глобальной сети, которые не обновлены до последнего актуального выпуска Exim 4.92. Около 2 млн потенциально уязвимых серверов размещены в США, 192 тысячи в России. По информации компании RiskIQ на версию 4.92 уже перешло 70% серверов с Exim.

42adcb41aeab.png

Администраторам рекомендуется срочно установить обновления, которые ещё на прошлой неделе были подготовлены дистрибутивами (Debian, Ubuntu, openSUSE, Arch Linux, Fedora, EPEL для RHEL/CentOS). В случае наличия в системе поверженной уязвимости версии Exim (с 4.87 по 4.91 включительно) необходимо удостовериться, что система уже не скомпрометирована, проверив crontab на предмет подозрительных вызовов и убедиться в остутствии дополнительных ключей в каталоге /root/.ssh. Об атаке также может свидетельствовать наличие в логе межсетевого экрана активности с хостов an7kmd2wp4xo7hpr.tor2web.su, an7kmd2wp4xo7hpr.tor2web.io и an7kmd2wp4xo7hpr.onion.sh, которые используются для в процессе загрузки вредоносного ПО.

Первые попытки атаки на серверы Exim зафиксированы 9 июня. К 13 июня атака приняла массовый характер. После эксплуатации уязвимости через шлюзы tor2web со скрытого сервиса Tor (an7kmd2wp4xo7hpr) загружается скрипт, который проверяет наличие OpenSSH (если нет устанавливает), меняет его настройки (разрешает вход с root и аутентификацию по ключам) и устанавливает для пользователя root RSA-ключ, предоставляющий привилегированный доступ в систему через SSH.

После настройки бэкдора в систему устанавливается сканер портов для выявления других уязвимых серверов. Также осуществляется поиск в системе уже имеющихся систем майнинга, которые удаляются в случае выявления. На последнем этапе загружается и прописывается в crontab собственный майнер. Майнер загружается под видом ico-файла (на деле является zip-архивом с паролем "no-password"), в котором упакован исполняемый файл в формате ELF для Linux с Glibc 2.7+.


• Source: https://www.cybereason.com/blog/new-pervasive-worm-exploiting-linux-exim-server-vulnerability
 
Не прошло и недели, как злоумышленники вязли раскрытую информацию на вооружение. В настоящее время эксплойт CVE-2019-10149 пытаются применить как минимум две группы хакеров. Одна из них разместила вредоносный скрипт на германском сервере (в открытом Интернете), другая прячет его в сети Tor.

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

Вторая криминальная группа выказывает больше определенности: она использует уязвимость в Exim для открытия бэкдора на почтовых серверах. С этой целью автор атаки отправляет письмо с особым конвертным заголовком «To». В результате обработки вредоносного сообщения на сервер Exim загружается шелл-скрипт, который открывает доступ к службе SSH, добавляя публичный RSA-ключ аутентификации к учетной записи пользователя root (многие до сих пор запускают Exim с такими привилегиями). Конечной целью злоумышленников, как выяснили в Cybereason, пока является установка криптомайнера, а также сканера для дальнейшего распространения инфекции.

По данным компании Cyren, авторы этой кампании атакуют в основном машины под управлением RHEL, Debian, openSUSE и Alpine Linux. Обе серии атак были обнаружены примерно в одно и то же время, 9-10 июня, и пока они только усиливаются.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх