Веб -оболочка — это интерфейс, подобный оболочке , который позволяет осуществлять удаленный доступ к веб-серверу , часто в целях кибератак . [1] Веб-оболочка уникальна тем, что для взаимодействия с ней используется веб-браузер . [2] [3]
Веб-оболочка может быть запрограммирована на любом языке программирования , поддерживаемом на сервере. Веб-оболочки чаще всего пишутся на PHP из-за широкого использования PHP для веб-приложений . Хотя также используются Active Server Pages , ASP.NET , Python , Perl , Ruby и скрипты оболочки Unix . [1] [2] [3]
Используя инструменты сетевого мониторинга , злоумышленник может обнаружить уязвимости , которые потенциально могут позволить доставку веб-шелла. Эти уязвимости часто присутствуют в приложениях, которые работают на веб-сервере. [2]
Злоумышленник может использовать веб-оболочку для выдачи команд оболочки, выполнения повышения привилегий на веб-сервере и возможности загружать , удалять , скачивать и выполнять файлы на веб-сервере и с него. [2]
Веб-шеллы используются в атаках в основном потому, что они многоцелевые и их трудно обнаружить. [4] Они обычно используются для:
Веб-шеллы дают хакерам возможность красть информацию, портить данные и загружать вредоносные программы , которые наносят больший ущерб системе. Проблема все больше обостряется, когда хакеры используют скомпрометированные серверы для проникновения в систему и подвергают риску дополнительные машины. Веб-шеллы также являются способом, с помощью которого злоумышленники нацеливаются на различные отрасли, включая правительственные, финансовые и оборонные, посредством кибершпионажа. Один из очень известных веб-шеллов, используемых таким образом, известен как « China Chopper ». [6]
Веб-оболочки устанавливаются через уязвимости в веб-приложениях или слабую конфигурацию безопасности сервера, включая следующие: [2] [4]
Злоумышленник также может изменить ( подделать ) Content-Type
заголовок, отправляемый злоумышленником при загрузке файла, чтобы обойти ненадлежащую проверку файла (проверку с использованием типа MIME, отправленного клиентом), что приведет к успешной загрузке оболочки злоумышленника.
Ниже приведен простой пример веб-оболочки, написанной на PHP, которая выполняет и выводит результат команды оболочки:
<?= `$_GET[x]` ?>
Предположим, что имя файла — example.php
, пример вывода содержимого файла /etc/passwd
показан ниже:
https://example.com/example.php?x=cat%20%2Fetc%2Fpasswd
Приведенный выше запрос примет значение параметра x
строки запроса , отправив следующую команду оболочки:
кот /etc/passwd
Этого можно было бы избежать, если бы функции оболочки PHP были отключены, чтобы произвольные команды оболочки не могли быть выполнены из PHP.
Веб-оболочка обычно устанавливается с использованием уязвимостей, присутствующих в программном обеспечении веб-сервера. Вот почему удаление этих уязвимостей важно для предотвращения потенциального риска компрометации веб-сервера.
Ниже приведены меры безопасности для предотвращения установки веб-оболочки: [2] [3]
Веб-оболочки можно легко модифицировать, поэтому обнаружить веб-оболочки непросто, а антивирусное программное обеспечение часто не способно обнаружить веб-оболочки. [2] [9]
Ниже приведены общие признаки того, что на веб-сервере присутствует веб-оболочка: [2] [3]
cmd.exe
или eval
;Например, файл, генерирующий подозрительный трафик (например, файл PNG , запрашивающий параметры POST ). [2] [10] [11] [12] Сомнительные входы с серверов DMZ во внутренние подсети и наоборот. [2]
Веб-оболочки также могут содержать форму входа, которая часто замаскирована под страницу ошибки . [2] [13] [14] [15]
Используя веб-оболочки, злоумышленники могут изменять файл .htaccess (на серверах, на которых запущено программное обеспечение Apache HTTP Server ) на веб-серверах для перенаправления запросов поисковой системы на веб-страницу с вредоносным ПО или спамом . Часто веб-оболочки определяют user-agent , и контент, представленный поисковому роботу, отличается от того, который представлен браузеру пользователя. Чтобы найти веб-оболочку, обычно требуется смена user-agent поискового робота. После того, как веб-оболочка идентифицирована, ее можно легко удалить. [2]
Анализ журнала веб-сервера может указать точное местоположение веб-оболочки. У законных пользователей/посетителей обычно разные user-agent и referers , с другой стороны, веб-оболочка обычно посещается только злоумышленником, поэтому имеет очень мало вариантов строк user-agent. [2]
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка )