Початковим вектором стала SQL-ін'єкція в публічному Java-застосунку на Apache Tomcat . Функція автодоповнення (autocomplete) не перевіряла введені користувачем дані, що дозволило хакерам через JDBC-з'єднання впровадити SQL-команди до бази Oracle . Як зазначили дослідники Huntress, це не нова вразливість — SQL-ін'єкції відомі десятиліттями і виникають через некоректну обробку введених даних . Достатньо було лише одного незахищеного поля пошуку.
Замість традиційних файлів зловмисники використали вбудовану JVM Oracle та оператор CREATE JAVA SOURCE, щоб скомпілювати та зберегти набір інструментів як Java-схеми всередині бази даних . Це зробило інструменти невидимими для системних засобів захисту, адже EDR та антивіруси аналізують процеси та файли ОС, а не Java-класи та PL/SQL-обгортки в Oracle .
До складу khunt увійшли такі компоненти:
| Компонент | Функція |
|---|---|
| KhuntCmd | Завантажує cmd.exe та виконує довільні команди ОС, вбудовуючи їх у SQL-запити |
| KhuntHash | Витягує імена користувачів і хеші паролів із внутрішніх таблиць Oracle та зберігає у файл |
| KhuntFS / KhuntFS2 | Провідники файлів: перегляд, читання, пошук, перевірка розміру файлів |
| KhuntT | Простий інструмент "ping" для перевірки встановлення тулкіту |
| KhuntUnzip | Утиліта для розпакування архівів |
| khunt_ PL/SQL-обгортки* | Процедури-обгортки для виклику Java-методів |
Хакери не зупинилися на рівні бази даних. Вони використали khunt, щоб перейти на Windows-сервер у кілька кроків:
cmd.exe /c whoami, підтвердивши роботу з правами SYSTEM .khuntSECURITY.hiv і khuntSYSTEM.hiv у каталозі F:\Oracle\ .tasklist /svc, результат збережено як khunttasks.txt .esentutl.exe скопійовано SAM та ще одну копію SECURITY у файли khuntSAM.hiv та khunt_SECURITY.hiv .Викрадені гілки реєстру можна використати для офлайн-злому хешів паролів .
Huntress виявила кілька критичних прогалин, які дозволили атаці вдатися:
Ця атака нагадує: бази даних із вбудованими середовищами програмування (як JVM в Oracle) можуть стати прихованими платформами для атак. Команди безпеки повинні стежити не лише за ОС, а й за об'єктами бази даних.