Điểm xâm nhập đầu tiên là một lỗ hổng SQL injection trong một ứng dụng web Java chạy trên Apache Tomcat và được đặt ở chế độ công khai . Cụ thể, tính năng tìm kiếm gợi ý (autocomplete) của ứng dụng đã không kiểm tra đầu vào từ người dùng một cách chặt chẽ, cho phép tin tặc chèn các câu lệnh SQL độc hại thông qua kết nối JDBC tới database . Các nhà nghiên cứu của Huntress nhấn mạnh đây không phải là một lớp lỗ hổng mới – SQL injection đã tồn tại hàng thập kỷ và thường là kết quả của việc xử lý đầu vào không an toàn. Chỉ một ô tìm kiếm nhỏ bị bỏ quên cũng đủ để bắt đầu chuỗi tấn công chết người .
Thay vì triển khai mã độc dưới dạng file thông thường, tin tặc đã tận dụng máy ảo Java của Oracle để biên dịch và cài toàn bộ bộ công cụ khunt dưới dạng các đối tượng lược đồ Java (Java schema objects). Đây là một kỹ thuật 'living off the land' nhưng ở cấp độ database, vì EDR và AV chỉ tập trung vào các process, file nhị phân trên hệ điều hành - chúng không có cơ chế kiểm tra các lớp Java và PL/SQL wrapper bên trong Oracle .
Bộ công cụ bao gồm các thành phần sau:
| Thành phần | Chức năng |
|---|---|
| KhuntCmd | Tải cmd.exe và thực thi các lệnh hệ điều hành tùy ý bằng cách nhúng chúng vào các câu lệnh SQL gửi tới database |
| KhuntHash | Trích xuất tên người dùng và hash mật khẩu từ các bảng nội bộ của Oracle, sau đó lưu thành file |
| KhuntFS / KhuntFS2 | Công cụ khám phá file: liệt kê, đọc, tìm kiếm và kiểm tra kích thước file trên hệ thống bị xâm phạm |
| KhuntT | Công cụ 'ping' đơn giản để xác nhận bộ toolkit đã được cài đặt và có thể liên lạc được |
| KhuntUnzip | Tiện ích giải nén file |
| khunt_ PL/SQL wrappers* | Các thủ tục PL/SQL dùng để gọi các phương thức Java bên dưới |
Tin tặc không dừng lại ở quyền truy cập database. Chúng sử dụng bộ công cụ khunt để leo thang sang hệ điều hành Windows bên dưới qua các bước:
cmd.exe /c whoami, xác nhận đang có quyền SYSTEM trên máy chủ Windows, thiết lập khả năng thực thi mã từ xa (RCE) .reg.exe và sao chép các registry hive SECURITY và SYSTEM, lưu thành các file khuntSECURITY.hiv và khuntSYSTEM.hiv trong thư mục F:\Oracle\ .tasklist /svc và lưu kết quả thành khunttasks.txt .esentutl.exe để sao chép SAM và một bản sao thứ hai của SECURITY, lưu thành khuntSAM.hiv và khunt_SECURITY.hiv .Các registry hive này sau đó có thể được sử dụng ngoại tuyến để trích xuất và giải mã hash mật khẩu của tất cả tài khoản local trên hệ thống .
Cuộc điều tra của Huntress đã chỉ ra một số điểm mù nghiêm trọng cho phép cuộc tấn công thành công và tránh bị phát hiện:
Dựa trên cuộc tấn công này, Huntress đã đưa ra các khuyến nghị sau :
Cuộc tấn công này là một lời cảnh tỉnh mạnh mẽ: các công cụ lập trình tích hợp trong database (như JVM của Oracle) có thể trở thành nền tảng tấn công cực kỳ tinh vi khi kết hợp với một lỗ hổng 'nhỏ' như SQL injection. Các đội ngũ bảo mật buộc phải mở rộng tầm giám sát của mình ra ngoài hệ điều hành, vươn tới tận lớp đối tượng bên trong database.