Sunday, July 10, 2011

Phương pháp include shell trong source VBB và cách phòng chống

Mình viết bài này để giúp tăng cường bảo mật cho forum của các bạn, cho các bạn thấy được cách thức mà hacker đột nhập vào trang web các bạn để từ đó có cách phòng tránh. Mình không khuyến khích các bạn làm theo để thực hiện ý đồ xấu.
Viết tut này cũng có mặt lợi và mặt hại của nó nhưng nếu các bạn biết áp dụng cho mục đích lương thiện thì nó sẽ giúp ích rất nhiều cho bạn

I/Phương diện hacker - upload shell

Bỏ qua phần làm thế nào hacker có shell trên host, mình chỉ nói đến việc hacker đã khai thác file config và hoàn toàn chiếm quyền admin của website bạn. Sau đây mình sẽ liệt kê một cách gần như đầy đủ các phương pháp mà hacker có thể chèn shell và ẩn nó trong forum của bạn để có thể dễ dàng trong những cuộc tấn công tiếp theo.

Method 1: tạm gọi là up shell qua việc edit teamplate (cách này gần giống với kiều RFI-remote file include)

Bạn lần lượt làm như sau:
Vào admincp -->Plugin manager -->Add new plugin Ở phần HOOK Location bạn chọn là : CACHE_TEMPLATE nhé,
Phần Name: có thể đặt tên tùy ý
Phần plugin php code hãy dùng đoạn code sau để include shell:



Bạn phải đăng nhập mới có thể xem được nội dung.Nếu bạn chưa có tài khoản,xin vui lòng đăng ký để có thể xem được nội dung.
This image has been resized.Click to view original image

Nhớ kích vào nút đồng ý (yes) để active plugin này nhé .

This image has been resized.Click to view original image


Bây giờ cùng test nhé ở đây mình test trên localhost.
bạn thêm phần ?nameshell=helloworld vào sau:
index.php hoặc image.php, online.php hay bất cứ file php nào ở ngoài index của host, cái này tùy thuộc vào bạn
Ở đây mình thử với index.php nhé
This image has been resized.Click to view original image


Method 2: chèn shell bằng cách edit file .php có trong host
Bạn tìm những file mà admin ít để ý để chèn đoạn code sau vào nhé, có thể chèn vào bất cứ đâu mà bạn muốn.

Bạn phải đăng nhập mới có thể xem được nội dung.Nếu bạn chưa có tài khoản,xin vui lòng đăng ký để có thể xem được nội dung.
Demo: mình edit file announcement.php

Bạn phải đăng nhập mới có thể xem được nội dung.Nếu bạn chưa có tài khoản,xin vui lòng đăng ký để có thể xem được nội dung.
Hưởng thụ thành quả lao động nào
This image has been resized.Click to view original image


Method 3: là cách import file xml qua plugin
Bạn lần lượt làm như sau:
Plugins & Products --> Download / Upload Plugins --> chọn lấy con shell xml và import vào. (đính kèm ở bài viết)
This image has been resized.Click to view original image


Bạn có thể mở source file shell xml lên và thay subscriptions.php bằng repair.php hoặc faq.php (bất cứ file .php nào trong admincp mà bạn nghĩ admin site đó sẽ không chú ý đến). Bạn cũng có thể import vào nhiều file cho chắc ăn

cách run shell cũng khá đơn giản là bạn import shell vào file nào thì run file đó thôi chẳn hạn tôi import shell vào file subscriptions.php tôi sẽ run shell như thế này admincp/subscriptions.php làm theo tương tự với những file khác
demo here:
This image has been resized.Click to view original image


Method 4: import shell qua skin
Bạn lần lượt làm như sau:

Styles & Templates --> Download / Upload Styles --> chọn shell để upload (đính kèm ở bài viết)

Bạn muốn thêm shell vào skin nào thì ở phần Merge Into Style chọn skin đó.
This image has been resized.Click to view original image


và đây là kết quả
This image has been resized.Click to view original image

cũng cool đó nhỉ
II/Phương diện webmaster - giải quyết sự cố bị hack
Tiếp sau đây mình xin hướng dẫn các bạn cách clear shell trên host:
- Đầu tiên bạn sẽ phải quan sát thật kĩ xem có file nào lạ không.
- Tiếp theo bạn hãy download source forum về và dùng antivirut để check shell nếu hacker chỉ up shell thông thường lên forum và không dấu nó. Bạn chú ý xem kĩ những folder trong forum như include, modcp ...
Nếu shell đã được mã hóa thì anti sẽ không check ra tốt nhất là nên up một source forum mới lên thay thế source forum cũ.
- Đối vời shell được chèn vào database và source thì tùy theo từng dạng ta có phương pháp phòng chống riêng
+ Method 1: đợi suy nghĩ xong rồi post tiếp
+ Method 2: upload new source như đã nói ở trên.
+ Method 3: bạn vào Plugin Manager bạn bắt đầu tìm với cột Hook Location nếu tìm thấy phần nào có init_startup thì đó chính là con shell mà hacker đã include vào
This image has been resized.Click to view original image

+ Method 4: remove skin bị đính kèm shell

Bài viết có sử dụng tư liệu của mafia_boy,quang hùng, ly0kha, alucar,meoconx ...

No comments:

Post a Comment