Lưu ý
- Cần có thông tin quản lý hosting để xử lý
- Chỉ fix các lỗi liên quan đến malware bị attach vào code (ngoài ra còn lỗi liên quan đến server, lỗi bảo mật khi code)
Làm các bước sau
- Backup code
- Backup database
Sử dụng tool https://github.com/ollyxar/php-malware-detector
- Download file https://github.com/ollyxar/php-malware-detector/blob/master/scanner.php và lưu vào thư mục code
- Chạy lệnh
php scanner.php
sẽ được các thông báo dạng như sau
[ PHP malware scanner ]
2020-02-22 08:16:07 - scan start.
================================================================================
File: /PATH_TO/core/types/type_mime.php
Size: 15.94 KB
Owner: hocvt
Permissions: 0644
Hazard level: 2
--------------------------------------------------------------------------------
[obfuscation] at line 1
danger: \x47\x4c\x4fB
--------------------------------------------------------------------------------
[evaluation] at line 4
danger: eval/*h686f7*/(
================================================================================
================================================================================
File: /PATH_TO/core/uploader.php
Size: 24.14 KB
Owner: hocvt
Permissions: 0644
Hazard level: 1
--------------------------------------------------------------------------------
[networking] at line 261
danger: file_get_contents(
================================================================================
================================================================================
File: /PATH_TO/lib/class_zipFolder.php
Size: 13.23 KB
Owner: hocvt
Permissions: 0644
Hazard level: 2
--------------------------------------------------------------------------------
[obfuscation] at line 1
danger: \x47\x4c\x4fB
--------------------------------------------------------------------------------
[evaluation] at line 3
danger: eval/*g88e7*/(
================================================================================
- Xem các file được cảnh báo để xoá file hoặc xoá các đoạn code mailware. Chú ý có 1 số file sẽ có đoạn include file khác, cần xem xét cả các file đó để xoá đi.
- Xoá các file đã bị inject trong các file
.php
bằng cách search chuỗi@include "\057
trong toàn bộ các file của project.
/*5f3ce*/
@include "\057home\057..........\163/.3a\142c2da\145.ico";
/*5f3ce*/
- Xoá code trên server
- Update code mới sau khi xoá các mailware thông thường đi.
Mục đích là phải xem được access log để xem các request bất thường đến các file php và các ip để block về sau.
- Đối với Direct admin thì truy cập
Site Summary / Statistics / Logs >> Full Usage Log
để download log trong ngày. - Tìm kiếm các request đáng nghi :
- Tìm kiếm các request đến file
php
- Xem đường dẫn file có gì đặc biệt (thường là call trực tiếp đến file ở trong các thư mục sâu)
- Request post kèm theo query string đáng ngờ.
- Tìm kiếm các request đến file
- Xem các file đáng ngờ và xoá tương tự phần xoá trong bước 2
- Cập nhật code như bước 3
Ví dụ request đáng ngờ :
41.226.27.88 - - [22/Feb/2020:05:30:39 +0700] "POST /javascripts/validator/languages/detqykej.php HTTP/1.0" 404 532 "http://example.php/javascripts/validator/languages/detqykej.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
103.56.158.224 - - [22/Feb/2020:05:30:42 +0700] "POST /editor/bsexplorer/upload/eupbmdqa.php HTTP/1.0" 404 525 "http://example.php/editor/bsexplorer/upload/eupbmdqa.php" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Version/10.0 Mobile/14D27 Safari/602.1"
195.114.1.115 - - [22/Feb/2020:05:30:44 +0700] "POST /editor/plugins/autolink/frscxlji.php HTTP/1.0" 404 524 "http://example.php/editor/plugins/autolink/frscxlji.php" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0"
69.49.102.224 - - [22/Feb/2020:05:30:46 +0700] "POST /javascripts/i18n/evcqxyan.php HTTP/1.0" 404 517 "http://example.php/javascripts/i18n/evcqxyan.php" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1"
50.116.111.171 - - [22/Feb/2020:05:30:48 +0700] "POST /ajax/jqgrid_changegroup.php HTTP/1.0" 200 510 "http://example.php/ajax/jqgrid_changegroup.php" "Mozilla/5.0 (iPad; CPU OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 Mobile/14G60 Safari/602.1"
Lưu ý 1 : nếu theo dõi lâu và code/assets/db có thay đổi, cần backup trước khi thực hiện bước 4
Lưu ý 2 : Lặp lại bước 4 đến khi hết lỗi
- Thêm xác thực sử dụng httpaccess cho các thư mục quan trong như
admin
. Xem https://www.plothost.com/kb/password-protect-directory-directadmin-interface/ - Block các ip lọc được từ các requets ở bước 4. Xem thêm https://htaccessbook.com/block-ip-address/