Да пребудет с вами сила, хабравчане! Меня зовут Кирилл Подсухин, я technical product manager в экосистеме для бизнеса Контур. Я вместе с командой разработал систему двухфакторной аутентификации Контур.ID.
Я часто представляю нашу команду как джедаев, которые борются с ситхами — злоумышленниками, которые пытаются завладеть логинами и паролями сотрудников. Преступники делают это кучей разных способов, а мы, как силы добра, им противостоим. Собственно, о том, какие существуют атаки и как двухфакторная аутентификация помогает нам защитить данные, я и хочу рассказать. Материал будет интересен ИБ-специалистам да и просто всем, кто хочет разобраться в вопросе получше.
Представим, что мы защищаем далёкую-далёкую галактику — стандартную IT-компанию. В ней для удалённой работы используется VPN-сервер, а учётные записи сотрудников хранит Active Directory. Помимо этого есть сервисы, защищённые ADFS аутентификацией, и сервера с доступом по протоколу SSH — достаточно обширный скоуп активов для атаки злоумышленников.
На темной стороне ситхов — вооруженные технологиями специалисты red-team и скрытое оружие — уволенный сотрудник. Расскажу, как мы отражаем нетривиальные атаки ситхов на нашу инфраструктуру.
Скрытая угроза: атака через VPN

Представим, что цель ситхов — сервер VPN. Как они получат доступ к нему? Злоумышленники обнаруживают FTP-сервер с инсталляторами. Именно на нём хранится множество утилит для удалённой работы сотрудников. Среди утилит они замечают VPN-клиент, с помощью которого пользователи подключаются к VPN-серверу для безопасного доступа к ресурсам сети.
Часто бывает, что OpenVPN Connect-клиент опубликован в достаточно старой версии. Такая версия склонна к CVE-2022–3761 — уязвимости для атаки man-in-the-middle в некоторых версиях OpenVPN Connect. Она позволяет перехватывать запросы на загрузку профиля конфигурации, которые содержат учётные данные пользователя.
Чтобы использовать данную уязвимость, злоумышленники устанавливают несанкционированную точку доступа в кофейне неподалеку от офиса компании и ожидают, пока жертва из числа сотрудников подключится к ней. Затем они перехватывают запрос сотрудника на загрузку профиля конфигурации OpenVPN Connect, который содержит учётные данные пользователя.

Получить логин и пароль не составляет труда, и преступник пытается подключиться к VPN. Однако для подключения требуется ввести второй фактор — OTP-код или подтверждение push или звонка. Запрос о подключении с устройства злоумышленника поступает на VPN-сервер. Он в свою очередь отправляет запрос на Radius Proxy, а оттуда — в Active Directory на проверку логина и пароля. Но тут злодея ожидает ловушка: Radius отправляет запрос второго фактора, который злоумышленник подтвердить не может, ведь OTP-код или push-уведомление находится на телефоне сотрудника.

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

После нескольких таких попыток доступ по VPN будет заблокирован. Учётная запись в AD при этом не пострадает, и сотрудник сможет снова спокойно работать. Ему нужно будет сменить пароль, чтобы в будущем никто не смог использовать его креды.
Атака клонов: доступ к ADFS

Потерпев неудачу с VPN, ситхи вновь анализируют возможность атаки на галактику. Теперь они решают напасть через доступное из сети приложение, закрытое аутентификацией ADFS.
ADFS — это система единого входа, подключенная к Active Directory. Она предоставляет аутентификацию в сервисах по протоколам OpenID и SAML.
Злоумышленники подделывают страницу аутентификации, копируя интерфейс. После этого для кражи логина и пароля они прибегают к методам социальной инженерии: подключают тёмную силу, чтобы заставить пользователя ввести учётные данные на фишинговом ресурсе.
Они отправляют сотруднику компании сообщение в Телеграме от имени HR: «Привет! Тебя собираются назначить руководителем стажёрской программы. Посмотри детали, ты готов приступить?». По ссылке сотрудник попадает на поддельную страницу ADFS, где вводит свои логин и пароль. Так преступники получают данные сотрудника, с которыми пытаются подключиться к ADFS. Но и здесь их поджидает ввод второго фактора аутентификации.
В ADFS можно настроить кастомную аутентификацию — добавить сертификаты Х.509 или токены. Но в Контур.ID работает метод аутентификации для ADFS, и его можно выбрать в настройках в качестве второго фактора.

