Взлом TCP\UDP служб с применением NAT Slipstreaming

3 ноября 2020 г. 11:18
 16541

Новое исследование продемонстрировало методику, позволяющую злоумышленнику обойти защиту брандмауэра и получить удаленный доступ к любому TCP/UDP сервису на машине-жертве.

Новое исследование продемонстрировало методику, позволяющую злоумышленнику обойти защиту брандмауэра и получить удаленный доступ к любому TCP/UDP сервису на машине-жертве.

Этот метод называется «NAT Slipstreaming» и включает в себя отправку цели ссылки на вредоносный сайт, который при посещении в конечном итоге запускает шлюз для открытия любого TCP/UDP-порта на машине жертвы, тем самым обходя установленные  ограничения на порты.

Результаты были раскрыты исследователем в области конфиденциальности и безопасности Сами Камкар на прошлых вызходных.

«NAT Slipstreaming» использует браузер пользователя в сочетании с механизмом отслеживания соединений шлюза прикладного уровня (ALG), встроенным в NAT, маршрутизаторы и брандмауэры, путем цепочки внутреннего извлечения IP через тайминговую атаку или WebRTC, автоматического удаленного обнаружения MTU и фрагментации IP, неправильной аутентификации TURN, точного контроля границ пакетов, и подмены протоколов через взлом браузера» - сказал Камкар в анализе.

Техника была выполнена с использованием маршрутизатора NetGear Nighthawk R7000 под управлением ядра Linux версии 2.6.36.4.

Определение границ пакетов.

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

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

«NAT Slipstreaming» работает используя преимущества TCP и IP сегментации пакетов для удаленной настройки границ пакетов и используя ее для создания TCP/UDP пакета, начиная с SIP метода, такого как REGISTER или INVITE.

SIP (сокращение от Session Initiation Protocol) - это протокол связи, используемый для инициирования, поддержания и завершения мультимедийных сеансов в реальном времени для голосовых, видео и почтовых приложений.

Другими словами, смесь пакетной сегментации и вредоносных SIP запросов в HTTP может быть использована для обмана NAT и открытия произвольных портов для входящих соединений с клиентом.

Для достижения этого большой HTTP POST-запрос посылается с ID и скрытой веб-формой, которая указывает на атакующий сервер с запущенным сниффером пакетов, который используется для захвата размера MTU, размера пакета данных, размеров TCP и IP заголовков и последующей передачи данных о размере обратно клиенту-жертве отдельным POST-запросом.

Более того, атака также эксплуатирует уязвимость функции аутентификации в TURN (Traversal Using Relays around NAT) - протоколе, который используется в сочетании с NAT для передачи данных от любого peer-клиента другому клиенту в сети - для осуществления переполнения пакетов и фрагментации IP-пакетов.

Идея, в двух словах, заключается в том, чтобы переполнить TCP или UDP пакет путем заполнения символами «^» и заставить его разделиться на два так, чтобы пакет данных SIP находился в самом начале границы второго пакета.

Подключение к TCP/UDP через изменение пакета.

На следующем этапе внутренний IP-адрес жертвы извлекается с помощью WebRTC ICE в современных браузерах, таких как Chrome или Firefox, или путем выполнения тайминговой атаки на обычные шлюзы (192.168.*.1, 10.0.0.1 и локальные сети).

«Как только клиент получает размер пакета и внутренний IP-адрес, он создает специальную веб-форму, которая хранит POST-данные до тех пор, пока мы не поверим, что пакет станет фрагментированным. В этот момент к нему добавляется наш SIP-регистр, содержащий внутренний IP-адрес» - отметил Камкар. «Форма подается через Javascript без взаимодействия с пользователем-жертвой».

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

Вооружившись правильной границей пакета, NAT обманывается, думая, что «это легальная регистрация SIP и запрос исходит от клиента SIP на машине жертвы», в конечном итоге заставляя NAT открыть порт в оригинальном пакете, отправленном жертвой.

«Маршрутизатор теперь переадресует любой порт, выбранный злоумышленником, обратно жертве, и все - от простого просмотра веб-сайта» - заявил исследователь.

Полный код подтверждения концепции «NAT Slipstreaming» можно найти здесь.

 

Перевод сделан со статьи: https://thehackernews.com

Системы Информационной Безопасности