Preloader
Производитель
Решение
новости
Дистрибуция решений по кибер-безопасности, развитию и оптимизации ИТ-технологий для организаций любого масштаба
Oberig IT держит руку на пульсе ИТ-мира и предлагает самые актуальные новости по кибер-безопасности
26 июля, 2022

Spring опережает противников

Подробности

Если эксплойта Log4Shell было недостаточно, недавно была определена новая уязвимость нулевого дня, Spring4Shell, также известная как CVE-2022-22965. Подобно Log4Shell, этот новый эксплойт может получить контроль над компьютером-жертвой в течение нескольких секунд, используя простые HTTP-запросы.

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

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

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

Предыстория Spring4Shell

Данная уязвимость в Tomcat позволяет злоумышленнику использовать гибкие конфигурации Java/spring для получения доступа к приложению с помощью веб-оболочки. В этих уязвимых приложениях платформа spring позволяет злоумышленнику задавать значения определенных свойств класса с помощью HTTP-запросов.
В качестве примера, следующий запрос изменит значение свойства ‘name’ основного класса приложения на ‘XXX’.
• GET /?name=XXX
Аналогично, следующий запрос позволяет изменить значение другого свойства в другом классе.
• GET /?class.<ANY CLASS>.<ANY PROPERTY>=<ANY VALUE>

Эта атака манипулирует свойствами журналов tomcat Access для создания нового файла журнала, который будет исполняемой веб-оболочкой.
Полезные данные заражения включают три HTTP-запроса, которые вносят набор изменений для создания нового URL-адреса с интерактивной оболочкой. Этот URL-адрес теперь можно использовать для выполнения команд на компьютере жертвы.

Этапы атаки

В этом блоге вам покажут следующие шаги атаки:
a. Рекогносцировка – определение уязвимости жертвы
b. Заражение – выполнение атаки Spring4Shell
c. Управление машиной и получение данных

Рекогносцировка – определение того, является ли предполагаемая жертва уязвимой

Во время разведки злоумышленник будет сканировать сеть, чтобы найти потенциально уязвимые приложения. Цель состоит в том, чтобы найти уязвимые приложения с помощью HTTP.
Первым шагом является запуск сканирования с использованием nmap для выявления открытых портов, связанных с уязвимостью Spring4Shell.

Spring опережает противников

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

Spring опережает противников
Spring опережает противников

Чтобы определить версию Tomcat, злоумышленник попытается подключиться к серверу с помощью telnet. Это вызывает ошибку сервера, которая показывает версию Tomcat.

Spring опережает противников

Заражение – выполнение атаки Spring4Shell

Несколько организаций опубликовали Proof of Concepts (PoCs) для этой уязвимости. Для исследования было использовано следующий PoC для заражения тестового хоста –https://github.com/TheGejr/SpringShell, https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/

Целью заражения является создание нового файла в веб-приложении “shell.jsp”. Это будет интерактивная JSP-страница, которая принимает команду от пользователя, выполняет ее и отправляет выходные данные обратно пользователю.

Для исследования JSP-файл ниже был написан для принятия отправленного ему параметра ‘cmd’, выполнения параметра ‘cmd’ и возврата входных данных пользователю в HTTP-ответе.

Spring опережает противников

Заражение включает в себя три HTTP-запроса. Первый запрос позволяет создать новый файл журнала, второй запрос подготавливает поддельный файл журнала с содержимым, которое хочет злоумышленник, а третий запрос записывает файл, обертывая его «<%» и «%>», чтобы его можно было выполнить позже.

Обратите внимание, что второй запрос включает путь к файлу (/webapps/ROOT/, имя файла (оболочка) и суффикс (.jsp).

Первый запрос:

Spring опережает противников

Второй запрос:

Spring опережает противников

Третий запрос:

Spring опережает противников

Управление машиной и извлечение данных

Теперь, когда файл «shell.jsp» подложен, злоумышленник может использовать его для выполнения команд над жертвой.

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

a. Проверка заражения компьютера
Во-первых, злоумышленник выполнит простую команду echo, чтобы убедиться, что компьютер был правильно заражен.

Команда: echo “Hacked!”

URL-путь: /shell.jsp?cmd=echo%20”Hacked!”

Spring опережает противников

b. Проверка привилегий, которые имеет приложение (и злоумышленник)

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

Команда: id

URL-путь: /shell.jsp?cmd=id

Выпуск:

Spring опережает противников

c. Просмотр файловой системы

Существует два типа команд для просмотра файловой системы – один для поиска скрытых файлов в каталоге /etc/, а второй будет использовать команду find для поиска документов по всей файловой системе.

Поиск скрытых файлов в папке /etc/.

Команда: ls -a /etc

URL:/shell.jsp?cmd=ls%20-a%20/etc

Spring опережает противников

Поиск документов по всей файловой системе.

Команда: find / -name “*.doc”

URL:/shell.jsp?cmd=find%20/%20-name%20*.doc

Spring опережает противников

d. Получите доступ к учетным данным AWS

Наконец, извлеките содержимое одного из интересных файлов, которые были найдены. В этом случае содержимое файлов учетных данных AWS. При использовании интерфейса командной строки AWS этот файл будет содержать учетные данные AWS в виде открытого текста.

Команда: cat /root/.aws/credentials

URL-адрес: /shell.jsp?cmd=cat%20/root/.aws/credentials

Spring опережает противников

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

Для создания этой конкретной приманки Spring4Shell мы использовали докеризированное уязвимое приложение, созданное LunaSec. https://github.com/lunasec-io/Spring4Shell-POC

Загрузите образ docker в систему Deception, чтобы использовать его в качестве контейнера Приманки. В Fidelis Deception® версии 9.5 вы можете создать такую приманку за считанные минуты.

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

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

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

Spring опережает противников

Предупреждения, связанные с фазой заражения:

Spring опережает противников

Предупреждение 1 – Фаза заражения – первый HTTP-запрос

Spring опережает противников

Предупреждение 2 – Фаза заражения – второй HTTP-запрос

Spring опережает противников

Предупреждение 3 – Фаза заражения – третий HTTP-запрос

Оповещения, связанные с извлечением информации:

Spring опережает противников

Предупреждение 4 – Извлечение данных – отправка эхо-команды с помощью HTTP-запроса

Spring опережает противников

Предупреждение 5 — Извлечение данных — сброс текста файла учетных данных с помощью HTTP-запроса

Будьте готовы к атакам – используйте обман

Как было показано здесь, технологии Fidelis Deception довольно эффективны для быстрого обнаружения угроз нулевого дня и удержания кибер-противников подальше от ваших данных и активов. Технология обмана от Fidelis Cybersecurity упрощает защиту вашей среды. Разверните готовые приманки локально, в облаке или на контейнерах. Просто создайте свою собственную приманку с золотым изображением на приманке RealOS или как часть образа контейнера.

Просто так легко перейти к проактивной киберзащите.

Источник: https://bit.ly/3z8ahAP

Свяжитесь с нами
Обратная связь со спикером