Tôi đã kiếm tiền từ Facebook như thế nào? (Phần 1)

20/03/2017
113
356 bài viết
Tôi đã kiếm tiền từ Facebook như thế nào? (Phần 1)
Bạn đã từng thử hack Facebook chưa? Bạn có tò mò các chuyên gia làm cách nào để tìm thấy lỗ hổng trong các subdomain của Facebook?
Image 1.jpg
WhiteHat xin gửi tới các bạn bài viết của một chuyên gia đã được Facebook trao thưởng 54.800 USD vì phát hiện thành công các lỗi hạ tầng mạng của hãng này.

Dịch bệnh COVID-19 khiến tôi có nhiều thời gian rảnh. Tận dụng quỹ thời gian đó, tôi quyết định tham gia thi chứng chỉ OSWE, trước khi chợt nhận ra trong năm 2020 mình chưa được đề tên trên “đại lộ danh vọng” của Facebook như những năm trước. Tôi cũng chưa bao giờ tìm thấy lỗ hổng nào trong các subdomain của Facebook. Bởi thế, tôi đã tìm đọc một số writeup liên quan, trong đó một writeup đã khiến tôi thật sự chú ý. Bạn có thể xem writeup này tại [HTML to PDF converter bug leads to RCE in Facebook server.]

Bài viết đã giúp tôi có một vài ý tưởng hay ho để tìm kiếm lỗ hổng bảo mật trong ứng dụng web khổng lồ này.

Tôi quyết định mục tiêu chính của mình sẽ là tìm các lỗi RCE hoặc lỗi tương tự trên https://legal.tapprd.thefacebook.com.

Tôi đã chạy một số tool fuzzing để thu thập đầy đủ các endpoint của ứng dụng web này. Sau vài tiếng tranh thủ chợp mắt và xem phim, tôi nhận về một vài kết quả rất khả quan:

Dirs found with a 403 response:
Anh 1.JPG

Với từng ấy kết quả là quá đủ. Tôi bắt đầu đọc các file javascript để tìm hiểu cách thức trang web hoạt động cũng như các phương thức được sử dụng…

Tôi tìm được một cách để bỏ qua việc chuyển hướng đến Login SSO, https://legal.tapprd.thefacebook.com/tapprd/portal/authentication/login và sau khi phân tích trang đăng nhập, xuất hiện một endpoint có vấn đề:

/tapprd/auth/identity/user/forgotpassword

Thực hiện một số thao tác trên endpoint người dùng, tôi phát hiện một endpoint khác là /savepassword. Sau khi đọc các file javascript, tôi đã nắm được cách thức trang hoạt động, nên sẽ có các token được tạo ra. Để kiểm tra xem nó có hoạt động không, tôi đã thử dùng công cụ burp suite để thay đổi các giá trị nhưng không thành công.

Có thể là do sai email? Tiếp theo tôi thử lấy email quản trị viên và tập hợp ngẫu nhiên các email thành một wordlist để thử xâm nhập.

Quay lại sau vài giờ, tôi thấy ngoài những lỗi như lần trước, lần này có thêm một lỗi mới. Đó là 302 chuyển hướng đến trang đăng nhập.

Vì vậy, tôi đã gửi các request với CSRF token và các email ngẫu nhiên cùng mật khẩu mới tới /savepassword.

Và response trả về 302 (chuyển hướng).
Anh 2.png

Sau đó tôi vào trang đăng nhập, nhập email và mật khẩu mới và BOOM tôi đã đăng nhập thành công vào ứng dụng và truy cập được trang quản trị :)
Anh 3.png
Tôi từng đọc báo cáo của một người đã tìm thấy lỗ hổng RCE bằng PDF nhưng phần thưởng anh ta nhận được chỉ là 1.000 USD. Vì vậy, tôi sẽ tìm cách khai thác sâu hơn.

Tôi nhanh chóng viết một mã khai thác đơn giản bằng python để khai thác lỗ hổng này. Chỉ cần nhập địa chỉ email, mật khẩu mới và script này sẽ thay đổi mật khẩu.
Anh 4.png
Vấn đề này rất nghiêm trọng vì nhân viên Facebook thường đăng nhập bằng tài khoản làm việc của họ. Điều này có nghĩa là họ đang sử dụng access token tài khoản Facebook của họ và nếu tin tặc khai thác thành công lỗ hổng, hắn có thể truy cập vào một số tài khoản của nhân viên Facebook…

Tôi đã báo cáo lỗ hổng bảo mật tới Facebook. Và vào ngày 2/10, tôi đã nhận được khoản tiền thưởng là 7.500 USD.
Anh 5.png
Tôi khá hứng thú với việc khai thác lỗ hổng này và nếu chỉ dừng lại tại đây thì vẫn chưa đủ vì script tôi tạo vẫn còn khá yếu.

Tôi đã tìm thấy thêm hai lỗ hổng trên cùng một ứng dụng nhưng chúng ta sẽ nói về các lỗ hổng khác trong Phần hai của bài viết :)

 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
facebook hack facebook
Bên trên