Beveiligingsonderzoekers van Huntress hebben een aanval gedocumenteerd waarbij de Oracle Database zelf werd gebruikt als host voor malware. Aanvallers maakten gebruik van een SQL-injectie kwetsbaarheid om een aangepaste post-exploitatie toolkit, genaamd Khunt, binnen de Oracle Database te plaatsen via de ingebouwde Java-functionaliteit van het platform.

De aanval werd ontdekt na onderzoek naar diefstal van inloggegevens op een server met Oracle Database. In plaats van alleen commando's uit te voeren via SQL-injectie, maakten de aanvallers gebruik van de embedded Java Virtual Machine (OJVM) van Oracle om kwaadaardige Java-code te uploaden, compileren en uitvoeren vanuit de database zelf. Deze methode maakte het mogelijk om binnen de legitieme databasefunctionaliteit te opereren en zo een blijvende toegang tot de server te behouden.

Volgens Huntress was de initiële toegang mogelijk dankzij een klassieke SQL-injectie via een autocomplete-zoekfunctie in een publieke applicatie, waarmee de aanvallers toegang kregen tot PL/SQL en uiteindelijk het besturingssysteem. De Java-toolkit Khunt werd opgeslagen als een database-object met behulp van de "CREATE JAVA SOURCE" functionaliteit van Oracle. De ingebouwde JVM maakt het mogelijk om Java-code binnen de database uit te voeren voor legitieme doeleinden, maar werd hier misbruikt om via SQL-commando's besturingssysteemopdrachten uit te voeren op de hostserver.

De malware binnen het databaseschema is volgens Huntress moeilijker te detecteren. Na het opzetten van deze code-uitvoeringsroute voerden de aanvallers verschillende post-compromise activiteiten uit, waaronder het stelen van credentials. In het onderzochte incident wisten de aanvallers het Windows-systeem waarop Oracle draaide te compromitteren en toegang te krijgen tot SYSTEM-niveau, waarmee ze onder andere de Windows SAM, SECURITY en SYSTEM registry hives konden uitlezen en zo wachtwoordhashes offline konden extraheren.

De campagne viel op doordat er geen gebruik werd gemaakt van opvallende malwarebinaries en de kwaadaardige activiteiten volledig binnen de native functionaliteit van Oracle plaatsvonden. Dit wordt door onderzoekers gezien als een geavanceerde aanvalsmethode die gerichte detectie vereist. Oracle heeft nog niet gereageerd op verzoeken om commentaar.

Hoewel de SQL-injectie de initiële toegang verschaft, ligt de nadruk volgens Huntress op de post-exploitatie toolkit en de langdurige aanwezigheid die de aanvallers wisten op te bouwen. De ingebedde JVM-functionaliteit van Oracle kan, mits misbruikt met voldoende databaseprivileges, de impact van een aanval aanzienlijk vergroten. Huntress adviseert om injectie in invoervelden te voorkomen en gebruikers met query-uitvoeringsrechten niet te ruim toe te kennen. Tijdens incidentrespons is het belangrijk om niet alleen te zoeken naar SQL-injectie-indicatoren, maar ook te controleren op onverwachte Java-bronobjecten, gecompileerde Java-klassen en opgeslagen procedures die kunnen wijzen op misbruik van de embedded JVM.

De onderzoekers deelden ook indicatoren van compromittering, zoals bestands-hashes, kwaadaardige Java-artifacten en SQL-commando's, om verdedigers te helpen getroffen systemen te identificeren. Meer details over deze aanval zijn te vinden in de analyse van Huntress.