Ngày nay Git đã dần trở lên phổ biến với hầu hết các lập trình viên và quản trị hệ thống tuy nhiên với sự phổ biến đó khi không có sự quản trị chặt ché rất dễ bị hacker tấn công mất dữ liệu. mình cũng đã đi tìm lỗi này khá nhiều trên các dịch vụ và mình thấy nó khá phổ biến một lỗ hổng liên quan tới việc cấu hình của git trên server đang chạy.

Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay. DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa chính. Và một máy tính khác (nếu họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy tính kia. Trong Git, thư mục làm việc trên máy tính gọi là Working Tree.

Ngoài ra, có một cách hiểu khác về Git đơn giản hơn đó là nó sẽ giúp bạn lưu lại các phiên bản của những lần thay đổi vào mã nguồn và có thể dễ dàng khôi phục lại dễ dàng mà không cần copy lại mã nguồn rồi cất vào đâu đó. Và một người khác có thể xem các thay đổi của bạn ở từng phiên bản,  họ cũng có thể đối chiếu các thay đổi của bạn rồi gộp phiên bản của bạn vào phiên bản của họ. Cuối cùng là tất cả có thể đưa các thay đổi vào mã nguồn của mình lên một kho chứa mã nguồn.

Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một “ảnh chụp” (snapshot) trên mỗi tập tin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sử dụng lại một ảnh chụp nào đó mà bạn có thể hiểu đó là một phiên bản. Đây cũng chính là lợi thế của Git so với các DVCS khác khi nó không “lưu cứng” dữ liệu mà sẽ lưu với dạng snapshot.

Từ trên các bạn có thể thấy git có thể dùng để update cũng như đọc các đoạn code của các bạn dẫn tới khi bạn để lộ cấu hình thì rất nguy hiểm.

Với cụm từ khóa intitle:”index of” “.git” chúng tôi tìm thấy gần 500 website đã dính lỗi lộ cấu hình của gỉ dẫn tới việc bị mất code như sau:

Chúng tôi vào 1 victim bất kỳ và vào link dạng domain/.git/config chúng ta sẽ thấy đầy đủ các thông tin cấu hình của nó giờ tôi sẽ tiến hành tải code dựa vào cái này. công cụ chúng ta dùng là gittool với mã nguồn như sau

Bây giờ tôi sẽ chạy lệnh sau

Như các bạn sẽ thấy ảnh dưới đây tôi có thể tải về được bộ code của web này

Ở đây chúng ta đã tải được các snapshot của file về giờ tôi cần giải mã chúng thành các file gốc bằng cách vào thư mục git đã tải về và gõ các lệnh sau

Như vậy tôi hoàn toàn có thể tải về nguyên bộ code của họ và đọc cấu hình cũng như code của họ

Ngoài ra một lỗ hổng khác cũng liên quan tới git tuy nó có tuổi đời khá lâu rồi nhưng chúng tôi thấy hiện tại vẫn có nhiều hệ thống sử dụng đây chính là SVN

Đối với svn chúng tôi dùng từ khóa tìm kiếm google như sau:

Sau khi tìm kiếm chúng tôi chọn 1 victim bất kỳ làm demo và chạy code dưới đây

kết quả chúng tôi thu được:

Như vậy qua các lỗ hổng trên chúng ta thấy khi git bị lộ config thì coi như chả còn gì về mặt bảo mật code. việc này các bạn khi làm cho sản phẩm phải hết sức lưu ý cấu hình không được cho lộ ra ngoài không cho truy cập vào. tránh những trường hợp đáng tiếc xảy ra.

Leave a Reply

Please Login to comment
  Subscribe  
Notify of