Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

WordPress bị hack? Hướng dẫn từng bước xóa Malware & khôi phục bảo mật

Website WordPress của bạn bị hack và nhiễm malware?

Nếu bạn mới bắt đầu, có thể bế tắc không biết làm gì, làm sao. Dù có kinh nghiệm dev, tìm & xóa hack chính xác vẫn rất khó.

Đây là hướng dẫn toàn diện giúp bạn detection & removal từ A-Z. Bao gồm: triệu chứng, kỹ thuật phát hiện, quy trình xóa hack, nguyên nhân & loại hack phổ biến. Muốn ישר đến bước xóa malware, click đây.

Triệu chứng WordPress bị hack

Defacement (biến dạng giao diện) là dấu hiệu rõ ràng. Nhiều dấu hiệu khác tinh vi, dễ bỏ qua:

1. Cảnh báo hệ thống

  • Email cảnh báo suspend tài khoản từ hosting.
  • Google Search hiển thị cảnh báo đỏ dưới tên site.
  • Giảm traffic đột ngột → site có thể bị blacklist do malware/spam.
  • Khách Astra nhận email cảnh báo malware từ scanner.

2. Hành vi bất thường

  • Redirect user – dấu hiệu rõ ràng nhất.
  • Không đăng nhập được admin – hacker có thể đổi pass/khóa bạn. Kiểm tra user/pass đúng trước.
  • Adblocker chặn site do cryptojacking.
  • Popup/quảng cáo độc hại xuất hiện.
  • Cron job lạ / server log bất thường.
  • Ký tự tiếng Nhật / nội dung vô nghĩa – Japanese Keyword Hack hoặc Pharma Hack.
  • Spam email đi từ domain WordPress.
  • Lỗi bất ngờ / site chậm, không phản hồi.
  • Traffic thấp nhưng server consume resource nặng.

3. Thay đổi file

  • File mới/lạ trong wp-admin & wp-includes (hiếm khi có file mới).
  • Theme, header, footer bị sửa để tạo redirect.
  • User admin lạ trong DB.
  • Meta description sai trên Google Search.
  • Link độc hại trong core file.

Cách sửa WordPress bị hack

1. Nhờ Astra hỗ trợ (Khuyên dùng)

Khách Astra Pro: mở support ticket – engineer dọn hack & xử lý blacklist cho bạn.

Chưa dùng Astra? Đăng ký ngay – dịch vụ xóa malware tức thì, site lên lại trong vài giờ.

2. Backup toàn bộ site

Backup phải restore được mới có giá trị. Bao gồm: WP core files, WP database, plugin files, theme files, .htaccess.

Cách backup:

  • Plugin: UpdraftPlus – backup full (file + DB) lên local/cloud.
  • SSH: zip -r backup-pre-cleanup.zip → tải về PC.
  • SFTP (FileZilla): Copy thủ công – chậm hơn.

Backup Database:

  • Plugin UpdraftPlus.
  • phpMyAdmin: Export full DB.
  • SSH: mysqldump -p -h hostname -u username database > backup-pre-cleanup.sql (đổi credential trước khi chạy). Xóa bản trên server sau khi lưu local.

3. Bật Maintenance Mode

Ngăn user thấy site bị hack, bảo vệ uy tín & ngăn redirect độc hại. Dùng plugin Coming Soon / SeedProd tùy chỉnh trang bảo trì.

4. Đổi tất cả mật khẩu ngay

wp-admin, hosting panel, database, FTP, email chính. Yêu cầu team đổi pass. Hacker có thể lấy pass của đồng nghiệp. Dùng password manager (LastPass, KeePass) tạo pass mạnh. Lưu ý: đổi DB pass → phải update wp-config.php.

5. Kiểm tra lỗ hổng Plugin

56% hack WordPress do plugin vulnerability. Kiểm tra version plugin hiện tại có CVE không tại WordPress Forum hoặc Blog Astra (chúng tôi cập nhật exploit lớn).

6. Chẩn đoán file (Diagnose)

6.1 Malware Scanner

Chạy scanner (online hoặc plugin). Tự quét thủ công tốn thời gian & kém chính xác. Dùng tool online decode hiddencode.txt hoặc phpMyAdmin.

6.2 Command 'find' xem file sửa đổi gần đây

SSH vào server:

find . -mtime -2 -ls

Liệt kê file sửa đổi 2 ngày qua. Tăng số ngày cho đến khi thấy dấu hiệu bất thường. Kết hợp grep tìm base64:

find . -name "*.php" -exec grep "base64"'{}'\; -print &> hiddencode.txt

6.3 So sánh với WordPress core gốc

Tải WordPress fresh đúng version của bạn. So sánh bằng diff checker online. Chú ý từ khóa độc hại: eval, exec, strrev, assert, base64, str_rot13, stripslashes, preg_replace(/e/), move_uploaded_file…

Tìm nhanh bằng CLI:

sudo grep -ril base64 /

Thay base64 bằng từng keyword khác.

6.4 Công cụ chẩn đoán Webmaster

Google Search Console > Security Issues: xác định loại hack & file/trang bị nhiễm.

7. Dọn malware khỏi file WordPress

Sau chẩn đoán, review từng finding. Dọn core files: wp-config.php, wp-content/uploads, wp-uploads, plugin files, theme files, database…

