Подпишитесь, чтобы получать уведомления о новых публикациях:

Механика изощренного фишингового мошенничества: как нам удалось его предотвратить

09.08.2022

9 мин. чтения
The mechanics of a sophisticated phishing scam and how we stopped it

Вчера, 8 августа 2022 года, компания Twilio сообщила, что она подверглась целевой фишинговой атаке. Примерно в то же время, когда была атакована Twilio, мы наблюдали атаку с очень похожими характеристиками, направленную также на сотрудников Cloudflare. Несмотря на то, что отдельные сотрудники «клюнули» на фишинговые сообщения, мы смогли предотвратить атаку с помощью собственных продуктов Cloudflare One и благодаря физическим ключам безопасности, выдаваемым каждому сотруднику, которые необходимы для доступа ко всем нашим приложениям.

Мы подтвердили, что ни одна из систем Cloudflare не была скомпрометирована. Наша команда Cloudforce One по сбору и анализу информации об угрозах смогла провести дополнительный анализ, чтобы более углубленно проанализировать механизм атаки и собрать важные доказательства для помощи в отслеживании злоумышленника.

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

Целевые текстовые сообщения

20 июля 2022 года команда безопасности Cloudflare получила сообщения о том, что сотрудники получают выглядящие легитимными текстовые сообщения, ведущие на якобы страницу входа в Cloudflare Okta. Сообщения начали поступать 20.07.2022 в 22:50 UTC. В течение менее одной минуты по меньшей мере 76 сотрудников получили текстовые сообщения на свои личные и рабочие телефоны. Некоторые сообщения были также отправлены членам семей сотрудников. Мы пока не смогли определить, как злоумышленнику удалось собрать список телефонных номеров сотрудников, но проверили журналы доступа к нашим службам каталогов сотрудников и не обнаружили никаких признаков компрометации.

Cloudflare имеет группу реагирования на инциденты безопасности (SIRT — от англ. Security Incident Response Team), работающую в режиме 24x7. Каждый сотрудник Cloudflare проинструктирован сообщать обо всех подозрительных действиях в SIRT. Более 90 процентов сообщений, поступающих в SIRT, на деле оказываются не связанными с настоящими угрозами. Тем не менее, сотрудников поощряют сообщать обо всем, что им кажется подозрительным, и чрезмерное информирование никогда не является причиной неодобрения. Однако в данном случае сообщения в SIRT относились к реальной угрозе.

Текстовые сообщения, полученные сотрудниками, выглядели следующим образом:

Они поступили с четырех телефонных номеров, привязанных к СИМ-картам, выпущенным T-Mobile: (754) 268-9387, (205) 946-7573, (754) 364-6683 и (561) 524-5989. Текстовые сообщения включали официально выглядящий домен: cloudflare-okta.com. Этот домен был зарегистрирован через Porkbun, регистратор доменов, 20.07.2022 в 22:13:04 UTC — менее чем за 40 минут до начала фишинговой кампании.

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

Нажимая на ссылку, пользователь попадал на фишинговую страницу. Фишинговая страница была размещена на DigitalOcean и выглядела следующим образом:

Cloudflare использует Okta в качестве нашего сервиса авторизации. Фишинговая страница была разработана таким образом, чтобы выглядеть идентично легитимной странице входа в Okta. Фишинговая страница запрашивала имя пользователя и пароль у каждого посещающего ее пользователя.

Фишинг в режиме реального времени

Мы смогли проанализировать код фишинговой атаки, основываясь на данных, полученных нашими сотрудниками, а также на контенте атаки, размещенном в таких сервисах, как VirusTotal, другими компаниями, подвергшимися атаке. После того как фишинговая страница заполнялась жертвой, учетные данные немедленно передавались злоумышленнику через службу обмена сообщениями Telegram. Эта передача в реальном времени имела важное значение, поскольку фишинговая страница также запрашивала код одноразового пароля с ограниченным сроком действия (TOTP — от англ. Time-based One Time Password).

Предположительно, злоумышленник получал учетные данные в режиме реального времени, вводил их на реальной странице входа в систему компании-жертвы, и для многих организаций это действие инициировало генерирование кода, отправляемого сотруднику через SMS или отображаемого в генераторе паролей. Затем сотрудник вводил код TOTP на фишинговом сайте, и он также передавался злоумышленнику. Затем, до истечения срока действия кода TOTP, злоумышленник мог использовать его для доступа к реальной странице входа в систему компании, что позволяло обойти большинство систем двухфакторной аутентификации.

Обеспечение защиты, даже если она не является совершенной

Мы подтвердили, что трое сотрудников Cloudflare попались на фишинговое сообщение и ввели свои учетные данные. Однако Cloudflare не использует коды TOTP. Вместо этого каждому сотруднику компании выдается ключ безопасности, соответствующий FIDO2, от такого поставщика, как, в частности, YubiKey. Поскольку аппаратные ключи привязаны к пользователям и реализуют привязку к источнику, даже такая изощренная фишинговая операция в режиме реального времени не может обеспечить сбор информации, необходимой для входа в любую из наших систем. Хотя злоумышленник попытался войти в наши системы, используя скомпрометированные данные имени пользователя и пароля, он не смог пройти проверку на основе аппаратного ключа.