При такой аутентификации после ввода логина и пароля пользователь получает страницу с просьбой ввести второй фактор. ADFS запрашивает OTP-код либо подтверждение push или звонка для проверки двухфакторной аутентификации.

С каждой новой попыткой преступники становятся более коварными и пробуют атаковать 2FA методом push-bombarding. Они отправляют множество запросов подтверждения второго фактора через push-уведомления. Сотрудник компании в замешательстве: один за другим ему приходят пуши, и в любом из них он может случайно нажать «ОК» вместо «Отклонить».
В этом случае Контур.ID не пропустит эти запросы на вход и сообщит админу о попытках войти в аккаунт пользователя. Из личного кабинета можно отправить ip пользователя в бан, после чего он не сможет производить атаку с данного адреса.
Месть ситхов: наступление на SSH

Ситхи привлекают на свою сторону уволенного сотрудника, у которого сохранился приватный ключ для подключения к одному из серверов по SSH. Расчёт понятен: локальную учётку на сервере, как это частенько бывает, не заблокировали. Для них не секрет, что с такого сервера с помощью учётной записи уволенного легко получить доступ к внутренним активам компании.
Здесь мы, как джедаи, регулярно подбираем информацию из AD и удаляем уволенных сотрудников из числа зарегистрированных пользователей. SSH-сервер в этом случае проверяет локально однофакторную аутентификацию.
Далее с помощью PAM Radius через RADIUS Proxy отправляется запрос в API Контур.ID для проверки второго фактора. Если сотрудник уволен, Контур.ID не найдет его в числе зарегистрированных пользователей и предложит зарегистрироваться заново. Подтверждение регистрации придёт на корпоративную почту сотрудника, куда у преступников нет доступа.

Ситхи наносят ответный удар: заход через Microsoft Outlook

Ситхи, казалось, вкладывали всю свою силу в каждую атаку, и нам с трудом удавалось блокировать их нападения своим световым мечом. На этот раз противники решают попробовать последний «торчащий наружу» вариант — почтовый сервер.
Для атаки они используют уязвимость Microsoft Outlook Remote Code Execution CVE-2024-21413. Это уязвимость, с помощью которой можно обойти встроенные средства защиты Outlook от вредоносных ссылок в электронных письмах. Комбинация определённых символов позволяет обойти ограничение безопасности Outlook, и он обратится к удалённому ресурсу злоумышленников за файлом, когда пользователь нажмет на ссылку. При поиске файла передаются учётные данные Net-NTLM, которые злоумышленники и стремятся захватить для получения доступа к почте.
Они используют утилиту, которая формирует вредоносное содержимое и ссылку с приглашением на «встречу». Из-за уязвимости Outlook корректно обработает вредоносное приглашение и обратится к удалённому ресурсу за файлом.

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

Новое устройство получает запрос на регистрацию, который необходимо подтвердить с другого устройства. Так нам снова удается защитить доступ к OWA, защищенной 2FA, и к ActiveSynс.