Hướng dẫn chuyên biệt theo loại hack:

  • Fix WordPress Redirect Hack
  • Fix wp-vcd malware (popup/function.php)
  • Fix Japanese SEO Spam
  • Fix Pharma Hack (Viagra redirect)
  • Remove WordPress Javascript Malware
  • Fix Google Blacklist
  • Fix WordPress Admin Hack (defaced/cannot login)
  • Detect & Remove Backdoors

8. Dọn Sitemap

Malware có thể ngụ trong sitemap.xml. Kiểm tra & xóa link độc. Ping Google recrawl qua Search Console.

9. Dọn Database

DB chứa user, page, credential – mục tiêu hấp dẫn. Quét bằng malware scanner. Thủ công: scan 11 tables, tìm link/iframe đáng ngờ. Ví dụ redirect code trong DB.

10. Reinstall (Cài đặt lại)

Nếu nhiễm nặng: xóa file & cài mới. Reinstall cả plugin (plugin disable cũng có vuln).

Không nên xóa toàn bộ site làm lại từ đầu nếu không tuân thủ security practice – hack sẽ quay lại.

Nguyên nhân phổ biến gây nhiễm Malware WordPress

  1. Không update WordPress: Nguyên nhân #1. Luôn update nhanh nhất.
  2. Shared hosting: Rẻ nhưng rủi ro cao. Chuyển hosting bảo mật hơn, provider uy tín.
  3. Mật khẩu yếu & username mặc định: Pass dạng tên/không số/ký tự đặc biệt = yếu. Bảo vệ: wp-admin, hosting panel, DB, FTP, email chính. Đổi username "admin" thành unique.
  4. File permission sai: Chuẩn: file 644, folder 755.
  5. wp-admin không bảo vệ: Restrict access theo role, thêm authentication layer (2FA, IP restrict).
  6. Plugin/Theme cũ: Chứa vuln đã công khai. Update ngay khi có patch.
  7. Dùng FTP thường thay vì SFTP/SSH: FTP plaintext pass. SFTP encrypt data. Chuyển protocol sang SFTP/SSH.

Cách hacker tấn công WordPress (Kỹ thuật)

1. SQL Injection (SQLi)

WP ≤ 4.8.3 vulnerable. Hàm $wpdb->prepare() (dùng cho safe query) bị bypass. Plugin WP Statistics (300k+ download) từng bị SQLi. Attacker đọc table wp_users, crack pass (dù hash), lấy admin access, upload reverse shell.

2. Cross-Site Scripting (XSS)

WP ≤ 5.1.1 vulnerable stored XSS/CSRF/RCE. Hàm wp_filter_kses() cho phép tag <a href>. Attacker inject payload: <a title='XSS "onmouseover=evilCode() id="'> – lưu DB & thực thi khi user load page.

3. CSRF (Cross-Site Request Forgery)

WP không implement CSRF token (do trackback/pingback). Dùng nonce cho admin validation. Nếu admin fail nonce → comment sanitized bằng wp_filter_post_kses() (cho phép nhiều tag hơn) → CSRF exploit.

4. Remote Code Execution (RCE)

WP < 4.9.9 & 5.x < 5.0.1 vulnerable. Tham số _wp_attached_file() meta post bị manipulate thành chuỗi kết thúc .jpg? substring file.php. Cần author privilege. Upload ảnh crafted với PHP code trong Exif metadata. Exploit public + Metasploit module.

5. Path Traversal

WP 5.0.3 vulnerable. Cần author privilege. Hàm wp_crop_image() cho phép save file tới thư mục tùy ý qua ../ (vd: .jpg?/../../file.jpg). Exploit & Metasploit public.

6. Plugin/Theme buggy

Plugin code kém, theme tác giả không uy tín, hoặc attacker tự phát hành plugin/theme chứa malware. WP core cũ cũng tạo lỗ hổng.

Bảo vệ WordPress toàn diện

1. Thực hành an toàn (Security Practices)

  • Pass mạnh, ngẫu nhiên. Không pass phổ biến/mặc định.
  • Xóa folder cài đặt WP cũ (rò rỉ info nhạy cảm).
  • Không dùng nulled theme/plugin. Update plugin/theme mới nhất.
  • Dùng subnet khi chia sẻ hosting.
  • Đảm bảo không port nhạy cảm mở ra internet.
  • Disable directory indexing cho file nhạy cảm qua .htaccess.
  • Block IP theo country nếu detect heavy bot traffic.
  • Secure coding practice (nếu dev).
  • Bắt buộc SSL cho site.
  • Luôn backup site ở nơi riêng biệt.
  • Đổi slug wp-login.php thành unique.
  • Bật 2FA (Two-Factor Authentication).

2. Giải pháp bảo mật (Security Solution)

Firewall bảo vệ site ngay cả khi vuln tồn tại. Astra cung cấp 3 plan: Essential, Pro, Business – phù hợp blog nhỏ đến enterprise. Cài plugin Astra → site bảo vệ tự động.

3. Security Audit & Pentesting

Vuln WP xuất hiện thường xuyên. Pentest định kỳ phát hiện lỗ hổng trước hacker. Astra cung cấp Security Audit toàn diện 120+ active test – kết hợp auto & manual testing.