Но эта фишинговая страница была создана не просто для получения учетных данных и кодов TOTP. Если тот или иной пользователь проходил эти этапы, фишинговая страница затем инициировала загрузку фишингового вредоносного кода, который включал программное обеспечение удаленного доступа AnyDesk. Это программное обеспечение, если оно установлено, позволит злоумышленнику удаленно управлять компьютером жертвы. Мы подтвердили, что никто из членов нашей команды не дошел до этого этапа. Однако, даже если бы кому-либо из них это удалось, наша система безопасности конечных точек остановила бы установку программного обеспечения для удаленного доступа.

Как мы отреагировали?

Ниже перечислены основные меры реагирования, которые мы предприняли в связи с этим инцидентом:

1. Блокировка фишингового домена с помощью Cloudflare Gateway

Cloudflare Gateway — это защищенный веб-шлюз, решение, обеспечивающее защиту от угроз и данных с помощью фильтрации DNS / HTTP и нативно интегрированной функции Zero Trust. Мы используем это решение внутри компании для превентивного выявления вредоносных доменов и их блокировки. Наша команда добавила вредоносный домен в Cloudflare Gateway, чтобы заблокировать доступ к нему для всех сотрудников.

Автоматическое обнаружение вредоносных доменов с помощью Gateway также позволило идентифицировать домен и заблокировать его, но тот факт, что домен был зарегистрирован и сообщения были отправлены в течение такого короткого промежутка времени, означал, что система не предприняла автоматических действий до того, как некоторые сотрудники перешли по ссылкам. Учитывая этот инцидент, мы работаем над тем, чтобы ускорить идентификацию и блокировку вредоносных доменов. Мы также внедряем средства контроля доступа к недавно зарегистрированным доменам, которые мы предлагаем клиентам, но не внедрили сами.

2. Определение всех затронутых сотрудников Cloudflare и сброс скомпрометированных учетных данных

Мы смогли сравнить получателей фишинговых сообщений с действиями при входе в систему и выявить попытки злоумышленников пройти аутентификацию в учетных записях наших сотрудников. Мы идентифицировали попытки входа в систему, заблокированные на основе требований к наличию аппаратного ключа (U2F), указывающие на то, что был использован правильный пароль, но второй фактор не прошел проверку. В связи с утечкой учетных данных трех наших сотрудников мы сбросили их учетные данные и все активные сеансы, и инициировали сканирование их устройств.

3. Выявление и устранение инфраструктуры злоумышленника

Фишинговый домен злоумышленника был недавно зарегистрирован через Porkbun и размещен на DigitalOcean. Фишинговый домен, использованный для атаки на Cloudflare, был создан менее чем за час до начала первой волны фишинговой атаки. Сайт имел клиентскую часть на Nuxt.js, а серверную часть — на Django. Мы работали с DigitalOcean над отключением сервера злоумышленника. Мы также сотрудничали с компанией Porkbun, чтобы взять под контроль вредоносный домен.

По неудачным попыткам входа в систему мы смогли определить, что злоумышленник воспользовался программным обеспечением Mullvad VPN и очевидно использовал браузер Google Chrome на компьютере с Windows 10. Злоумышленник использовал следующие IP-адреса VPN: 198.54.132.88 и 198.54.135.222. Эти IP-адреса присвоены Tzulo, американскому поставщику выделенных серверов, при этом согласно информации, представленной на их веб-сайте, у них имеются серверы, расположенные в Лос-Анджелесе и Чикаго. На самом же деле оказалось, что первый IP-адрес фактически работал на сервере в районе Торонто, а второй — на сервере в районе Вашингтона, округ Колумбия. Мы заблокировали для этих IP-адресов доступ к любым нашим сервисам.

4. Обновление обнаружений для выявления последующих попыток атаки

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

5. Аудит журналов доступа к сервисам для выявления дополнительных признаков атаки

После атаки мы проверили все наши журналы системы на наличие каких-либо дополнительных цифровых отпечатков этого конкретного злоумышленника. Поскольку Cloudflare Access служит центральной точкой управления для всех приложений Cloudflare, мы можем искать в журналах любые признаки взлома злоумышленником каких-либо систем. Учитывая, что объектом атаки стали телефоны сотрудников, мы также тщательно проверили журналы наших поставщиков каталогов сотрудников. Мы не нашли никаких доказательств компрометации.

Извлеченные уроки и дополнительные шаги, которые мы предпринимаем

Мы извлекаем уроки из каждой атаки. Несмотря на то, что злоумышленник не добился успеха, мы вносим дополнительные коррективы на основе полученных сведений. Мы корректируем настройки Cloudflare Gateway, чтобы ограничить или изолировать доступ к сайтам, работающим на доменах, которые были зарегистрированы в течение последних 24 часов. Мы также будем запускать любые сайты, находящиеся в списке запрещенных сайтов, содержащие такие термины, как “cloudflare”, “okta”, “sso” и “2fa”, с помощью нашей технологии изоляции браузера. Кроме того, мы все чаще используем технологию идентификации фишинга Cloudflare Area 1 для сканирования Интернета и поиска любых страниц, нацеленных на Cloudflare. Наконец, мы ужесточаем нашу реализацию Access, чтобы предотвратить любые входы в систему из неизвестных VPN, резидентных прокси-серверов и поставщиков инфраструктуры. Все это на основе тех же стандартных функций, которые мы предлагаем клиентам.

