Как киберпреступники используют легальные сервисы туннелирования

Облачные сервисы туннелирования трафика становятся всё более популярными. Их используют для того, чтобы быстро организовать подключение через интернет к устройствам в домашней сети или в сети предприятия. Простота и удобство облачных туннелей сделали их популярными не только у легальных пользователей, но и у киберпреступников: с помощью туннелей те скрывают своё реальное местонахождение и быстро разворачивают вредоносные ресурсы, не вкладываясь в создание постоянной онлайн-инфраструктуры. В этой статье эксперты компании Trend Micro рассказывают, как работают облачные сервисы туннелирования, для чего их используют хакеры и как можно защититься от их действий.

Как работает облачный сервис туннелирования

Допустим, внутри некоторой домашней сети имеется сервер системы видеонаблюдения, владелец которой хочет видеть изображение с камер через интернет. Это не так просто: сеть подключена к интернету с помощью маршрутизатора, поэтому все устройства внутри сети не видны снаружи. Организовать доступ к просмотру камер можно несколькими способами, например, настроить трансляцию сетевых адресов (NAT) на маршрутизаторе так, чтобы при подключении к порту 9000 на маршрутизаторе трафик направлялся на сервер видеонаблюдения внутри сети. В целом, задача решена, но такой способ имеет недостатки:

  • как правило, домашние интернет-подключения не имеют постоянного IP-адреса, поэтому каждый раз придётся выяснять, какой адрес получил маршрутизатор. Эта проблема также решаема, но требует дополнительных знаний и усилий;
  • нужно разбираться в настройках маршрутизатора, чтобы правильно настроить доступ внутрь локальной сети из интернета;
  • нужно иметь административный доступ к управлению маршрутизатора.

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

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

Серверная часть выделяет доменное имя для подключения. Весь трафик на это доменное имя будет переадресовываться внутрь локальной сети по туннелю между клиентской и серверной частью сервиса.

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

Где используют облачные туннели

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

В некоторых регионах Азии туннелирование используют предприятия электронной коммерции. Хороший пример — веб-панель для административного доступа к Wi-Fi-автоматам для продажи поминутного доступа в интернет на Филиппинах. Управление этими автоматами производится локально, но поскольку это они установлены в разных местах, администраторы упростили себе задачу при помощи туннелирования.

Способы вредоносного использования ngrok и аналогов

В процессе изучения сервисов облачного туннелирования специалисты Trend Micro выяснили, что самым популярным сервисом туннелирования является ngrok: на него приходится 99% HTTP-трафика. Кроме него были изучены сервисы localhost.run, PageKite, Localtunnel, Serveo и Packetriot. Они работают аналогично ngrok и также могут быть использованы злоумышленниками.

На примере ngrok рассмотрим, как преступники злоупотребляют легальными сервисами для создания туннелей. Чтобы не быть обнаруженными, киберпреступники скрывают свои истинные IP-адреса. Для этого они могут воспользоваться как туннелями ngrok, так и сетью Tor. Однако разница между ngrok и Torсостоит в том, что ngrok-туннели доступны для обычных интернет-пользователей, в то время как сервисы, туннелированные через Tor, доступны только внутри Tor.

Злоупотребление услугами облачного туннелирования можно разделить на две категории: внутренние угрозы и внешние угрозы. Внутренние угрозы обычно возникают, когда облачный туннель используется на заражённом компьютере для предоставления доступа к внутренним службам: SMB, FTP и HTTP — в то время как внешние угрозы представляют собой более типичные для кибератак действия: фишинг, загрузку вредоносных файлов и управление вредоносным ПО через сеть облачных туннелей.

Внутренние угрозы

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

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

В 2020 году эксперты Trend Micro обнаружили атаку, в которой ngrok-туннель использовался для доступа к SMB-порту внутреннего сервера компании. Злоумышленник с помощью инструмента SMBExec запустил командную строку Windows на компьютере с туннелем, после чего скачал и запустил кейлоггер.

Внешние угрозы

Хотя облачные туннельные службы могут использоваться для обхода правил межсетевого экрана, установленных сетевыми администраторами, гораздо чаще киберпреступники используют для передачи трафика вредоносных программ или для размещения фишинговых веб-сайтов. Вредоносное ПО, требующее связи с управляющим сервером, использует облачные туннели из-за простоты создания инфраструктуры. А при использовании платных тарифов ngrok злоумышленники могут скрыть свои настоящие IP-адреса с помощью зарезервированных поддоменов. Таким образом они могут избежать раскрытия личности при регистрации доменов в ходе OSINT-расследований.

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

Меры защиты

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

  • Ограничьте доступ пользователей к сервисам облачного туннелирования. Возможность создать туннель должна остаться только у тех, кому это требуется для выполнения работы. Для крупных организаций с точки зрения безопасности лучше запретить сотрудникам использовать облачные туннели для доступа к внутренним службам из интернета, а для подключения к внутренней сети использовать виртуальную частную сеть (VPN).
  • Создайте фильтры приложений. Добавьте в политики домена запрет на запуск исполняемых файлов клиентов туннельных сервисов, чтобы минимизировать риск их непреднамеренного использования.
  • Заблокируйте IP-адреса служб облачного туннелирования. Заблокируйте на межсетевом экране исходящие соединения к IP-адресам ngrok и других подобных сервисов.
  • Заблокируйте трафик служб облачного туннелирования. Риск успешной попытки фишинга или передачи вредоносного ПО может быть снижен путём блокировки HTTP- и TCP-соединений от облачных туннельных служб. В случае с ngrok это может быть достигнуто созданием предупреждений или блокировки:
  1. DNS-запросов к *.ngrok.io;
  2. HTTPS TLS соединений к *.ngrok.io.

Заключение

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

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