Cảnh báo: Kẻ tấn công lợi dụng Oracle để leo thang đặc quyền lên SYSTEM trên Windows
Các nhà nghiên cứu bảo mật vừa phát hiện một chiến dịch tấn công tinh vi, trong đó kẻ xấu sử dụng SQL Injection để chèn mã Java vào cơ sở dữ liệu Oracle, từ đó chiếm quyền điều khiển SYSTEM trên máy...
- Giọng nữ Bắc
Một chiến dịch tấn công mới đang nhắm vào các cơ sở dữ liệu Oracle thông qua lỗ hổng SQL Injection trên các ứng dụng web công khai. Điểm đặc biệt của cuộc tấn công này là kẻ xấu đã cài đặt một bộ công cụ hậu khai thác (post-exploitation toolkit) mà không cần ghi bất kỳ file thực thi nào xuống ổ đĩa, giúp chúng tránh được sự phát hiện của các giải pháp EDR truyền thống.
Cơ chế tấn công ‘khunt’
Được các chuyên gia tại Huntress đặt tên là khunt, bộ công cụ này hoạt động bằng cách gửi mã nguồn Java trực tiếp vào cơ sở dữ liệu. Oracle sau đó sẽ tự động biên dịch mã này thành các đối tượng schema được lưu trữ. Bằng cách này, kẻ tấn công có thể thực thi các lệnh hệ thống ngay từ bên trong engine của cơ sở dữ liệu.
Quá trình tấn công bắt đầu từ một trường tìm kiếm tự động (autocomplete) trên ứng dụng web, nơi dữ liệu đầu vào không được kiểm soát kỹ lưỡng và được truyền qua kết nối JDBC. Tài khoản kết nối này sở hữu đặc quyền đủ cao để tạo các đối tượng Java, cho phép kẻ tấn công thực thi mã ở cấp độ SYSTEM trên máy chủ Windows bên dưới.
Tại sao kỹ thuật này khó bị phát hiện?
Vì các lớp Java được biên dịch trực tiếp thành đối tượng trong schema cơ sở dữ liệu, chúng không tồn tại dưới dạng tiến trình, file nhị phân hay file hệ thống thông thường. Các giải pháp bảo mật endpoint hiện nay thường không kiểm tra các thành phần nội tại của Oracle, khiến cơ sở dữ liệu vô tình trở thành bàn đạp để kẻ tấn công thực hiện các hành vi độc hại.
Bộ công cụ khunt bao gồm nhiều thành phần chuyên biệt:
- KhuntCmd: Thực thi các lệnh hệ điều hành tùy ý thông qua SQL.
- KhuntHash: Trích xuất tên người dùng và mã băm mật khẩu từ bảng người dùng nội bộ của Oracle.
- KhuntFS/KhuntFS2: Cho phép liệt kê, đọc và tìm kiếm file trên hệ thống.
- KhuntT và KhuntUnzip: Hỗ trợ kiểm tra kết nối và giải nén dữ liệu.
Khuyến nghị bảo mật
Hiện tại, không có bản patch nào từ Oracle có thể trực tiếp đóng lỗ hổng này vì đây là vấn đề liên quan đến cấu hình đặc quyền và kiểm soát đầu vào. Các quản trị viên cần thực hiện ngay các biện pháp sau:
- Sử dụng truy vấn tham số hóa (parameterized queries) và kiểm soát chặt chẽ dữ liệu đầu vào trong ứng dụng.
- Áp dụng nguyên tắc đặc quyền tối thiểu (least privilege): Tài khoản kết nối ứng dụng web không nên có quyền tạo Java source hoặc thực thi các stored procedure không cần thiết.
- Rà soát hệ thống: Tìm kiếm các đối tượng trong Oracle có tên bắt đầu bằng ‘Khunt’ và kiểm tra các log SQL chứa từ khóa ‘KHUNT%’.
Nguồn tham khảo: The Hacker News



No Comment! Be the first one.