
Khai thác SQL injection để chạy mã SYSTEM trên máy chủ Windows qua Oracle
"Attackers exploited a SQL injection flaw in a public-facing web application to reach an Oracle database, then used Oracle's embedded Java support to compile and run a post-exploitation toolkit in-database without dropping a traditional executable. The activity led to Windows SYSTEM-level command execution on the underlying server; no Oracle patch addresses the application vulnerability or the excessive database privileges, so remediation requires parameterized queries, input validation, and least-privilege access."
Tác động bảo mật rất cao: SQL injection có thể dẫn tới thực thi lệnh SYSTEM và mở rộng kiểm soát từ ứng dụng sang máy chủ. Cần ưu tiên rà soát quyền Oracle, kiểm tra đối tượng Java/PL/SQL và siết chặt xác thực đầu vào.
Ảnh hưởng vận hành đáng kể: có nguy cơ lộ dữ liệu, chiếm quyền máy chủ và gián đoạn dịch vụ nếu tài khoản ứng dụng có quyền quá rộng. Việc khắc phục có thể cần điều chỉnh truy vấn, thu hẹp đặc quyền và kiểm tra toàn bộ chuỗi ứng dụng-cơ sở dữ liệu.
Một chiến dịch tấn công đã lợi dụng lỗ hổng SQL injection trong một ứng dụng web công khai để truy cập vào Oracle Database, sau đó dùng Java tích hợp của Oracle để biên dịch và chạy công cụ hậu khai thác ngay trong cơ sở dữ liệu, không cần thả tệp thực thi xuống đĩa. Theo điều tra, hoạt động này dẫn tới thực thi lệnh ở mức Windows SYSTEM trên máy chủ nền tảng.
Điểm đáng chú ý là đường tấn công bắt đầu từ một trường autocomplete chuyển dữ liệu chưa được kiểm tra qua JDBC, trong khi tài khoản kết nối có quyền đủ cao để tạo đối tượng Java trong database. Oracle hiện không có bản vá xử lý trực tiếp lỗi ở ứng dụng hoặc việc cấp quyền quá rộng cho tài khoản cơ sở dữ liệu.
Khuyến nghị kỹ thuật gồm: dùng parameterized queries, thực hiện input validation chặt chẽ, và áp dụng least privilege cho tài khoản dịch vụ. Với môi trường Oracle, cần rà soát các đối tượng Java và PL/SQL bất thường, đồng thời kiểm tra log để tìm dấu hiệu liên quan đến Khunt hoặc mẫu KHUNT%. Cần lưu ý rằng EDR trên máy chủ có thể không quan sát sâu vào nội bộ Oracle, nên giám sát ở lớp ứng dụng và cơ sở dữ liệu là rất quan trọng.