Что такое веб-шелл (web shell)?

Веб-шелл (web shell) — это вредоносный сценарий, который позволяет злоумышленнику удаленный доступ к целевой системе в виде командной строки. Однако веб-шелл (web shell) не подходит для первого этапа атаки. Веб-шелл используется только тогда, когда веб-приложение/сервер уже скомпрометировано.

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

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

Webshell используется для целенаправленной атаки на отдельные серверы, которые являются слабым местом всей инфраструктуры во многих компаниях — особенно при отсутствии постоянной поддержки со стороны эксперта по ИТ-безопасности.

Чтобы понять, как работает Webshell, необходимо немного базовых знаний. Веб-приложения разрабатываются на так называемых языках сценариев, таких как Python или PHP. Уязвимости в этих приложениях позволяют выполнять произвольный код.

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

Веб-шелл — это виртуальная командная строка. Это позволяет вам получать доступ к файлам внутри приложения и выполнять системные команды. Вкратце: все разрешения, которые есть у веб-сервера, есть и у веб-оболочки.

И именно этот факт делает нападения чрезвычайно опасными. Это можно увидеть, например, в случае уязвимости безопасности Exchange, которая классифицируется как критическая.

Трудно обнаружить

Еще несколько лет назад веб-оболочки представляли собой простые HTML-формы. Они отправляли команды веб-серверу, который их выполнял. Сегодня это выглядит иначе.

Веб-шеллы превратились в модульные комплекты, которые обычно состоят из двух компонентов: блока управления на компьютере хакера и закодированной части на сервере. Команды управления сложным образом зашифрованы, поэтому само управление замаскировано.

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

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

ОБЗОР ВЕБ-ОБОЛОЧЕК

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

Reverse-Shell: в оболочке Reverse-Shell прослушиватель запускается на компьютере злоумышленника, а целевой хост подключается обратно к злоумышленнику. Это устраняет проблемы, упомянутые с оболочкой Bind Shell. С другой стороны, целевой хост должен иметь IP-адрес злоумышленника, иначе соединение невозможно будет установить.

Double Reverse-Shell: это обратная оболочка, разделяющая стандартные входные и выходные каналы. Таким образом, на одном и том же порту у злоумышленника создаются два соединения.

Encrypted Shell: в отличие от других представленных оболочек, Encrypted Shell является единственной, в которой связь остается скрытой. И поэтому невозможно понять, что планирует злоумышленник. Шифрование работает с Bind Shell или Reverse-Shell с использованием SSL/TLS.

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

Веб-оболочка, как и оболочка Bind Shell, доступна третьим лицам, если она не защищена от этого аутентификацией в виде пароля, специального HTTP-заголовка или других параметров.

КАК НАЙТИ ПОДХОДЯЩУЮ ВЕБ-ОБОЛОЧКУ?

Технологически веб-оболочка должна подходить под нужный хост. Тип веб-сервера и соответствующие технологии должны быть определены на этапе разведки.

Веб-оболочки, написанные на PHP, очень популярны и поэтому часто используются, поскольку сам PHP широко используется, а также потому, что распространенные системы управления контентом также написаны на PHP.

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

Веб-шеллы: всегда хорошо замаскированы.

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

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

Брандмауэры веб-приложений (WAP). Они анализируют HTTP-вызовы и разрешают его только в том случае, если он соответствует стандарту протокола. Если это не так, брандмауэр блокирует доступ и, таким образом, предотвращает необнаруженное внедрение вредоносного кода. Здесь также правильное управление брандмауэром является основой долгосрочной безопасности.

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

Регулярный анализ поведения пользователей (UЕBA).

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

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

Эпилог

Веб-оболочка — очень полезный инструмент на этапе после эксплуатации, позволяющий поддерживать постоянный доступ к хосту без необходимости каждый раз повторно применять эксплойт. Чтобы предотвратить доступ третьих лиц, рекомендуется использовать один из описанных методов аутентификации.

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

Компания Mainton - разработка и тестирование программного обеспечения под заказ, SEO и реклама в интернете с 2004 года.

ПЕНТЕСТ БЕЗОПАСНОСТЬ ВЗЛОМАЛИ? МОНИТОРИНГ СТАТЬИ ВАКАНСИИ