Nothing is impossible

Blog cá nhân tổng hợp những kiến thức về website và Mar online (^_^)

Lỗ hổng lộ tập tin sao lưu mã nguồn

Thời gian gần đây khi pentest khá nhiều website mà tôi gặp được một phương thức duy nhất đó là scan các tập tin nhạy cảm, những tập tin sao lưu và luôn cả những công cụ sao lưu dữ liệu phổ biến thì tôi nhận thấy rằng tình trạng mắc lỗi bảo mật cơ bản này diễn ra khá phổ biến, có khoảng 45% những site mà tôi lên danh sách để thử tool tồn tại các điểm yếu dạng này.


Bình thường các admin, kỹ thuật viên thường không để ý đến những tập tin đã sao lưu toàn bộ mã nguồn cũng như CSDL và thông tin quan trọng của hệ thống đang chạy vì có thể do sơ xuất hoặc họ không nghĩ rằng những file sao lưu đó không ảnh hưởng gì hoặc đơn giản là họ suy nghĩ trang web của họ có ai thèm dòm ngó,....

Nhưng đối với một hacker thì đây lại là một nguồn thông tin vô cùng quý giá và sẽ giúp họ giảm thiểu được rất rât nhiều công sức mới có thể có được những thông tin quan trọng như thế, và đương nhiên họ sẽ sử dụng triệt để những thông tin này để leo lên nắm quyền cao nhất mà họ có thể tận dụng và rồi tất nhiên người tổn hại chính là những victim bất cẩn đó.

Tôi sẽ phân tích những điểm yếu khi các bạn để lộ một trong những thông tin quan trọng dưới đây và mức độ ảnh hưởng khi kết hợp lại với nhau ra sao.

1. Lộ toàn bộ mã nguồn khi backup source và không xóa sau khi đã tải về máy để lưu trữ.


Ở tình huống này thì những thông tin mà các bạn bị lộ là toàn bộ và chẳng còn gì để mất nữa cả :)

- Với thông tin này thì tôi sẽ xem xét đến các thông tin quan trọng trong các tập tin lưu cấu hình kết nối đến CSDL của các bạn.Sau đó tôi sẽ dùng những thông tin đó để thử kết nối đến CSDL các bạn đang sử dụng qua những công cụ có sẵn vd: phpMyAdmin trên server nếu các bạn có cài đặt nó và cho phép truy cập, hoặc các bạn open port cũng như cho phép connect vào CSDL từ bên ngoài.Đến đây thì tôi hoàn toàn có thể chiếm quyền quản trị của bất kỳ người admin nào, hoặc bất kỳ thành viên nào đang tồn tại trên hệ thống của các bạn, chưa kể nếu các bạn gán đầy đủ quyền cho user quản trị CSDL đang sài, hoặc sử dụng user có quyền cao nhất là root thì khả năng chiếm được server các bạn sẽ tăng lên trên 90%.

- Ngoài ra tôi cũng sẽ tận dụng những thông tin như username, password các bạn tạo cho việc connect vào CSDL đó để thử kết nối vào một số dịch vụ quan trọng khác như SSH, FTP, Panel, Email,...Nếu may mắn mỉm cười vì các bạn sài chung mật khẩu cho các dịch vụ đó thì các bạn lại gặp nguy hiểm nhanh hơn.

- Cũng có thể trong mã nguồn sẽ kèm theo luôn cả bản sao lưu của Database trang web các bạn, và đây lại là một nguồn thông tin quý giá cho tôi khai thác, trong tình huống này tôi sẽ select ra những thông tin của người quản trị và tiến hành giải mã những mật khẩu đã được mã hóa để đăng nhập vào quyền quản trị rồi leo cao hơn để vào server các bạn.

2. Lỗ hổng lộ tập tin sao lưu mã nguồn nhưng không có thông tin nào tận dụng được như ở mục số 1.

Với tình huống này thì có thể các bạn không sao lưu CSDL của các bạn, hay thông tin trong các tập tin cấu hình không sử dụng được để kết nối từ ngoài vào thì xem như các bạn có chút may mắn rồi, tuy nhiên mọi việc vẫn chưa dừng lại đây vì khi đã có được mã nguồn của các bạn tôi sẽ tiếp tục đào sâu hơn và tìm kiếm những lỗ hổng trong mã nguồn trang web của các bạn rồi tận dụng nó để tiếp tục tấn công leo cao hơn.
Ngoài ra nếu các bạn sài chung với vài trang web khác trên cùng một server thì tôi cũng có thể tận dụng thông tin kết nối CSDL đó sau khi đã khai thác vào được một trang nằm cùng server và lúc này thì có lẽ tôi không còn tốn công để local qua host các bạn mà chỉ việc kết nối thẳng đến CSDL của các bạn bởi lúc này tôi đã có quyền quản lý trên hệ thống (local) của các bạn rồi.

3. Kết luận và giải pháp.


Tóm lại như các bạn đã đọc ở mục 1 & 2 thì tôi đã gợi ý ra những hướng tấn công lợi dụng vào một điểm yếu duy nhất của các bạn là để lại tập tin backup mã nguồn và tôi phát hiện thấy, và kết quả thì các bạn cũng có thể thấy rõ rồi.Cách khắc phục thì cũng khá rõ ràng rồi đó là:

- Không sao lưu mã nguồn và để lại ngay trên server của mình với tên tập tin quá dễ đoán vd: tendomain.zip, public_html.zip, html.zip,...
- Không sử dụng chung mật khẩu quản trị CSDL cho nhiều dịch vụ khác vd: SSH, FTP, Admin, Email,...
- Hạn chế sử dụng các công cụ hỗ trợ quản trị CSDL với cài đặt và sử dụng mặc định, vd: phpMyAdmin có thể đổi thành tên truy cập mà chỉ có mình bạn biết.
- Không mở quyền cho truy cập trực tiếp từ ngoài vào CSDL của các bạn vd: chỉ cho kết nối vào CSDL ở localhost.
- Thay đổi lại toàn bộ thông tin quan trọng trên hệ thống vd: username, password của toàn bộ dịch vụ, kiểm thử lại mã nguồn để tránh bị găm mã độc,...
- Gởi lời cảm ơn đến người đã thông báo lỗ hổng cho các bạn, vì biết đâu một ngày nào đó họ sẽ lại thông báo cho bạn một lỗ hổng mới của các bạn.

Chúc các bạn thành công !!!
Share on Google Plus

About Vietnguyen

Blog tổng hợp các kiến thức về website và marketing online. Chia sẻ là niềm vui ! Tôi làm được bạn cũng làm được. Nothing im possible
    Blogger Comment
    Facebook Comment

0 nhận xét:

Đăng nhận xét