Hiểu về WebShell, Get root và Local attack
Hiện tại có rất nhiều website đã và đang bị hacker tấn công, hacker có thể thay đổi toàn bộ các tệp tin trên hệ thống bằng cách khai thác các lỗ hổng tồn tại trên website và tải lên các backdoor, webshell để chiếm quyền kiểm soát hoàn toàn các website này. Hôm nay tôi xin trình bày một số vấn đề ...
Hiện tại có rất nhiều website đã và đang bị hacker tấn công, hacker có thể thay đổi toàn bộ các tệp tin trên hệ thống bằng cách khai thác các lỗ hổng tồn tại trên website và tải lên các backdoor, webshell để chiếm quyền kiểm soát hoàn toàn các website này. Hôm nay tôi xin trình bày một số vấn đề liên quan đến webshell, get root và local attack.
Thuật ngữ WebShell: WebShell là 1 dạng mã độc, cửa hậu có nhiều chức năng để hỗ trợ các hacker chiếm quyền quản lý các hệ thống website.WebShell thường được viết bằng nhiều loại ngôn ngữ và thường thì chính là ngôn ngữ mà website đó đang sử dụng. Chức năng cơ bản là tải tệp tin lên máy chủ, kết nối đến cơ sở dữ liệu, vượt qua các cơ chế bảo mật, cấu hình, tấn công bruteforce, Get Root, Local Attack… chỉ cần hacker có thể tải được các tệp tin webshell này lên hệ thống của website thì xem như hacker đã có toàn quyền kiểm soát website đó, cho dù không biết tài khoản và mật khẩu của máy chủ này là gì.
WebShell có rất nhiều loại và biến thể khác nhau, không đơn thuần chỉ là 1 tệp tin mà chúng còn được các hacker biến tấu thành nhiều loại để thuận tiện tải các tệp tin khắc lên máy chủ của nạn nhân.
Local Atack: loại hình hack này khá phổ biến hiện nay trên internet. Local attack là phương pháp tấn công từ user này qua user khác cùng server 1 cách nhanh chóng mà không cần bất cứ quyền gì.
Một server có thể có 1 hoặc nhiều website phát trển trên đó, khi đó mỗi website như vậy sẽ được cấp 1 user chứa toàn bộ quyền với website đó. Ví dụ là /user/username1. Tương tự như vậy cũng có 1 thư mục là /user/username2,/user/username3/, /user/username4…
Giả sử /user/username2 bị hacker chiếm giữ, bằng các script thông thường, hacker có thể truy cập đến các file của bạn ở /user/username1. Các tấn công dựa trên những script ở user này tấn công vào host của user khác trên cùng server gọi là Local attack.
Get Root: Cũng chiếm quyền quản lý một website như Local attack nhưng nó tinh vi hơn, không chiếm từng user như Local mà Get Root sẽ chiếm quyền root của máy chủ (quyền root là là quyền cao nhất trong một máy chủ Unix/Linux). Khi hacker đã có quyền root của máy thì đồng nghĩa hacker có thể quản lý toàn bộ các website trên máy chủ này.
Cách phòng chống Local Attack
Những biện pháp dưới đây sẽ giúp cho bạn hạn chế bị hacker sử dụng phương pháp local attack
- Không sử dụng các mã nguồn không rõ nguồn gốc được chia sẻ trên mạng internet 1 cách không kiểm duyệt.
- Thường xuyên cập nhật các thông tin về các bản vá, lỗ hổng trong nền tảng mã nguồn, dịch vụ, hệ điều hành mà mình đang dùng để cập nhật các bạn vá lỗi của nhà cung cấp.
- CHMOD các file và folder hợp lý.
- Disable các hàm có tương tác trực tiếp với terminal (có thể thực thi shell trực tiếp vào nhân hệ điều hành) như: exec, system, popen….
- Hạn chế dùng hosting được chia sẻ không rõ đơn vị chủ quản.
- Mã hóa database SQL các bảng chứa password và user, đặt mật khẩu chứa ký tự đặc biệt, gồm số, chữ và ký tự đặc biệt để tránh bị Bruteforce (Dò mật khẩu).
- Hãy dùng các chương trình quét virus để quét toàn bộ mã nguồn trước khi sử dụng và bạn nên thực hiện việc này định kỳ để tránh hacker chèn đã chèn các backdoor và các script độc hại lên máy chủ.
Mong rằng qua bài phân tích này của chúng tôi có thể phần nào giúp các bạn bảo mật tốt hơn các hệ thống của mình.