Local Attack là gì?
Local Attack (hay Hack Local) là một hình thức tấn công mạng thường gặp, nhắm vào các website hoặc hệ thống cùng được lưu trữ trên một máy chủ. Phương thức này thường sử dụng các đoạn mã khai thác (shell) được lập trình bằng các ngôn ngữ như PHP, ASP.NET hay Python.
Mục tiêu chính của Local Attack là giành quyền kiểm soát một website, sau đó lợi dụng quyền truy cập này để xâm nhập và tấn công những website khác nằm chung server.
Bên cạnh đó, Local Attack đôi khi xuất phát từ chính các tài khoản hợp pháp trong mạng nội bộ, chẳng hạn như nhân viên hoặc đối tác. Đây là yếu tố khiến việc đảm bảo an toàn thông tin trở thành một thách thức đáng kể đối với doanh nghiệp.
Các bước thực hiện Hack Local
Thông thường, quá trình Hack Local sẽ được tiến hành theo các bước cơ bản như sau:
- Bước 1: Quét và tìm kiếm các tài khoản user đang tồn tại trên máy chủ (server).
- Bước 2: Tiếp cận và đọc nội dung của các file cấu hình (Config) trong WordPress.
- Bước 3: Thu thập thông tin đăng nhập vào cơ sở dữ liệu (Database).
- Bước 4: Tấn công và chiếm quyền truy cập tài khoản Admin.
- Bước 5: Tải lên Shell để từ đó thực hiện các hành vi kiểm soát, xâm nhập hoặc phá hoại website.
Có các kiểu tấn công Local Attack nào?
Khi thực hiện Local Attack, bước đầu tiên mà hacker thường làm là thu thập càng nhiều thông tin về mục tiêu càng tốt. Họ sẽ quét dữ liệu cơ bản như tên miền, địa chỉ IP của hosting, sau đó kiểm tra mã nguồn website, các plugin hoặc đoạn code có tồn tại lỗ hổng bảo mật hay không. Nếu phát hiện lỗi bảo mật thường gặp như SQL Injection, XSS hoặc các lỗ hổng khác, kẻ tấn công có thể khai thác ngay để xâm nhập trực tiếp.
Trong trường hợp kiểm tra sơ bộ không tìm thấy lỗ hổng khai thác trực tiếp, hacker sẽ chuyển sang kỹ thuật Reverse IP. Đây là quá trình quét toàn bộ các website đang sử dụng cùng địa chỉ IP server với mục tiêu. Tùy cấu hình của máy chủ, số lượng website cùng chạy trên một IP có thể nhiều hay ít. Sau khi thu được danh sách, chúng sẽ rà soát từng website “hàng xóm” để tìm trang có lỗ hổng bảo mật.
Nếu phát hiện website trong cùng server bị lỗi như SQL Injection hoặc các lỗ hổng nghiêm trọng khác, hacker sẽ khai thác để chiếm quyền quản trị và tải lên shell. Shell này sẽ trở thành bàn đạp để tấn công, xâm nhập vào trang web mục tiêu.
Brute Force
Một phương pháp khác tuy ít gặp nhưng vẫn nguy hiểm, là Brute Force. Đâu là cách tấn công bằng cách thử nhiều mật khẩu để đoán đúng thông tin đăng nhập. Nghe có vẻ khó khả thi, nhưng trên thực tế vẫn có nhiều quản trị viên dùng tài khoản và mật khẩu mặc định sau khi cài đặt, hoặc đặt password quá đơn giản như: 123456789, 123456abc, admin, …
Khi đăng nhập thành công, hacker có thể tải shell lên hosting, từ đó thực thi các lệnh nhằm đánh cắp dữ liệu hoặc phá hoại website.
Cách phòng chống Local Attack hiệu quả
Mặc dù Local Attack có thể gây ra nhiều rủi ro nhưng nếu áp dụng đúng các biện pháp bảo mật, bạn hoàn toàn có thể ngăn chặn loại tấn công này. Việc thiết lập hệ thống an toàn sẽ khiến shell không thể hoạt động trong môi trường local. Theo kinh nghiệm từ các lập trình viên, bạn có thể áp dụng những phương pháp sau:
- Không sử dụng mã nguồn không rõ xuất xứ vì các mã nguồn lạ có thể chứa sẵn lỗ hổng hoặc mã độc tiềm ẩn.
- Luôn cập nhật phiên bản mới nhất của các mã nguồn mở để vá các lỗ hổng bảo mật.
- Thiết lập mật khẩu mạnh, kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt; tránh đặt mật khẩu dễ đoán.
- Không dùng chung mật khẩu cho nhiều tài khoản vì việc trùng lặp có thể khiến kẻ tấn công chiếm quyền truy cập hàng loạt khi một tài khoản bị lộ.
- Bên cạnh đó, cần thiết lập quyền truy cập an toàn. Sử dụng CHMOD 400 cho tệp chứa dữ liệu nhạy cảm và CHMOD 101 cho thư mục quan trọng.
- Ưu tiên sử dụng VPS thay vì hosting chia sẻ để giảm nguy cơ bị tấn công từ các website khác trên cùng server.
- Ngoài ra, bạn cần sao lưu dữ liệu thường xuyên và quét mã nguồn để phát hiện sớm mã độc.
Ngăn chặn Local Attack trên CentOS
Bước 1: Truy cập file /etc/php.ini và vô hiệu hóa các hàm PHP có nguy cơ bị khai thác:
PASSTHRU, SYSTEM, SHELL_EXEC, EXEC, VIRTUAL, SOCKET_ACCEPT, SOCKET_BIND, SOCKET_CLEAR_ERR, SOCKET_CLOSE, SOCKET_CONNECT, SOCKET_CREATE_LISTE, PROC_TERMINATE, PCNTL_EXEC, PUTENV, PROC_CLOSE, PROC_GET_STATUS, PROC_NICE, PROC_OPEN, POPEN, PCLOSE, SET_TIME_LIMIT, ESCAPESHELLCMD, ESCAPESHELLARG, DL, SHOW_SOURCE, INI_ALTER, OPENLOG, POSIX_GETPWUID, SYMLINK, INI_RESTORE, CHROOT, CHOWN, CHGRP, POSIX_SETEGID, POSIX_SETEUID, POSIX_SETGID, POSIX_SETPGID, POSIX_SETSID, POSIX_SETUID, POSIX_KILL, SYSLOG, APACHE_CHILD_TERMINATE, APACHE_SETENV, DEFINE_SYSLOG_VARIABLES, OPENLOG, PHP_UNAME, PHP_MKDIR, FOPEN, FCLOSE, BASE64_DECODE, GZINFLATE
Bước 2: Kích hoạt chế độ an toàn (Safe Mode) bằng cách bật:
SAFE_MODE = ON
Cách hạn chế Local Attack trong WordPress
Để giảm thiểu rủi ro từ Local Attack, đặc biệt trên các website WordPress, bạn cần áp dụng đồng bộ nhiều biện pháp bảo mật. Dưới đây là những phương pháp hiệu quả được các chuyên gia khuyến nghị.
Ẩn file wp-config.php
Mặc định, file cấu hình wp-config.php sẽ nằm trong thư mục public_html của tên miền mình cấu hình
Tạo 1 thư mục tên bất kì ở thư mục ngang hàng với cả public_html. Ở đây mình đặt tên là leti
Quay trở lại thư mục public_html, tích chọn vào wp-config.php ⇒ chọn Add to Clipboard ⇒ Sau đó vào thư mục leti vừa tạo ⇒ Chọn Copy Clipboard Files Here để sao chép wp-config.php sang thư mục leti
Quay trở lại thư mục public_html, nhấn vào edit của file wp-config.php và sửa thành nội dung sau:
<?php
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . '../leti/wp-config.php');
*Lưu ý: Thay tên leti bằng tên thư mục mà bạn đã tạo ở trên
Sau đó, bạn thay leti bằng tên thư mục bạn đã tạo để nó có thể đặt ngang hàng với public_html.
Tuy nhiên, một lưu ý bạn cần nắm là cách này chỉ áp dụng khi file cài đặt WordPress nằm trực tiếp trong public_html.
Thay đổi tiền tố bảng dữ liệu (Database Prefix)
WordPress mặc định sử dụng tiền tố bảng là wp_. Nên đổi sang tiền tố khác để tránh việc hacker đoán tên bảng dữ liệu.
Thay đổi Security Key
Mở file wp-config.php và tìm đoạn:
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
...
Truy cập https://api.wordpress.org/secret-key/1.1/salt/ để lấy bộ key mới và thay thế toàn bộ giá trị hiện có.
Ngăn chỉnh sửa file trong wp-admin
Thêm vào cuối file wp-config.php:
define('DISALLOW_FILE_EDIT', true);
Ngăn cài đặt plugin và theme qua wp-admin
Thêm vào cuối file wp-config.php:
define('DISALLOW_FILE_MODS', true);
Thiết lập quyền truy cập cho wp-config.php
Chmod file wp-config.php về 400 hoặc 404 để hạn chế truy cập.
Bảo vệ wp-config.php qua .htaccess
Thêm vào cuối file .htaccess:
# Protect wp-config.php
order allow,deny
deny from all
Bảo vệ thư mục wp-content
Tạo file .htaccess trong thư mục wp-content và thêm:
Order deny,allow
Deny from all
Allow from all
Nếu thư mục chứa thêm định dạng khác (ví dụ .woff), hãy bổ sung vào danh sách.
Giới hạn truy cập wp-admin theo IP
Tạo file .htaccess trong thư mục wp-admin với nội dung:
<FilesMatch ".*">
Order Deny,Allow
Deny from all
Allow from 123.456.789
Thay 123.456.789 bằng địa chỉ IP của bạn.
Sử dụng plugin quét mã độc
Một số plugin miễn phí giúp phát hiện và xử lý mã độc:
- Wordfence Security
- Anti-Malware (Get Off Malicious Scripts)
- 6Scan Security
Nếu có ngân sách, nên sử dụng Sucuri Premium để tăng cường bảo mật toàn diện.
Nếu bạn không phải chuyên gia quản trị web, việc triển khai đầy đủ các bước bảo mật này có thể phức tạp. Lúc đó, bạn nên tìm đến dịch vụ chuyên nghiệp để đảm bảo:
- Thiết kế chuẩn kỹ thuật và thẩm mỹ.
- Lập trình đầy đủ tính năng cần thiết.
- Tối ưu tốc độ và bảo mật.
- Đáp ứng tiêu chuẩn SEO.
Local Attack là một dạng tấn công mạng phổ biến và tiềm ẩn nhiều rủi ro, thường được tin tặc sử dụng để xâm nhập vào hệ thống của nạn nhân thông qua việc giả mạo địa chỉ MAC hoặc IP. Trong bài viết này, bạn đã hiểu hơn về Local Attack, nguyên lý hoạt động của nó cũng như các phương pháp phòng tránh hiệu quả chưa?
Trên đây là những thông tin giải đáp Local Attack là gì? Và những cách phòng chống Local Attack hiệu quả. Hy vọng những thông tin mà HostingViet vừa cung cấp sẽ hữu ích với bạn.