SQL-инъекция превратила Oracle в плацдарм атаки: khunt скомпилирован прямо внутри базы данных
🔥 SQL-инъекция превратила Oracle в плацдарм атаки: khunt скомпилирован прямо внутри базы данных
Атакующие проникли в Oracle через SQL-инъекцию в поле автодополнения публичного веб-приложения. Они не загружали исполняемые файлы — вместо этого отправили Java-код на компиляцию встроенной JVM базы данных. Так в схеме появился инструментарий khunt, выполняющий команды ОС от имени SYSTEM. Huntress расследовала инцидент после срабатывания детектов кражи учётных данных 27 июля 2026 года. По данным Hacker News, соединение шло через JDBC, а учётная запись приложения имела достаточно прав для создания Java-объектов.
Вектор начинался с нефильтрованного ввода в поисковом поле. Аккаунт обладал системной привилегией CREATE PROCEDURE. Злоумышленники скомпилировали Java-классы через оператор CREATE JAVA SOURCE, затем обернули их в PL/SQL-обёртки. Запуск команд — через Runtime.exec с повышением до SYSTEM. Никаких бинарников на диске. EDR не видел угрозы. IP атакующих: 178.162.151[.]229.
В состав khunt вошли KhuntCmd (вызов cmd.exe), KhuntHash (сбор хешей из таблиц Oracle), KhuntFS и KhuntFS2 (файловые операции), KhuntT (проверка доступности), KhuntUnzip. Через них атакующие скопировали кусты реестра SECURITY и SYSTEM, собрали список процессов и перенесли SAM в F:\Oracle. Сами объекты не являются файлами — это скомпилированные Java-схемы, видимые только внутри БД. Технике два десятилетия: ещё в 2006 году Marco Ivaldi опубликовал raptor_oraexec.sql с аналогичной архитектурой. Но в реальных атаках её фиксируют редко.
Фикса на стороне приложения: параметризованные запросы и валидация ввода. На стороне БД — чёткое ограничение привилегий. Учётка, обслуживающая публичное веб-приложение, не должна компилировать Java-код и запускать хранимые процедуры, не относящиеся к её прямым задачам. Искать индикаторы — по объектам с именем Khunt и записям KHUNT% в SQL-логах.
Oracle остаётся слепой зоной для большинства команд защиты: базу данных до сих пор воспринимают как хранилище, а не как полноценную среду исполнения. Но внутри живёт JVM, и одна лишняя привилегия у скомпрометированного аккаунта превращает SQL-инъекцию в захват всей Windows-машины. Проверьте свои схемы на Java-объекты и пересмотрите гранты.
#Oracle #SQLi #JavaStoredProcedure #AppSec #privilege_escalation
Такие разборы выходят в канале каждый день — коротко и со ссылкой на первоисточник.