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

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

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

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



Наша цель

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

  1. Удаленное выполнение кода (RCE)
  2. Настройте «обратную оболочку»
  3. Устроить хаос…

Во-первых, мы получим RCE на целевой машине для выполнения на ней произвольных команд. Далее мы создадим команду для обратного вызова нашей атакующей машины и настроим Reverse Shell. Мы знаем, что исходящее соединение с целевой машины с гораздо большей вероятностью будет разрешено брандмауэром. После настройки обратной оболочки мы можем…