Preloader
Виробник
Рішення
новини
Дистрибуція рішень з кібер-безпеки, розвитку та оптимізації ІТ-технологій для організацій будь-якого масштабу
Oberig IT тримає руку на пульсі ІТ-світу та пропонує найактуальніші новини з кібер-безпеки
27 липня, 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..=

Ця атака маніпулює властивостями журналів 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 для пошуку документів по всій файловій системі.

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

Пошук прихованих файлів у папці /etc/.

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

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

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

Зв'яжіться з нами
Зворотний зв'язок зі спікером