На сколько сложно проникнуть на ваш сайт или сервер?

Сегодня я хочу продемонстрировать, насколько легко бывает получить полный доступ к вашему сайту или серверу.

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

И так, на видео Мекан Байрыев демонстрирует то, как имея только IP-адрес сервера можно легко получить полный доступ к нему. Как и видео, данная статья создана для демонстрации и предостережения, что вопросы кибербезопасности очень важны и не стоит ими пренебрегать.

Видео изначально не предназначено для людей, далеких от информационной безопасности и в целом от ИТ и эту статью я решил написать как раз для того, чтобы попытаться простыми словами объяснить что на нём происходит. Вы можете сначала посмотреть видео, а потом дочитать статью. Или же параллельно смотреть видео и читать статью. Ну что, поехали?

Часть 1. Исследование

  • На площадке HackTheBox всё начинается с получения IP-адреса сервера. В реальности это также мог быть сервер с вашим сайтом, сервер с ПО, предназначенным для использования внутри компании (например, 1С), или даже ваш рабочий компьютер.
  • Имея IP-адрес, можно просканировать сервер на наличие открытых портов с помощью программы nmap. Открытый порт на сервере — это что-то вроде открытого окошка, через которое с этим сервером можно взаимодействовать извне. Например, порт 80 — через него в браузере открывается ваш сайт, а порт 22 — через него можно подключиться к серверу и управлять им.
  • Во время сканирования портов также был найден домен devvortex.htb. Не зная этого домена, мы бы не смогли зайти на сайт для дальнейшего исследования.
  • С помощью программы gobuster происходит поиск доступных директорий. Данным действием можно, например, найти путь к панели администратора или к папке .git (в этой папке хранятся исходные коды вашего сайта, доступ к которой должен быть закрыт, но иногда он оказывается открытым!).
  • Далее с помощью ffuf подбираются поддомены. Как и в случае с директориями, можно найти поддомены, которые не предназначены для публичного использования. Что и произошло — был найден поддомен dev, который открывает установленную CMS Joomla. Уже есть с чем работать! Joomla в данном случае лишь условность, на её месте может быть абсолютно любое приложение.

Часть 2. Получение доступа к серверу

  • Теперь, зная, что это Joomla, пытаемся перебрать самые очевидные пароли для входа в админпанель. Судя по домену (dev), это тестовая версия, и вероятность того, что на тестовой версии установлен лёгкий пароль или пароль по умолчанию, крайне высока. Это случается потому, что люди не подозревают, что их тестовые поддомены могут быть найдены.
  • Подобрать пароль не удалось, поэтому следующим шагом идём искать известные уязвимости в базе CVE. CVE — это база данных общеизвестных уязвимостей информационной безопасности.
  • Уязвимость найдена! Проверяем версию нашей Joomla — совпадает. Используем её!
  • Всё сработало, у нас есть логин и пароль. Но пока мы не знаем, к чему они подходят. Пробуем подключиться через терминал — неудача. Пробуем войти в админпанель — успех! Но просто попасть в админпанель CMS ещё ничего не даёт.
  • Далее используем возможность через админпанель Joomla внедрить и исполнить свой код. Код успешно исполняется, что позволяет подключиться через терминал. Упрощаем себе работу (до 7:58). В результате мы имеем подключение к серверу и можем им управлять, но с ограниченными правами текущего пользователя. Теперь нужно получить права суперпользователя.

Часть 3. Получение прав суперпользователя

  • Когда мы получили доступ к серверу, пусть даже ограниченный, мы уже можем читать файлы и конфигурации, подключаться к базе данных, сливать данные, внедрять вредоносное ПО и многое другое. На этом этапе я завершу рассказ, потому что всё остальное — дело техники. В итоге права суперпользователя будут получены.

Заключение

Вот так, имея в начале всего лишь IP-адрес сервера, удалось получить полный доступ к машине. Теперь это позволяет: украсть все ваши данные или уничтожить их, использовать сервер для атаки на другие серверы или «подбросить» компромат, установить майнер и добывать криптовалюту за ваш счёт. Не игнорируйте вопросы кибербезопасности и уделяйте им внимание!

Ключевым фактором, который сильно упростил задачу, стала устаревшая версия CMS Joomla, в которой давно была обнаружена критическая уязвимость. Всё ещё пренебрегаете установкой обновлений? Тогда хакеры идут к вам!

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

Спасибо за внимание!

реклама
разместить
Начать дискуссию