Thứ Tư, 23 tháng 10, 2013

Phát hiện và loại bỏ shell trong VBB, chống hack website căn bản

Chào các bạn, bài viết này mình sẽ hướng dẫn kỹ thuật căn bản trong việc phát hiện và loại bỏ shell, một dạng code giống như công cụ hỗ trợ cho việc hack website của hacker có khả năng can thiệp sâu vào máy chủ mà không cần sự cho phép hay đăng nhập.

Một ngày, nếu website của bạn bị hack, sau đó bạn fix và bảo mật lại, nhưng nếu trên host còn shell do hacker up thì bạn chắc chắn sẽ bị hack tiếp, dù bảo mật đến mức nào.
Không nói tới các kỹ thuật hack dựa vào lỗ hổng bảo mật cũng như cách vá, bài viết này chỉ hướng dẫn bạn loại bỏ shell. Những kiến thức này không giúp bạn bảo mật website hoàn toàn. Bạn cần đọc thêm nhiều tài liệu về các lỗ hổng, cách thức tấn công, cách phân quyền...Bài viết chỉ giúp bạn không chết một cách tức tưởi vì shell.


Giao diện của một con Shell khi chạy trên trình duyệt:



Bài viết gồm 2 phần:

1. Loại bỏ shell trong code.
- Khi tấn công được vào host của bạn, hacker sẽ tìm cách upload shell vào trong để tạo backdoor quay lại tấn công sau. Cũng có thể bạn sử dụng code được chia sẻ và trong code đã ẩn giấu shell sẵn mà bạn không biết. Khi đó thì site bạn có thể bị hack bất cứ lúc nào.
- Thông thường, shell trong code sẽ được up vào chỗ mà bạn ít khi để ý tới, với một cái tên nhìn qua dễ tưởng là thành phần trong code.
A. Quét virus bằng công cụ trong Panel hosting.
- Các panel hosting thường tích hợp công cụ quét virus (shell cũng là virus) là ClamAV. Một số loại shell thông thường có thể bị công cụ này phát hiện ra. Bạn tìm trong Panel host chỗ có từ khóa virus, rất dễ làm.
B. Quét shell bằng công cụ chuyên dụng.
Sử dụng công cụ trong file đính kèm, upload lên host (ngang hàng index). Sau đó từ trình duyệt bạn gõ: http://sitecuaban/scanshell.php

Bấm nút tìm kiếm

Chờ một chút, nó sẽ liệt kê cho bạn các file nghi ngờ trong danh sách màu đỏ. Lưu ý không phải file nào cũng là shell.

- Bạn kiểm tra từng file một. Thông thường với một code VBB, nếu bạn thấy file lạ, không có trong bộ code gốc thì dễ nó là shell.
- File có trong bộ code gốc thì bạn edit nó, so sánh với file gốc xem có giống không, nếu không thì nó chính là shell.
- Những file mà trong nội dung không có gì ngoài những đoạn code được mã hóa loằng ngoằng>> Shell
- Nếu một file bạn nghi ngờ, chẳng hạn nó nằm trong thư mục www/includes. Bạn thử chạy ngoài trình duyệt http://sitecuaban.com/includes/tenfile.php nếu là shell nó sẽ lộ diện ngay ra một giao diện can thiệp file trên host.

Khoanh màu trắng chính là một con Shell:




Cách xử lý: Xóa (sao lưu) toàn bộ file phát hiện là shell.

2. Loại bỏ shell include trong Database
- Ngoài việc upload shell bằng file php ngoài code dễ bị phát hiện, hacker còn có thể include shell vào trong database, trong plugin của VBB. Cách này rất khó bị phát hiện.
- Backup Database để tránh tình trạng lỗi có thể xảy ra.
- Vào Admincp (Đối với VBB) chọn mục Plugins and Products >> Plugin Manager.
Nhìn cột Hook Location nếu có dòng "init_startup" thì đó là một con shell. Xóa bỏ.
- Vào phpMyAdmin. Vào Database của website, search.
Gõ vào ô tìm kiếm từ khóa base64 và chọn Select All như hình:



Bấm Go để tìm kiếm.



Kết quả ra một tràng dài, bạn chỉ chú ý vào những dòng có báo 1 matches trở lên. Những dòng đó bên phải sẽ có thêm chữ Browser và Delete.
- Nếu nó ở tab Plugin, bạn nên xóa dòng đó đi (bấm Delete) vì khả năng là Shell rất cao, mà xóa đi cũng không ảnh hưởng gì cả.
- Nếu ở tab khác, bạn bấm Browser xem nội dung của nó. Ctrl F từ khóa "base64" tìm tới chỗ có để xem code nó như thế nào. Nếu nó mã hóa lằng ngoằng thì khả năng là shell >> Xóa.
- Nó mà ở tab Template thì cũng khả năng cao là shell >> Giao diện đã bị dính shell. Tạm bỏ giao diện ấy đi.

Hi vọng giúp bạn loại bỏ shell trong website của mình. Với các website khác không phải VBB thì cũng tương tự như vậy.
Bài viết có tham khảo một số tài liệu của đồng đạo
Theo: Forum.bkav.com

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến