Web App Hacking: Sensitive Data Exposure – Underestimated Risk: Disclosure of Software Version

Disclosure of Software Version

Thông tin về phiên bản phần mềm đang dụng, dù có xét theo bao nhiêu chiều hướng, cũng không thể thấy được nó tiết lộ thông tin nhạy cảm gì. Chỉ đơn thuần là một con số thực bình thường. Nhưng ẩn sau con số đó, mang rất nhiều thông tin và mối hiểm họa đến cho hệ thống của bạn.

Từ việc nắm được thông tin về phiên bản phần mềm bạn đang dùng, kẻ tấn công ngay lập tức nắm được trong tay kha khá cách để khai thác và xâm nhập, với hình thức tiêu biểu nhất là remote code execution.

Làm cách nào kẻ tấn công nắm được thông tin phiên bản phần mềm mà bạn đang sử dụng?

Đầu tiên, kẻ tấn công sẽ gửi một request lên ứng dụng web của bạn. Dĩ nhiên, server sẽ trả lại một gói respone. Trong gói đó, hắn sẽ mở ra và xem header của respone đó.

Và thú vị hơn, trong các header của những gói trả về từ phía server, luôn thường kèm theo thông tin về phiên bản phần mềm hiện tại mà nó đang chạy.

Exploitation

Để khai thác được nạn nhân từ thông tin về phiên bản phần mềm, kẻ tấn công sẽ lợi dụng vào remote code execution. Hiểu đơn giản, đây chính là các đoạn mã nhằm đánh vào lỗ hổng của các phiên bản phần mềm bị lỗi.

Sở dĩ các phần mềm phải liên tục cập nhật các phiên bản, vì ứng với từng phiên bản có thể có ít hoặc nhiều lỗi khác nhau. Bằng nhiều phương pháp, mà tiêu biểu nhất là dịch ngược phần mềm, kẻ tấn công có thể nắm được lỗ hổng của phần mềm bất kỳ, từ đó viết code khai thác thực thi.

Trang web chuyên tổng hợp remote code execution lớn nhất chính là:

https://exploit-db.com

Ở đây, sau khi nắm được thông tin phiên bản phần mềm mà bạn đang sử dụng, kẻ tấn công sẽ truy tìm các lỗi của tương ứng, và chỉ việc tải về (miễn phí) các đoạn mã độc này để khai thác.

Demo

Ta có một trang web mục tiêu. Sau khi dùng công cụ Firebug trong trình duyệt đọc header của gói tin respone, ta thu được thông tin về phiên bản phần mềm đang dùng.

Capture1.JPG

Capture.JPG

Tiếp, truy cập vào trang cơ sở dữ liệu về lỗi phần mềm và tìm phiên bản của nạn nhân.

Capture3.JPG

Trong số các kết quả trả về, ta thấy có một kết quả phù hợp nhất.

Capture4.JPG

Thử chạy remote code execution lên để đọc hướng dẫn.

Capture5.JPG

Ta thử nghiệm với lệnh liệt kê để xem toàn bộ tập tin có trên server đó.

Capture6.JPG

Ta quan sát có tập tin index.php, đây chính là trang chủ của web này.

Capture8.JPG

Thử đổi (deface) nó thành một giao diện khác. Ở đây ta chỉ đơn thuần sửa tất cả lại thành một câu thông báo ngắn gọn.

Capture9.JPG

Và quan sát kết quả.

10.JPG

Summary

Có thể thấy, việc để lộ thông tin về phiên bản phần mềm đang dùng cũng cực kỳ nguy hiểm không kém. Tuy nhiên, dẫu có muốn thì ta cũng khó lòng tắt hẳn đi được.

Dĩ nhiên, vẫn có cách làm giả đi thông số đó nhằm đánh lừa kẻ tấn công. Nhưng trước hết, ưu tiên hàng đầu vẫn là người chịu trách nhiệm về nó nên cập nhật phiên bản mới nhất để tránh bị tấn công.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s