Nach Angaben von Huntress begann der Angriff an einem verwundbaren Such-Endpunkt einer öffentlich erreichbaren Java-Anwendung auf Apache Tomcat. Die Anwendung validierte Eingaben aus einer Autovervollständigungsfunktion nicht korrekt. Dadurch konnten die Angreifer SQL-Befehle gegen die angebundene Oracle-Datenbank ausführen. Huntress führte die bösartigen Anfragen auf die IP-Adresse 178.162.151[.]229 zurück.

Im nächsten Schritt installierten die Angreifer das Post-Exploitation-Toolkit khunt direkt in der Oracle-Datenbank. Oracle stellt dafür eine eingebettete Java Virtual Machine sowie die Anweisung CREATE JAVA SOURCE bereit, mit der sich Java-Quellcode als Datenbankobjekt speichern und kompilieren lässt. Solche Java-Objekte können anschließend über SQL-Befehle ausgeführt werden und, sofern entsprechend konfiguriert, auch Befehle auf dem Host-Betriebssystem starten.

Genau diese Funktion nutzten die Angreifer aus. Statt ausführbare Dateien auf dem Server zu platzieren, kompilierten und speicherten sie khunt unmittelbar in der Datenbank. Huntress bezeichnete den Einsatz dieser Methode unter realen Angriffsbedingungen als selten dokumentiert. Das Toolkit bestand aus mehreren Java-Komponenten und PL/SQL-Wrappern, die Befehle ausführen, Zugangsdaten stehlen und Dateien verwalten konnten.

Laut Huntress setzten die Angreifer die Komponente KhuntCmd ein, um den Befehl cmd.exe /c whoami auszuführen. Damit überprüften sie, dass über die Oracle-Datenbank gestartete Befehle auf dem Windows-Server mit SYSTEM-Rechten liefen. Danach verwendeten sie PowerShell und Windows-Werkzeuge, um die Registry-Hives SAM, SECURITY und SYSTEM zu kopieren. Diese Dateien können genutzt werden, um Passwort-Hashes lokaler Windows-Konten wiederherzustellen.

Zusätzlich führten die Angreifer den Befehl tasklist /svc aus, um laufende Dienste zu erfassen, und speicherten die Ausgabe in der Datei khunttasks.txt. Huntress erklärte, die kopierten Registry-Hives seien vermutlich zum Abzug für das Auslesen von Zugangsdaten bestimmt gewesen. Der Bericht bestätige jedoch nicht, ob die Dateien tatsächlich erfolgreich entwendet wurden.

Als Gegenmaßnahme empfiehlt Huntress, sämtliche von Nutzern gelieferten Eingaben sauber zu validieren und die Rechte von Datenbankkonten für Anwendungen strikt zu begrenzen. Insbesondere sollten Datenbankkonten, die in öffentlich erreichbaren Anwendungen verwendet werden, nicht über ausreichend hohe Rechte verfügen, um Java-Quellobjekte anzulegen, unnötige gespeicherte Prozeduren auszuführen oder andere administrative Aktionen vorzunehmen.