Через 333 выходных узла Tor перехватывали SSH-пароли
Исследователь под ником Kaba обнаружил атаку на выходные узлы сети Tor с перехватом SSH-паролей после того, как при подключении к своему серверу получил предупреждение о смене SSH-ключа.

Проверка показала, что заражённые узлы перенаправляли соединения на серверы злоумышленников. Там атакующие могли получить пароль пользователя, если тот подтверждал подменённый ключ и продолжал вход. Kaba описал результаты проверки 20 октября.
По данным Kaba, согласованная атака началась 2 октября. Он проверил примерно 3000 выходных узлов Tor и выявил 333 заражённых: все они направляли SSH-трафик к одной группе из 12 серверов-перехватчиков. Это около десятой части выходных узлов сети. Обычный зашифрованный веб-трафик через них проходил без заметных изменений, поэтому проблема проявлялась только при попытке SSH-подключения через порт 22.
Злоумышленники также меняли настройки узлов, чтобы собирать незашифрованный почтовый трафик. Они закрывали порты зашифрованных почтовых служб и разрешали соединения с сервисами, передающими данные открытым текстом. Это позволяло собирать содержимое писем, но источники не устанавливают, сколько сообщений удалось получить.
Как работал перехват SSH-паролей
Когда соединение попадало на затронутый выходной узел, запрос к SSH-серверу перенаправлялся на сервер атакующих. Тот предъявлял собственный ключ вместо ключа нужного сервера. При повторном подключении пользователь видел предупреждение OpenSSH о смене идентификатора удалённого хоста; при первом подключении программа предлагала подтвердить новый ключ. Именно такое предупреждение 2 октября получил Kaba.
Если пользователь принимал ключ и вводил пароль, сервер-перехватчик получал учётные данные. Затем злоумышленники подключались к настоящему серверу и могли наблюдать за командами в рабочей сессии. Отдельным соединением они пытались установить бэкдор и похититель учётных данных Ebury. В ловушке, подготовленной Kaba для изучения атаки, перед установкой проверялись права пользователя и возможность запустить команду через sudo.
Схема работала при входе по паролю. Дополнительный анализ указывает, что так нельзя передать на настоящий сервер аутентификацию по SSH-ключу: подпись клиента привязана к конкретной сессии. Сервер атакующих мог принять подключение, но не мог продолжить тот же вход на сервере назначения. Неизвестно, сколько пользователей ввели пароли после подмены ключа.
Во время проверки Kaba последовательно строил соединения через каждый выходной узел и сверял ключ целевого сервера и адрес, с которого к нему приходил запрос. Примерно дюжина узлов предъявляла поддельный ключ. Более 300 остальных не подменяли его при проверке, но направляли соединения через те же серверы-перехватчики. Этого совпадения хватило исследователю, чтобы отнести их к заражённым.

Как атаку остановили и что известно о взломе
Вечером 2 октября Kaba передал результаты команде, которая следит за состоянием сети Tor. 4 октября она предупредила операторов и пометила затронутые узлы флагом BadExit, чтобы клиенты не использовали их для выхода из сети. На следующий день атакующие перезапустили часть узлов, но пометки уже не позволяли применять их для перехвата на выходе. К 5 октября заражённые серверы отключили.
Анализ публичных данных сети показал, что с 1 по 4 октября настройки выхода, совпадавшие с использованными в атаке, получили 377 узлов 59 операторов. На пике 4 октября на них приходилось 7,46% выходной пропускной способности Tor. Авторы анализа предупреждают, что совпадение настроек само по себе не доказывает взлом каждого узла. Поэтому эту оценку нельзя подменять результатом проверки Kaba, обнаружившего 333 узла с перенаправлением SSH.
Один из пострадавших операторов описал, как взломали его серверы. 28 августа злоумышленники вошли по паролю на управляющий сервер, получили права администратора и установили Ebury 1.8.3. Затем они добрались до второго сервера, на котором работали два выходных узла, и установили бэкдор там. По словам оператора, один и тот же пароль использовался для SSH, sudo и защиты резервной копии, а также хранился на обоих серверах в открытом виде. Как атакующие получили этот пароль и каким образом проникли на остальные серверы, не установлено.
Пользователям, которые с 1 по 5 октября подключались к серверу по SSH через Tor, приняли незнакомый или изменившийся ключ и ввели пароль, рекомендуют сменить его и проверить сервер на Ebury. Тем, кто управляет узлами Tor, команда сети советует проверить настройки выхода: злоумышленники в том числе превращали обычные узлы в выходные. Исследователь также рекомендует отказаться от входа по паролю в пользу SSH-ключей.