Заключение
Попытки взлома инфраструктуры, с которыми я сталкивался, — атака на VPN-сервер, копирование интерфейса ADFS, использование данных уволенного сотрудника, — это частые сценарии несанкционированных действий. Конечно, есть и другие, с которыми, думаю, и вам приходилось встречаться.
Расскажите истории из вашего опыта: как злоумышленники пытались похитить ваши логины и пароли. Знаем, что они могут быть креативными: вдруг они притворялись мойщиками окон и заглядывали в мониторы через стекло. Будет интересно услышать сценарии других атак.
Да пребудет с вами сила, хабравчане! Меня зовут Кирилл Подсухин, я technical product manager в экосистеме для бизнеса Контур. Я вместе с командой разработал систему двухфакторной аутентификации Контур.ID.
Я часто представляю нашу команду как джедаев, которые борются с ситхами — злоумышленниками, которые пытаются завладеть логинами и паролями сотрудников. Преступники делают это кучей разных способов, а мы, как силы добра, им противостоим. Собственно, о том, какие существуют атаки и как двухфакторная аутентификация помогает нам защитить данные, я и хочу рассказать. Материал будет интересен ИБ-специалистам да и просто всем, кто хочет разобраться в вопросе получше.
Представим, что мы защищаем далёкую-далёкую галактику — стандартную IT-компанию. В ней для удалённой работы используется VPN-сервер, а учётные записи сотрудников хранит Active Directory. Помимо этого есть сервисы, защищённые ADFS аутентификацией, и сервера с доступом по протоколу SSH — достаточно обширный скоуп активов для атаки злоумышленников.
На темной стороне ситхов — вооруженные технологиями специалисты red-team и скрытое оружие — уволенный сотрудник. Расскажу, как мы отражаем нетривиальные атаки ситхов на нашу инфраструктуру.
Скрытая угроза: атака через VPN

Представим, что цель ситхов — сервер VPN. Как они получат доступ к нему? Злоумышленники обнаруживают FTP-сервер с инсталляторами. Именно на нём хранится множество утилит для удалённой работы сотрудников. Среди утилит они замечают VPN-клиент, с помощью которого пользователи подключаются к VPN-серверу для безопасного доступа к ресурсам сети.
Часто бывает, что OpenVPN Connect-клиент опубликован в достаточно старой версии. Такая версия склонна к CVE-2022–3761 — уязвимости для атаки man-in-the-middle в некоторых версиях OpenVPN Connect. Она позволяет перехватывать запросы на загрузку профиля конфигурации, которые содержат учётные данные пользователя.
Чтобы использовать данную уязвимость, злоумышленники устанавливают несанкционированную точку доступа в кофейне неподалеку от офиса компании и ожидают, пока жертва из числа сотрудников подключится к ней. Затем они перехватывают запрос сотрудника на загрузку профиля конфигурации OpenVPN Connect, который содержит учётные данные пользователя.

Получить логин и пароль не составляет труда, и преступник пытается подключиться к VPN. Однако для подключения требуется ввести второй фактор — OTP-код или подтверждение push или звонка. Запрос о подключении с устройства злоумышленника поступает на VPN-сервер. Он в свою очередь отправляет запрос на Radius Proxy, а оттуда — в Active Directory на проверку логина и пароля. Но тут злодея ожидает ловушка: Radius отправляет запрос второго фактора, который злоумышленник подтвердить не может, ведь OTP-код или push-уведомление находится на телефоне сотрудника.

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

После нескольких таких попыток доступ по VPN будет заблокирован. Учётная запись в AD при этом не пострадает, и сотрудник сможет снова спокойно работать. Ему нужно будет сменить пароль, чтобы в будущем никто не смог использовать его креды.
Атака клонов: доступ к ADFS

Потерпев неудачу с VPN, ситхи вновь анализируют возможность атаки на галактику. Теперь они решают напасть через доступное из сети приложение, закрытое аутентификацией ADFS.
ADFS — это система единого входа, подключенная к Active Directory. Она предоставляет аутентификацию в сервисах по протоколам OpenID и SAML.
Злоумышленники подделывают страницу аутентификации, копируя интерфейс. После этого для кражи логина и пароля они прибегают к методам социальной инженерии: подключают тёмную силу, чтобы заставить пользователя ввести учётные данные на фишинговом ресурсе.
Они отправляют сотруднику компании сообщение в Телеграме от имени HR: «Привет! Тебя собираются назначить руководителем стажёрской программы. Посмотри детали, ты готов приступить?». По ссылке сотрудник попадает на поддельную страницу ADFS, где вводит свои логин и пароль. Так преступники получают данные сотрудника, с которыми пытаются подключиться к ADFS. Но и здесь их поджидает ввод второго фактора аутентификации.
В ADFS можно настроить кастомную аутентификацию — добавить сертификаты Х.509 или токены. Но в Контур.ID работает метод аутентификации для ADFS, и его можно выбрать в настройках в качестве второго фактора.

