Tớ đã hack Yeah1 như thế nào?
Vào 1 buổi sáng trời âm u, gió mịt mù, sấm đánh ầm ù, sức bão mạnh cấp 69, sau cái chán của việc code thì tớ lại càng chán hơn vì không có gì làm. Chán quá nên não cũng hơi điên một tí và bản thân lại thích hắc kin hắc cũn nên chợt nghĩ ra 1 ý định là kiểm thử Yeah1 sau vụ ...
Vào 1 buổi sáng trời âm u, gió mịt mù, sấm đánh ầm ù, sức bão mạnh cấp 69, sau cái chán của việc code thì tớ lại càng chán hơn vì không có gì làm. Chán quá nên não cũng hơi điên một tí và bản thân lại thích hắc kin hắc cũn nên chợt nghĩ ra 1 ý định là kiểm thử Yeah1 sau vụ giaibongda.com bị lên shell bởi 1 số thanh niên tuổi trẻ tài cao, trang này cùng server với nhiều subdomain khác của Yeah1. Bản thân không thích hắc hiếc tùm lum như mấy thanh niên khác nhưng chán quá nên thôi kệ đi, bắt tay vô nào.
Tiến hành
Đầu tiên, tớ dùng dirb tiến hành scan các thư mục của Yeah1 để xem có thư mục chưa được config kĩ và cho phép xem được cây thư mục. Tớ chạy câu lệnh:
$ dirb http://www.yeah1.com/ list.txt -N 302
Trong đó:
- http://www.yeah1.com/ – mục tiêu cần scan.
- list.txt – danh sách các folder cần scan.
- -N 302 – Bỏ qua HTTP Code 302 khi scan vì Yeah1 xử lí các route không chính xác sẽ redirect về trang chủ với HTTP Code là 302.
Sau khi scan 1 lúc, tớ tò mò với path mà dirb scan ra được:
Tớ tiến hành truy cập vào link và thấy như sau:
Sau vài phút Google về đoạn JSON này, tớ phát hiện Yeah1 sử dụng Elasticsearch – là 1 search engine cho phép chúng ta tìm kiếm dữ liệu theo thời gian thực được phát triển bằng ngôn ngữ Java và mã nguồn nó cũng được open-source trên GitHub.
Tớ tiến hành tìm các vulnerability của Elasticsearch trong quá khứ và phát hiện nó đã từng có lỗ hổng RCE (Remote Code Execution) và Yeah1 lại sử dụng phiên bản 1.4.1 (phiên bản cũ) và nằm trong số các phiên bản có thể bị khai thác thông qua lỗ hổng CVE-2015-1427.
Exploit các bạn xem tại đây.
Tải exploit về, mở lên và sửa lại đường link tới vị trí chính xác:
Rồi sau đó tiến hành chạy PoC với câu lệnh:
1 2 3 |
$ python PoC.py www.yeah1.com |
Sau một lúc tìm hiểu ở bên trong server này, tớ phát hiện nó không phải là server chính của Yeah1 có địa chỉ tại yeah1.com, có vẻ như nó là 1 server backup hoặc là 1 server load balancing của Yeah1.
Update: Yeah1 đã đặt Basic Access Authentication ngay tại đường link.
Tóm lại là do ăn hên lúc tìm thấy path /es
Techtalk via kipalog