Drupal được coi là rất an toàn – lý do phổ biến. Drupal là CMS open-source, mạnh mẽ. Vì open-source, source code công khai – "mỏ vàng" cho bug bounty hunter. Drupal gặp "Pharma Hack" tới "Kitty Cryptomining Malware" gần đây. Một nhiễm tràn lan khác: Drupal hack redirect – chuyển hướng visitor sang trang spam.
Drupal redirect hack xảy ra sau khi attacker khai thác lỗ hổng và sửa nội dung site cài malware. Kết quả: visitor bị redirect sang link spam/đáng ngờ. Chủ site phàn nàn redirect sang trang phishing, adult bán viagra, porn.
Drupal Hack Redirect Trông Như Thế Nào?
Nhiều loại nhiễm redirect:
- Visitor truy cập homepage → redirect sang trang spam
- Click button/link bất kỳ → redirect sang Fake Pharmacy bán Viagra, Cialis
Kiểm tra biến thể 2 bằng Google dork: site:your-website.com "viagra". Dork hiển thị site Drupal redirect viagra. Thay "viagra" bằng 'poker', 'porn', 'loans'... tìm redirect khác.
Loại Drupal Hack Redirect (HTTP Status Code):
- 301 Redirect (Permanent): Google/search engine thấy URL này → cập nhật relation sang location mới. Attacker hay dùng do đơn giản.
- 302 Redirect: Đã được thay bằng 303. 303 = document tạm thời available.
- 303 Redirect: Phiên bản tinh chỉnh 302. Cung cấp trang tạm có thể không tồn tại sau (form thẻ credit, generator tạm...). Ít dùng trừ tấn công sophisticated.
- 307 Redirect: Biến thể 303 với vài khác biệt. Còn 308 experimental – hiếm dùng nhưng không loại trừ.
Dấu Hiệu Drupal Malware Redirect:
- Traffic website tăng bất thường
- File lạ xuất hiện trên site Drupal
- User mới với quyền Admin được tạo
- Click link homepage → redirect spam
- Quảng cáo độc/porn popup trên site
- Node, file lạ chưa biết xuất hiện
- Search engine hiển thị nội dung spam
- Cảnh báo bảo mật/blacklist bởi Google, Bing...
Nguyên Nhân Drupal Hack Redirect:
Nguyên nhân đa dạng, không tóm gọn một bài. Xem sơ qua nguyên nhân chính:
DNS Redirect
DNS redirect khi ai đó sửa entry DNS Server. Khi request site, DNS server gửi user sang entry đó. Test heuristic: DNS lookup. Windows: tracert www.your-site.com. Linux: host www.your-site.com. Nếu DNS lookup trả IP sai → vấn đề ở DNS, không phải site. User nâng cao check rogue DNS server entries.
Sửa Đổi File (Tampering Files)
Attacker có thể sửa .htaccess và index.php. Tìm code độc bên trong. Format code có thể:
data:text/html,<html><meta http-equiv="refresh" content="0; url=https://malicious_site.com/process/route/1673246826.html?refresh=non-ie&bl=0"></html>
Code này redirect site sang https://malicious_site.com.
Core Integrity (Toàn Vẹn Core)
Cần kiểm tra thủ công kỹ lưỡng. Không thể check mọi file thủ công. Bước đầu: check core integrity value của file cài. Bắt đầu:
mkdir drupal-8.3.5
cd drupal-8.3.5
wget https://github.com/drupal/core/archive/8.3.5.tar.gz
tar -zxvf core-8.3.5.tar.gz
Tạo thư mục, tải file gốc từ GitHub, giải nén. Bước quan trọng so sánh: diff -r core-8.3.5 ./public_html – cho thấy thay đổi file của ta vs bản gốc. Lặp lại cho các file khác.
Nguyên Nhân Khác
- SQL injection thảo luận công khai từ 1998. Vẫn ám ảnh site ngày nay. Nguyên nhân: input không sanitized. Bỏ sót dấu chấm phẩy trong code cũng gây lỗ hổng SQLi.
- Cảnh giác tên module lạ như
modules/system/wxeboa.php– không thuộc cài đặt gốc. - Google Transparency Report giúp lớn khi tìm nguyên nhân redirect. Cung cấp nhiều info site.
- Mật khẩu FTP/website yếu có thể gây hack. Dùng config mặc định → đổi ngay!
Kiểm Soát Thiệt Hại (Damage Control) Cho Drupal Hack Redirect:
Dựa Trên Referrer Chứa Từ Khóa
Quy tắc an ninh: không thể loại bỏ hoàn toàn khả năng tấn công, chỉ có thể trì hoãn. Chiêu thức khác: sửa .htaccess để ngay cả khi nhiễm sau này, site chặn user truy cập spam. Tăng niềm tin user. Search engine không blacklist vì bạn tự chặn spam. Mua thời gian, bảo vệ ranking search.
<Limit GET>
order allow, deny
allow from all
deny from env = spammer
SetEnvIfNoCase Referer ". * (Poker | credit | money). *" Spammer
</ Limit>
Code chặn user truy cập trang có link poker, credit... dựa trên HTTP referrer. Site ta không có từ này → block an toàn. Hoạt động như filter với wildcard.
Dựa Trên Identifier Của Chính Nó (HTTP REFERRERS)
Phương pháp 2: chặn truy cập dựa trên identifier riêng (HTTP REFERRERS)
Rewrite Engine On
RewriteBase /
# allow referrals from search engines:
RewriteCond% {HTTP_REFERER}!. * xyz \ .com /.*$ [NC]
RewriteCond% {HTTP_REFERER}! ^ Http: // ([^ /] +) google \ .. * $ [NC]
Thay "google" bằng search engine khác (yahoo, bing...) bạn cho phép.
# Conditions for don`t wanted referrals
RewriteCond% {HTTP_REFERER} ^. * Loans. * $ [OR]
Thay "loan" bằng từ spam (viagra, porn...) muốn block. Lưu ý: Apache ModRewrite phải bật. Có thể chặn IP công khai spam.
Dọn Dẹp Website Nhiễm Drupal Malware Redirect
Database Cleanup:
Kiểm Tra User
Bắt đầuprobe SQL injection. Tìm bảng lạ như Sqlmap (bảng kết quả junk query khi dùng tool pen test Sqlmap tự động). Xem tất cả bảng: show tables ;. Attacker có thể tạo user entry mới, giành admin. Kiểm tra:
Select * from users as u
AND u.created > UNIX_TIMESTAMP(STR_TO_DATE('Oct 15 2018', '%M %d %Y '));
Hiển thị user tạo sau 15/10/2018. Sửa ngày tùy ý. Phát hiện user/bảng lạ → xóa bằng drop database database-name.dbo;.
Chặn User
Block user hoặc đổi pass mọi user. Lệnh:
update users set pass = concat('ZZZ', sha(concat(pass, md5(rand()))));
SQL statement đổi pass user sang format MD5. MD5 = hàm bảo mật cryptographic. Không bao giờ lưu pass plain text – attacker dễ extract từ database compromised. MD5 thêm lớp bảo vệ. Từ 'admin' → hash 86fb269d190d2c85f6e0468ceca42a20. One-way function – khó reverse.
Files Cleanup:
- Rollback cài đặt về bản backup file.
- Dùng module external quét nhiễm. Module hacked module phổ biến.
- Cấm truy cập file nhạy cảm ngoài root directory.
- Tắt error reporting chặn rò rỉ info nhạy cảm.
- Cài đặt lỗi thời → Update! Update! Update!
- Reset API keys và FTP password trước đây. Dùng password mạnh.
- Clear cache:
drush cache-rebuild(Drupal 8) hoặcdrush cache-clear all(Drupal 7). - Dùng WAF solution làm lớp bảo vệ thêm chống Drupal redirect hack.
Vẫn nhiều thứ có thể sai gây redirect hack. Nếu vẫn không giải quyết, liên hệ chuyên gia. Nếu dọn thủ công quá mệt, dùng tool tự động. Cập nhật thường xuyên từ blog, website về lỗ hổng CMS.