При такой аутентификации после ввода логина и пароля пользователь получает страницу с просьбой ввести второй фактор. ADFS запрашивает OTP-код либо подтверждение push или звонка для проверки двухфакторной аутентификации.

С каждой новой попыткой преступники становятся более коварными и пробуют атаковать 2FA методом push-bombarding. Они отправляют множество запросов подтверждения второго фактора через push-уведомления. Сотрудник компании в замешательстве: один за другим ему приходят пуши, и в любом из них он может случайно нажать «ОК» вместо «Отклонить».
В этом случае Контур.ID не пропустит эти запросы на вход и сообщит админу о попытках войти в аккаунт пользователя. Из личного кабинета можно отправить ip пользователя в бан, после чего он не сможет производить атаку с данного адреса.
Месть ситхов: наступление на SSH

Ситхи привлекают на свою сторону уволенного сотрудника, у которого сохранился приватный ключ для подключения к одному из серверов по SSH. Расчёт понятен: локальную учётку на сервере, как это частенько бывает, не заблокировали. Для них не секрет, что с такого сервера с помощью учётной записи уволенного легко получить доступ к внутренним активам компании.
Здесь мы, как джедаи, регулярно подбираем информацию из AD и удаляем уволенных сотрудников из числа зарегистрированных пользователей. SSH-сервер в этом случае проверяет локально однофакторную аутентификацию.
Далее с помощью PAM Radius через RADIUS Proxy отправляется запрос в API Контур.ID для проверки второго фактора. Если сотрудник уволен, Контур.ID не найдет его в числе зарегистрированных пользователей и предложит зарегистрироваться заново. Подтверждение регистрации придёт на корпоративную почту сотрудника, куда у преступников нет доступа.

Ситхи наносят ответный удар: заход через Microsoft Outlook

Ситхи, казалось, вкладывали всю свою силу в каждую атаку, и нам с трудом удавалось блокировать их нападения своим световым мечом. На этот раз противники решают попробовать последний «торчащий наружу» вариант — почтовый сервер.
Для атаки они используют уязвимость Microsoft Outlook Remote Code Execution CVE-2024-21413. Это уязвимость, с помощью которой можно обойти встроенные средства защиты Outlook от вредоносных ссылок в электронных письмах. Комбинация определённых символов позволяет обойти ограничение безопасности Outlook, и он обратится к удалённому ресурсу злоумышленников за файлом, когда пользователь нажмет на ссылку. При поиске файла передаются учётные данные Net-NTLM, которые злоумышленники и стремятся захватить для получения доступа к почте.
Они используют утилиту, которая формирует вредоносное содержимое и ссылку с приглашением на «встречу». Из-за уязвимости Outlook корректно обработает вредоносное приглашение и обратится к удалённому ресурсу за файлом.

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

Новое устройство получает запрос на регистрацию, который необходимо подтвердить с другого устройства. Так нам снова удается защитить доступ к OWA, защищенной 2FA, и к ActiveSynс.

Заключение
Попытки взлома инфраструктуры, с которыми я сталкивался, — атака на VPN-сервер, копирование интерфейса ADFS, использование данных уволенного сотрудника, — это частые сценарии несанкционированных действий. Конечно, есть и другие, с которыми, думаю, и вам приходилось встречаться.
Расскажите истории из вашего опыта: как злоумышленники пытались похитить ваши логины и пароли. Знаем, что они могут быть креативными: вдруг они притворялись мойщиками окон и заглядывали в мониторы через стекло. Будет интересно услышать сценарии других атак.
johnfound
Очень по джедайски – наносим добро, не считаясь с мнением доброполучателя. Мы лучше его знаем что для него хорошо.