Атака также подчеркнула важность трех аспектов, которые мы успешно реализуем. Первый аспект — требование аппаратных ключей для доступа ко всем приложениям. Как и в Google, мы не наблюдали успешных фишинговых атак с момента развертывания аппаратных ключей. Такие инструменты, как Cloudflare Access, упростили поддержку аппаратных ключей даже в устаревших приложениях. Если вы представляете организацию, которая хотела бы получить дополнительную информацию по внедрению нами аппаратных ключей, вы можете обратиться по адресу [email protected], и наш отдел ИБ будет рад поделиться практическими рекомендациями, разработанными нами на основании этого процесса.

Второй аспект — использование собственной технологии Cloudflare для защиты наших сотрудников и систем. Решения Cloudflare One, такие как Access и Gateway, имели решающее значение для предотвращения этой атаки. Мы настроили нашу реализацию Access так, чтобы для каждого приложения требовались аппаратные ключи. Также в рамках этой реализации создается центральная локация журналирования для всех аутентификаций приложения. И, при необходимости, место, из которого мы можем прекратить сеансы потенциально скомпрометированного сотрудника. Gateway позволяет нам быстро закрывать вредоносные сайты, подобные этому, и понимать, какие сотрудники могли подвергнуться атаке. Все вышеперечисленные функциональные возможности представляются нами клиентам Cloudflare в составе пакета Cloudflare One, и эта атака демонстрирует их высокую эффективность.

Третий аспект — «сверхподозрительная», но при этом не связанная с порицанием культура имеет критическую важность для обеспечения безопасности. Трое сотрудников, попавшихся на фишинговую «удочку», не получили выговоров. Мы все люди, и мы совершаем ошибки. При этом крайне важно, что когда это с нами происходит, мы сообщали об ошибках и не скрывали их. Этот инцидент стал еще одним примером того, почему безопасность является частью работы каждого члена команды Cloudflare.

Подробная хронология событий

2022-07-20 22:49 UTC Злоумышленник отправил более 100 SMS-сообщений сотрудникам Cloudflare и их семьям.
2022-07-20 22:50 UTC Сотрудники начали сообщать о SMS-сообщениях в службу безопасности Cloudflare.
2022-07-20 22:52 UTC Проверка блокировки домена злоумышленника в Cloudflare Gateway для корпоративных устройств.
2022-07-20 22:58 UTC Предупреждающее сообщение отправлено всем сотрудникам через чат и электронную почту.
2022-07-20 22:50 UTC to
2022-07-20 23:26 UTC
Мониторинг телеметрии в журнале системы Okta и журналах HTTP Cloudflare Gateway с целью обнаружения компрометации учетных данных. Очистка сеансов входа и приостановка учетных записей при обнаружении.
2022-07-20 23:26 UTC Фишинговый сайт удален провайдером хостинга.
2022-07-20 23:37 UTC Сброс скомпрометированных учетных данных сотрудников.
2022-07-21 00:15 UTC Глубокий анализ инфраструктуры и возможностей злоумышленника.

Индикаторы компрометации

Значение Тип Контекст и сопоставление MITRE
cloudflare-okta[.]com с размещением на 147[.]182[.]132[.]52 Фишинговый URL-адрес T1566.002: Фишинг: целевая фишинговая ссылка, отправленная пользователям.
64547b7a4a9de8af79ff0eefadde2aed10c17f9d8f9a2465c0110c848d85317a SHA-256 T1219: Программное обеспечение для удаленного доступа, распространяемое злоумышленником

Что вы можете предпринять

Если вы наблюдаете подобные атаки в своей среде, вы можете обратиться по адресу [email protected], и мы будем рады поделиться практическими рекомендациями по обеспечению безопасности вашего бизнеса. Если же вам интересно узнать больше о том, как мы внедрили ключи безопасности, ознакомьтесь с нашей публикацией в блоге или обратитесь по адресу: [email protected].

Возможно, вы хотите работать вместе с нами над обнаружением и нейтрализацией следующих атак? Мы набираем команду по обнаружению и реагированию. Присоединяйтесь к нам!

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

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

Чтобы узнать больше о нашей миссии, которая состоит в том, чтобы способствовать развитию и совершенствованию Интернета, начните здесь. Если вы ищете новое направление для развития своей карьеры, ознакомьтесь с нашими открытыми позициями.
Post Mortem (RU)Security (RU)Phishing (RU)PусскийCloudflare Access (RU)Cloudflare Gateway (RU)

Подписаться на X

Matthew Prince|@eastdakota
Daniel Stinson-Diess|@shellcromancer
Cloudflare|@cloudflare