Hướng Dẫn Thực Hành CEH v13 AI – Module 4 Enumeration
Mô-đun 04: Liệt kê
Kịch bản
Với sự phát triển của các công nghệ và ứng dụng mạng, các cuộc tấn công mạng đang ngày càng gia tăng. Những kẻ tấn công tìm kiếm các lỗ hổng bảo mật trong các mạng và máy chủ. Khi chúng tìm thấy lỗ hổng trong một dịch vụ chạy trên Internet, chúng sẽ ngay lập tức khai thác nó để xâm nhập toàn bộ hệ thống. Tương tự, những kẻ tấn công tìm kiếm các lỗ hổng được sử dụng để xâm nhập các hệ thống nội bộ, chẳng hạn như các máy chủ ứng dụng khác nhau, máy trạm người dùng cuối, v.v. để thực hiện các cuộc tấn công tiếp theo với các đặc quyền nâng cao, cuối cùng là làm hỏng toàn bộ mạng.
Trong bước đầu tiên của đánh giá bảo mật hoặc kiểm tra xâm nhập, bạn thu thập thông tin về phạm vi của công việc, mục tiêu, và các ràng buộc của bạn. Trong bước thứ hai, bạn thu thập thông tin về công ty mục tiêu, chẳng hạn như thông tin cổng mở, thông tin về các OSES, và cấu hình máy.
Bước tiếp theo của kiểm tra đạo đức hoặc kiểm tra xâm nhập là thực hiện liệt kê mạng. Sử dụng các kỹ thuật khác nhau, bạn sẽ trích xuất thông tin chi tiết hơn về mạng, chẳng hạn như danh sách máy chủ, tên người dùng, nhóm người dùng, cổng, hệ điều hành, tài nguyên máy, dịch vụ, v.v.
Thông tin gleaned từ liệt kê sẽ giúp xác định các lỗ hổng trong hệ thống của bạn. Thông tin này cũng có thể cho phép những kẻ tấn công thực hiện các cuộc tấn công từ chối dịch vụ nhằm làm tê liệt các máy chủ hoặc tài nguyên quan trọng của bạn.
Trong các bước trước, bạn đã thu thập thông tin cần thiết về một mục tiêu mà không cần thực hiện bất kỳ kiểu truy cập trái phép nào. Tuy nhiên, xin lưu ý rằng việc truy cập thông tin mà không có sự đồng ý có thể được coi là hoạt động bất hợp pháp tùy thuộc vào luật pháp địa phương. Là một hacker đạo đức, bạn phải luôn đảm bảo tuân thủ các luật pháp địa phương khi thực hiện các bài kiểm tra xâm nhập.
Mục tiêu
Mục tiêu của bài lab này là trích xuất thông tin về tổ chức mục tiêu bao gồm, nhưng không giới hạn ở:
- Tên máy và hệ điều hành
- Tài nguyên mạng, tên người dùng, dịch vụ và cổng
- Danh sách người dùng và nhóm
- Danh sách các ổ chia sẻ trên tất cả các máy chủ trong mạng
- Routing table
- Cấu hình cổng và dịch vụ
- SNMP, FQDN và chi tiết cài đặt
Tổng quan về Liệt kê
Liệt kê tạo kết nối chủ động với hệ thống và thực hiện các truy vấn có hướng để thu thập thêm thông tin về mục tiêu. Nó trích xuất danh sách máy tính, tên người dùng, nhóm người dùng, cổng, hệ điều hành, tài nguyên mạng và dịch vụ bằng cách sử dụng các kỹ thuật khác nhau. Liệt kê được thực hiện trong một môi trường mạng nội bộ.
Bài tập thực hành
Hacker đạo đức hoặc kiểm tra xâm nhập sẽ sử dụng một số công cụ và kỹ thuật để liệt kê mạng mục tiêu. Các bài tập thực hành được đề xuất bao gồm:
- Thực hiện liệt kê NetBIOS sử dụng các tiện ích dòng lệnh của Windows
- Thực hiện liệt kê SNMP sử dụng SnmpWalk
- Thực hiện liệt kê LDAP sử dụng Active Directory (AD) Explorer
- Thực hiện liệt kê NFS sử dụng RPCscan và SuperEnum
- Thực hiện liệt kê DNS sử dụng Zone Transfer
- Thực hiện liệt kê SMTP sử dụng Nmap
- Liệt kê thông tin bằng cách sử dụng Global Network Inventory
- Liệt kê bằng cách sử dụng ShellGPT
Bài tập 1: Thực hiện liệt kê NetBIOS
Kịch bản bài tập
Là một hacker đạo đức chuyên nghiệp hoặc kiểm tra xâm nhập, bước đầu tiên của bạn trong việc liệt kê hệ thống Windows là khai thác NetBIOS API. Liệt kê NetBIOS cho phép bạn thu thập thông tin về mục tiêu, chẳng hạn như danh sách máy tính, mật khẩu, tên miền, ổ chia sẻ, v.v.. Dữ liệu này có thể được sử dụng để thăm dò các máy chủ về các lỗ hổng bảo mật bổ sung, các chính sách, và tài nguyên cục bộ.
Mục tiêu bài tập
- Thực hiện liệt kê NetBIOS sử dụng các tiện ích dòng lệnh của Windows
Tổng quan về liệt kê NetBIOS
NetBIOS là viết tắt của Network Basic Input Output System. Windows sử dụng NetBIOS cho tên và chia sẻ. A NetBIOS name là một định danh duy nhất được gán cho mọi máy tính. Hệ thống máy in sử dụng 16 ký tự ASCII đầu tiên làm tên, trong khi 16 ký tự còn lại được dành cho tên dịch vụ TCP/IP. 15 ký tự đầu tiên được sử dụng cho tên thiết bị, và ký tự thứ 16 được dành cho dịch vụ.
Dịch vụ NetBIOS thường là mục tiêu bị tấn công, vì nó dễ bị khai thác và tấn công trên các hệ thống Windows ngay cả khi không có lỗ hổng (tùy thuộc vào sự sẵn có của các ổ chia sẻ). Những kẻ tấn công có thể đọc hoặc ghi vào một hệ thống máy tính từ xa, hoặc thậm chí khởi động một cuộc tấn công từ chối dịch vụ (DoS).
Nhiệm vụ 1: Thực hiện liệt kê NetBIOS sử dụng các tiện ích dòng lệnh của Windows
Nbstat giúp trong việc khắc phục sự cố NetBIOS bằng cách sử dụng các tùy chọn dòng lệnh khác nhau. Nbstat có thể được sử dụng để hiển thị và sửa các entries NetBIOS trong cache, giải quyết các sự cố phân giải tên NetBIOS, hiển thị thông tin thống kê NetBIOS, và liệt kê các máy tính cục bộ và từ xa trong mạng. Nó cũng hiển thị các bảng tên được sử dụng cho cả giao tiếp cục bộ và từ xa, cũng như các tài nguyên được chia sẻ.
Ở đây, chúng tôi sẽ sử dụng Nbstat và Net use, các tiện ích dòng lệnh của Windows để thực hiện liệt kê NetBIOS.
Ở đây, chúng tôi sẽ sử dụng máy Windows Server 2019 (10.10.1.19) để mục tiêu là máy Windows 10 (10.10.1.1).
- Bằng cách sử dụng máy Windows 11, chuyển sang máy Certified Ethical Hacker. Chọn máy Windows Server 2019 để chuyển sang máy đó. Nhập tên đăng nhập là Administrator và mật khẩu là Password.
Thay vào đó, bạn cũng có thể nhấp vào Password bên dưới hình thu nhỏ của máy Windows Server 2019 trong bảng Resources.
Trong màn hình Networks, nhấp vào Yes để cho phép các máy tính và thiết bị khác trên mạng khám phá máy tính của bạn.
- Mở Command Prompt và chạy lệnh nbstat -a [Địa chỉ IP của máy từ xa] (Địa chỉ IP của máy mục tiêu là 10.10.1.11)
Lệnh này sẽ hiển thị tên NetBIOS của máy tính từ xa.
- Kết quả xuất hiện, hiển thị tên NetBIOS của máy tính từ xa (ở đây, là WINWINMACHINE), như được hiển thị trong ảnh chụp màn hình.
- Trong cùng cửa sổ Command Prompt, hãy chạy lệnh nbstat -c.
Lệnh này, -c, liệt kê nội dung của bộ nhớ cache tên NetBIOS của máy tính từ xa.
- Kết quả xuất hiện, hiển thị nội dung của bộ nhớ cache tên NetBIOS, bảng tên NetBIOS và địa chỉ IP đã phân giải của chúng.
Có thể trích xuất thông tin này mà không cần tạo phiên null (một phiên không được xác thực).
- Bây giờ, hãy chạy lệnh net use. Đầu ra hiển thị thông tin về mục tiêu, chẳng hạn như trạng thái kết nối, ổ chia sẻ, folder được chia sẻ và thông tin mạng, như được hiển thị trong ảnh chụp màn hình.
- Sử dụng thông tin này, những kẻ tấn công có thể đọc hoặc ghi vào hệ thống máy tính từ xa, tùy thuộc vào sự sẵn có của các ổ chia sẻ, hoặc thậm chí khởi động một cuộc tấn công từ chối dịch vụ (DoS).
- Điều này kết luận minh họa về việc thực hiện liệt kê NetBIOS bằng cách sử dụng các tiện ích dòng lệnh của Windows, chẳng hạn như Nbstat và Net use.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.1.1:
Đặt tên ổ chia sẻ/folder có sẵn trên máy Windows Server 2019.
Bài tập 2: Thực hiện liệt kê SNMP
Kịch bản bài tập
Là một hacker đạo đức chuyên nghiệp hoặc người kiểm tra xâm nhập, bước tiếp theo của bạn là thực hiện liệt kê SNMP để trích xuất thông tin về tài nguyên mạng (chẳng hạn như máy chủ, bộ định tuyến, thiết bị) và thông tin thống kê mạng (chẳng hạn như bảng định tuyến ARP, bảng định tuyến, thiết bị cụ thể thông tin, và thống kê lưu lượng).
Sử dụng thông tin này, bạn có thể tiếp tục quét mục tiêu để tìm các lỗ hổng cơ bản, xây dựng chiến lược tấn công và khởi động tấn công.
Mục tiêu bài tập
- Thực hiện liệt kê SNMP sử dụng SnmpWalk
Tổng quan về liệt kê SNMP
SNMP (Simple Network Management Protocol) là một giao thức lớp ứng dụng chạy trên UDP (User Datagram Protocol) và được sử dụng để quản lý các bộ định tuyến, máy chủ và switch trên mạng IP. SNMP sử dụng agent trên cả Windows và UNIX.
Liệt kê SNMP làm việc bằng cách tạo danh sách người dùng, tài khoản và thiết bị trên mạng máy tính bị xâm nhập. SNMP chạy trên hai loại thiết bị: máy tính của kẻ tấn công, và thiết bị trên mạng. SNMP agent giao tiếp với SNMP management station.
Nhiệm vụ 1: Thực hiện liệt kê SNMP sử dụng SnmpWalk
SnmpWalk là một công cụ dòng lệnh quét nhiều nút SNMP cùng lúc và định nghĩa một tập hợp các biến có sẵn trên nút SNMP, chẳng hạn như bộ định tuyến và switch. Nó có thể được chạy ở chế độ root, và nó sẽ sử dụng tất cả các biến phụ có sẵn trên nút mục tiêu.
Ở đây, chúng ta sẽ sử dụng SnmpWalk để truy cập các nút mục tiêu trên một hệ thống mục tiêu.
- Nhấp vào Parrot Security để chuyển sang máy Parrot Security. Đăng nhập bằng tên người dùng attacker và mật khẩu toor. (Bạn sẽ không thấy mật khẩu bạn nhập.)
- Chạy lệnh snmpwalk -v1 -c public [target IP] (ở đây, địa chỉ IP mục tiêu là 10.10.1.22).
-v chỉ định phiên bản SNMP (1 hoặc 2c hoặc 3), và -c đặt một chuỗi cộng đồng.
- Kết quả hiển thị tất cả các OID, biến và các thông tin liên quan khác.
- Chạy lệnh snmpwalk -v2c -c public [Target IP Address] để thực hiện liệt kê SNMPv2 trên mục tiêu (Địa chỉ IP mục tiêu là 10.10.1.22).
-v chỉ định phiên bản SNMP (2c ở đây là phiên bản được chọn), và -c đặt một chuỗi cộng đồng.
- Kết quả hiển thị dữ liệu được truyền từ SNMP server, bao gồm thông tin về máy chủ, thông tin xác thực người dùng và các tham số khác.
- Điều này kết thúc minh họa về việc thực hiện liệt kê SNMP sử dụng SnmpWalk.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.2.1:
Sử dụng SnmpWalk để thực hiện liệt kê SNMP trên máy Windows Server 2022. Nhập tùy chọn đặt chuỗi cộng đồng “STRING”.
Bài tập 3: Thực hiện Liệt kê LDAP
Kịch bản bài tập
Là một hacker đạo đức chuyên nghiệp hoặc người kiểm tra xâm nhập, bước tiếp theo sau liệt kê SNMP là thực hiện liệt kê LDAP để truy xuất mục nhập vào một thư mục sử dụng Active Directory hoặc các dịch vụ thư mục khác.
Dịch vụ thư mục cung cấp thông tin có cấu trúc phân cấp và hợp lý về các thành phần của mạng, từ máy in đến bảng lương của công ty. Theo nghĩa này, liệt kê LDAP cho phép bạn thu thập thông tin về tên người dùng, địa chỉ, chi tiết phòng ban, chi tiết máy chủ, v.v..
Mục tiêu bài tập
- Thực hiện liệt kê LDAP bằng cách sử dụng Active Directory (AD) Explorer.
Tổng quan về Liệt kê LDAP
LDAP (Lightweight Directory Access Protocol) là một giao thức Internet được sử dụng để truy cập phân tán và tra cứu nhanh chóng các dịch vụ thư mục qua mạng. LDAP sử dụng phiên DNS để kết nối với DSA (Directory System Agent). Thông thường, cổng 389 được sử dụng để truyền các yêu cầu vận hành giữa máy khách và máy chủ. Về cơ bản, LDAP mở một đường dẫn giao tiếp an toàn để truyền thông tin nhạy cảm giữa máy khách và máy chủ. Nó được sử dụng để truy xuất thông tin về tên người dùng, địa chỉ, chi tiết phòng ban, v.v..
Nhiệm vụ 1: Thực hiện Liệt kê LDAP bằng cách sử dụng Active Directory Explorer
AD Explorer (Active Directory Explorer) là một trình xem AD (Active Directory) và trình chỉnh sửa nâng cao. Nó cho phép bạn duyệt qua dữ liệu AD, tìm kiếm các đối tượng cụ thể và sửa đổi các đối tượng mà không cần phải có quyền truy cập vào máy chủ, xem quyền của một đối tượng, lược đồ và thuộc tính, và thực hiện các tìm kiếm đã lưu có thể được lưu và chạy lại.
Ở đây, chúng tôi sẽ sử dụng AD Explorer để thực hiện liệt kê LDAP trên miền AD và sửa đổi các tài khoản người dùng.
- Nhấp vào Windows Server 2019 để chuyển sang máy đó. Đăng nhập với tên người dùng Administrator và mật khẩu Password.
- Điều hướng đến Z:\CEH23_Module04\Doubleclick\LDAPEnumeration.exe và nhấp đúp vào LDAPEnumeration.exe.
- Cửa sổ Thỏa thuận cấp phép Active Directory Explorer xuất hiện. Nhấp vào Agree.
- Cửa sổ bật lên Connect to Active Directory xuất hiện. Trong trường Connect to:, nhập địa chỉ IP của mục tiêu (ở đây, chúng tôi đang nhắm mục tiêu máy Windows Server 2022: 10.10.1.22) và nhấp vào OK.
- Active Directory Explorer hiển thị cấu trúc Active Directory trong khung bên trái, như được hiển thị trong ảnh chụp màn hình.
- Bây giờ, hãy mở rộng DC=CEH,DC=com và CN=Users bằng cách nhấp vào “+” để khám phá chi tiết miền.
- Nhấp vào bất kỳ tên người dùng nào (trong khung bên trái) để hiển thị thuộc tính của nó trong khung bên phải.
- Nhấp chuột phải vào bất kỳ thuộc tính nào trong khung bên phải (ở đây, là displayName) và nhấp vào Modify… từ menu ngữ cảnh để sửa đổi hồ sơ người dùng.
- Cửa sổ Modify Attribute xuất hiện. Đầu tiên, chọn tên người dùng trong phần Value, sau đó cửa sổ bật lên Edit Value xuất hiện. Sửa đổi tên người dùng trong trường Value và nhấp vào OK để lưu các thay đổi.
- Bạn có thể đọc và sửa đổi các thuộc tính hồ sơ người dùng khác theo cách tương tự.
- Điều này kết thúc minh họa thực hiện liệt kê LDAP bằng AD Explorer.
- Bạn cũng có thể sử dụng các công cụ liệt kê LDAP khác như Softerra LDAP Administrator (https://www.ldapadministrator.com/), LDAP Admin Tool (https://ldapadmin.softerra.com/) và LDAP Enumeration Tools (https://securityxploded.com/) để thực hiện liệt kê LDAP trên mục tiêu.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.3.1:
Thực hiện liệt kê LDAP bằng cách sử dụng Active Directory Explorer (AD Explorer) và tìm máy Domain Controller.
Câu hỏi 4.3.2:
Thực hiện liệt kê LDAP bằng cách sử dụng Active Directory Explorer (AD Explorer) và tìm userPrincipalName cho tên người dùng Jason M.
Bài tập 4: Thực hiện Liệt kê NFS
Kịch bản bài tập
Là một hacker đạo đức chuyên nghiệp hoặc người kiểm tra xâm nhập, bước tiếp theo sau liệt kê LDAP là thực hiện liệt kê NFS để xác định và xuất một danh sách các máy khách được kết nối với máy chủ, cùng với địa chỉ IP của chúng và dữ liệu được chia sẻ liên quan đến chúng.
Sau khi thu thập thông tin này, có thể nhắm mục tiêu các địa chỉ IP cụ thể để có được toàn quyền truy cập vào các tệp được chia sẻ trên máy chủ.
Mục tiêu bài tập
- Thực hiện liệt kê NFS bằng cách sử dụng RPCscan và SuperEnum.
Tổng quan về Liệt kê NFS
NFS (Network File System) là một kiểu hệ thống tệp cho phép người dùng truy cập, xem, lưu trữ và cập nhật các tệp từ xa trên máy chủ. Máy từ xa có thể được truy cập bởi máy khách theo cách tương tự như truy cập cục bộ.
Nhiệm vụ 1: Thực hiện Liệt kê NFS bằng cách sử dụng RPCscan và SuperEnum
RPCscan thực hiện kiểm tra RPC (remote procedure call) trên các cổng và dịch vụ được chỉ định. Bản sửa đổi 3 của NFS trên các hệ thống dựa trên Unix (bao gồm cả máy chủ NFS) hỗ trợ các thủ tục RPC. SuperEnum là một tập lệnh Perl thực hiện liệt kê NFS dựa trên RPC.
Ở đây, chúng ta sẽ sử dụng RPCscan và SuperEnum để liệt kê các dịch vụ NFS chạy trên máy mục tiêu.
Trước khi bắt đầu nhiệm vụ này, cần phải bật dịch vụ NFS trên máy mục tiêu (Windows Server 2019). Điều này sẽ được thực hiện trong Bước 1-6.
- Nhấp vào Windows Server 2019 để chuyển sang máy Windows Server 2019. Ở góc dưới bên trái của máy Windows Server 2019, nhấp vào nút Start để chuyển sang Server Manager.
Nếu bạn đã đăng nhập vào máy Windows Server 2019, hãy nhấn Ctrl+Alt+Delete.
- Sau đó đăng nhập bằng tên người dùng Administrator và mật khẩu Password. Theo mặc định, Dashboard sẽ được chọn.
- Cửa sổ chính của Server Manager Add Roles and Features Wizard xuất hiện. Nhấp vào Next ở đây và trong cửa sổ Installation Type và Server Selection wizards.
- Phần Server Roles xuất hiện. Mở rộng File and Storage Services và chọn các hộp kiểm cho Server for NFS nằm trong File and iSCSI Services, như được hiển thị trong ảnh chụp màn hình. Nhấp vào Next.
Các tính năng trong Add Features được yêu cầu cho Server for NFS sẽ bật lên cửa sổ. Nhấp vào Add Features button.
- Trong phần Features, nhấp vào Next. Phần Confirmation xuất hiện, nhấp vào Install để cài đặt các tính năng đã chọn.
- Thanh trạng thái cài đặt bắt đầu cài đặt. Khi quá trình cài đặt hoàn tất, nhấp vào Close.
- Sau khi đã bật dịch vụ NFS, cần phải kiểm tra xem nó có đang chạy trên máy mục tiêu (Windows Server 2019) hay không. Để làm điều này, chúng tôi sẽ sử dụng nó.
- Nhấp vào Parrot Security và chuyển sang máy Parrot Security. Mở Terminal được nhắc, nhập mật khẩu toor. (Bạn sẽ không thấy mật khẩu bạn nhập.)
- Thực hiện lệnh nmap -p 2049 [Target IP Address] (ở đây, địa chỉ IP mục tiêu là 10.10.1.19).
-p chỉ định cổng.
- Kết quả xuất hiện, cho thấy cổng 2049 đang mở và dịch vụ NFS đang chạy trên đó, như được hiển thị trong ảnh chụp màn hình.
- Chạy lệnh cd SuperEnum để điều hướng đến thư mục SuperEnum.
- Chạy lệnh echo “10.10.1.19” > Target.txt để tạo tệp có địa chỉ IP mục tiêu.
Bạn có thể nhập nhiều địa chỉ IP trong tệp Target.txt. Tuy nhiên, trong nhiệm vụ này, chúng tôi chỉ nhắm mục tiêu một máy, máy Windows Server 2019 (10.10.1.19).
- Thực thi lệnh ./superenum.pl command. Trong Enter IP List filename with path:, nhập Target.txt và nhấn Enter.
Nếu bạn gặp lỗi khi chạy tập lệnh superenum, hãy thực thi lệnh chmod +x superenum trước khi chạy lại Bước 13.
- Tập lệnh bắt đầu quét địa chỉ IP mục tiêu để tìm các cổng NFS mở và các dịch vụ khác.
Quá trình quét sẽ mất khoảng 15-20 phút để hoàn thành.
- Sau khi quá trình quét kết thúc, hãy cuộn xuống để xem lại kết quả. Lưu ý rằng cổng 2049 đang mở và NFS đang chạy trên đó.
- Bạn cũng có thể quan sát các cổng mở khác và các dịch vụ chạy trên chúng.
- Trong cửa sổ terminal, gõ cd .. để trở về thư mục gốc.
- Bây giờ, chúng ta sẽ thực hiện liệt kê NFS bằng cách sử dụng RPCscan. Để làm điều này, chạy cd RPCscan.
- Thực hiện lệnh python3 rpc_scan.py 10.10.1.19 –rpc (ở đây, địa chỉ IP mục tiêu là máy Windows Server 2019).
–rpc liệt kê RPC (không phải netmapper).
- Kết quả xuất hiện, cho thấy cổng 2049 đang mở và dịch vụ NFS đang chạy trên đó.
- Điều này kết thúc minh họa việc thực hiện liệt kê NFS bằng cách sử dụng SuperEnum và RPCscan.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.4.1:
Thực hiện liệt kê NFS bằng cách sử dụng RPCscan và SuperEnum và tìm cổng được sử dụng bởi dịch vụ NFS trên 10.10.1.19.
Bài tập 5: Thực hiện liệt kê DNS
Kịch bản bài tập
Là một hacker đạo đức chuyên nghiệp hoặc người kiểm tra xâm nhập, bước tiếp theo sau liệt kê NFS là thực hiện liệt kê DNS. Quá trình này cung cấp thông tin như tên máy chủ DNS, tên máy chủ, tên người dùng, địa chỉ IP và bí danh được gán trong miền mục tiêu.
Mục tiêu bài tập
- Thực hiện liệt kê DNS bằng cách sử dụng chuyển vùng.
Tổng quan về liệt kê DNS
Liệt kê DNS được sử dụng để có được thông tin về các máy chủ DNS và cơ sở hạ tầng mạng của tổ chức mục tiêu. Liệt kê DNS có thể được thực hiện bằng cách sử dụng các kỹ thuật sau:
- Chuyển vùng
Nhiệm vụ 1: Thực hiện liệt kê DNS bằng cách sử dụng chuyển vùng
Chuyển vùng DNS là quá trình chuyển một bản sao của tệp vùng DNS từ máy chủ DNS chính sang máy chủ DNS phụ. Trong hầu hết các trường hợp, máy chủ DNS phụ duy trì một bản sao dự phòng trong trường hợp máy chủ chính bị lỗi hoặc không khả dụng. Máy chủ phụ sẽ trả về một lỗi cho biết rằng nó không thể liên lạc với máy chủ chính, hoặc nó sẽ cung cấp thông tin được lưu trữ trong máy chủ chính nếu chuyển vùng được bật trên máy chủ DNS chính.
Ở đây, chúng tôi sẽ thực hiện liệt kê DNS bằng cách chuyển vùng thông qua các hệ thống dựa trên Linux và Windows.
- Chúng tôi sẽ bắt đầu với liệt kê DNS của các máy chủ Linux bằng cách sử dụng dig. Nhấp vào Parrot Security để chuyển sang máy Parrot Security và đăng nhập với tên người dùng attacker và mật khẩu toor. (Bạn sẽ không thấy mật khẩu bạn nhập.)
- Mở một terminal và thực thi lệnh sudo su để chạy chương trình với tư cách là người dùng root.
Bây giờ, bạn đã chuyển đến thư mục gốc.
- Chạy dig [Target Domain] (ở đây, tên miền mục tiêu là www.certifiedhacker.com).
Lệnh này trả về tên máy chủ DNS trong kết quả.
- Lệnh trên tìm nạp thông tin về tất cả các máy chủ DNS của tên miền mục tiêu và hiển thị nó trong phần ANSWER SECTION, như được hiển thị trong ảnh chụp màn hình.
Trên các hệ thống dựa trên Linux, lệnh dig được sử dụng để truy vấn máy chủ DNS để tìm nạp thông tin về tên máy chủ, địa chỉ IP, máy chủ thư, v.v..
- Chạy dig @[NameServer] [Target Domain] axfr (ở đây, máy chủ tên là ns1.bluehost.com và tên miền mục tiêu là www.certifiedhacker.com).
Lệnh này, axfr, tìm nạp toàn bộ vùng.
- Kết quả xuất hiện, hiển thị rằng máy chủ có sẵn nhưng Transfer failed, như được hiển thị trong ảnh chụp màn hình.
- Sau khi tìm nạp thông tin máy chủ tên DNS, kẻ tấn công có thể thử một trong các máy chủ để xem liệu nó có cho phép chuyển vùng hay trả về null hay không. Đây là lý do tại sao lệnh này được sử dụng ở đây; thông báo Transfer failed có nghĩa là máy chủ DNS mục tiêu không cho phép chuyển vùng. Người kiểm tra xâm nhập nên thử chuyển vùng DNS trên các miền khác nhau của tổ chức mục tiêu.
- Bây giờ, chúng tôi sẽ chuyển sang liệt kê DNS trên các máy chủ Windows.
- Nhấp vào Windows 11 để chuyển sang máy Windows 11.
- Nhấp vào biểu tượng Tìm kiếm ( ) trên Desktop. Nhập cmd trong trường tìm kiếm. Khi Command Prompt xuất hiện trong kết quả, nhấp vào Open để khởi chạy nó.
- Cửa sổ Command Prompt xuất hiện. Thực thi lệnh nslookup.
- Trong chế độ tương tác nslookup, thực thi lệnh set querytype=soa.
- Nhập tên miền mục tiêu certifiedhacker.com và nhấn Enter. Điều này phân giải thông tin miền mục tiêu.
querytype=soa đặt kiểu truy vấn thành SOA (Start of Authority) để tìm nạp thông tin hành chính về vùng DNS của tên miền mục tiêu.
- Kết quả xuất hiện, hiển thị thông tin về tên miền mục tiêu như máy chủ tên chính và địa chỉ thư có trách nhiệm, như được hiển thị trong ảnh chụp màn hình.
- Trong chế độ tương tác nslookup, thực thi lệnh ls -d [Name Server] (ở đây, là ns1.bluehost.com).
Lệnh này, ls -d, yêu cầu chuyển vùng của máy chủ tên được chỉ định.
- Kết quả xuất hiện, hiển thị rằng máy chủ DNS đã từ chối chuyển vùng, như được hiển thị trong ảnh chụp màn hình.
- Sau khi tìm nạp thông tin máy chủ tên DNS, kẻ tấn công có thể thử một trong các máy chủ để xem liệu nó có cho phép chuyển vùng hay trả về null hay không. Ở đây, chuyển vùng đã bị từ chối. Người kiểm tra xâm nhập nên thử chuyển vùng DNS trên các miền khác nhau của tổ chức mục tiêu.
- Điều này kết thúc minh họa việc thực hiện chuyển vùng DNS bằng cách sử dụng các lệnh dig và nslookup.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.5.1:
Bạn có thể thực hiện chuyển vùng trên máy chủ chính của certifiedhacker.com không? (Có/Không)
Câu hỏi 4.5.2:
Thực hiện liệt kê DNS và tìm địa chỉ “thư có trách nhiệm” cho miền certifiedhacker.com.
Bài tập 6: Thực hiện liệt kê SMTP
Kịch bản bài tập
Là một hacker đạo đức hoặc người kiểm tra xâm nhập, bước tiếp theo là thực hiện liệt kê SMTP. Liệt kê SMTP được thực hiện trên một máy chủ SMTP để có được danh sách các người dùng hợp lệ, địa chỉ gửi, người nhận thư, v.v.. trên máy chủ SMTP.
Mục tiêu bài tập
- Thực hiện liệt kê SMTP bằng cách sử dụng Nmap.
Tổng quan về liệt kê SMTP
SMTP (Simple Mail Transfer Protocol) là một tiêu chuẩn giao tiếp dựa trên Internet được sử dụng để gửi thư. Hầu hết các hệ thống thư sử dụng SMTP kết hợp với POP3 (Post Office Protocol version 3) hoặc IMAP (Internet Message Access Protocol) để cho phép người dùng truy cập hộp thư và tải thư xuống từ máy chủ. Máy chủ thư chính lưu trữ tất cả các trao đổi thư trên máy chủ DNS và tải xuống qua cổng 25, 2525 hoặc 587.
Nhiệm vụ 1: Thực hiện liệt kê SMTP bằng cách sử dụng Nmap
Công cụ quét Nmap có thể được sử dụng để liệt kê SMTP bằng cách chạy các tập lệnh khác nhau.
Ở đây, chúng tôi sẽ sử dụng thông tin về tất cả các tài khoản người dùng trên máy chủ SMTP chạy trên hệ thống mục tiêu.
- Trong Parrot Security, mở một terminal và thực thi sudo su để chạy các chương trình với tư cách người dùng root.
- Chạy lệnh nmap -p 25 –script=smtp-enum-users.nse [Target IP Address] (ở đây, địa chỉ IP mục tiêu là 10.10.1.19).
-p chỉ định cổng và –script được sử dụng để chạy một tập lệnh nhất định, tập lệnh ở đây là smtp-enum-users.nse.
- Kết quả xuất hiện hiển thị danh sách tất cả các người dùng thư có thể có trên máy mục tiêu (10.10.1.19), như được hiển thị trong ảnh chụp màn hình bên dưới.
- Chạy lệnh nmap -p 25 –script=smtp-open-relay.nse [Target IP Address] (ở đây, địa chỉ IP mục tiêu là 10.10.1.19).
-p chỉ định cổng và –script được sử dụng để chạy một tập lệnh nhất định, tập lệnh ở đây là smtp-open-relay.nse.
- Kết quả xuất hiện hiển thị danh sách các rơle mở SMTP trên máy mục tiêu (10.10.1.19), như được hiển thị trong ảnh chụp màn hình bên dưới.
- Chạy lệnh nmap -p 25 –script=smtp-commands [Target IP Address] (ở đây, địa chỉ IP mục tiêu là 10.10.1.19).
-p chỉ định cổng và –script được sử dụng để chạy một tập lệnh nhất định, tập lệnh ở đây là smtp-commands.
- Danh sách tất cả các lệnh SMTP có sẵn trong thư viện Nmap xuất hiện. Bạn có thể khám phá thêm các lệnh để thu thập thêm thông tin về máy chủ.
- Sử dụng thông tin này, kẻ tấn công có thể thực hiện các cuộc tấn công phun mật khẩu để có được quyền truy cập trái phép vào các tài khoản người dùng.
- Điều này kết thúc minh họa việc thực hiện liệt kê SMTP bằng cách sử dụng Nmap.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.6.1:
Sử dụng Nmap để thực hiện liệt kê SMTP để liệt kê tất cả các người dùng thư có thể có trên máy Windows Server 2019. Nhập số lượng người dùng được liệt kê trên máy mục tiêu.
Bài tập 7: Thực hiện liệt kê bằng cách sử dụng các công cụ liệt kê khác nhau
Kịch bản bài tập
Thông tin chi tiết thu được trong các bước trước có thể không tiết lộ tất cả các lỗ hổng tiềm ẩn trong mạng mục tiêu. Có thể có nhiều thông tin hơn có sẵn để khai thác. Là một hacker đạo đức, bạn cũng nên sử dụng một loạt các công cụ để tìm ra thông tin có thể được sử dụng để khai thác mạng và hệ thống của mục tiêu. Bài tập này sẽ minh họa việc sử dụng một công cụ khác để trích xuất thêm thông tin về hệ thống mục tiêu.
Mục tiêu bài tập
- Liệt kê thông tin bằng cách sử dụng Global Network Inventory.
Tổng quan về các công cụ liệt kê
Tóm lại những gì bạn đã học cho đến nay, các công cụ liệt kê được sử dụng để thu thập thông tin chi tiết về các hệ thống mục tiêu trên mạng để khai thác chúng. Thông tin thu thập được bao gồm dữ liệu trên các miền, tên người dùng, folder được chia sẻ, các dịch vụ, v.v.. (như bảng ARP, bảng định tuyến, v.v..).
Nhiệm vụ 1: Liệt kê thông tin bằng cách sử dụng Global Network Inventory
Global Network Inventory được sử dụng làm trình quét IP để triển khai trên toàn miền và không thuộc miền. Nó quét nhiều máy tính cùng lúc bằng cách quét IP, tên miền, dải IP hoặc tệp.
Ở đây, chúng tôi sẽ sử dụng Global Network Inventory để liệt kê các loại dữ liệu khác nhau từ địa chỉ IP mục tiêu hoặc một IP duy nhất.
- Nhấp vào Windows 11 để chuyển sang máy Windows 11. Nhấp vào biểu tượng Tìm kiếm ( ) trên Desktop. Gõ Global Network Inventory trong trường tìm kiếm. Khi Global Network Inventory xuất hiện trong kết quả, nhấp vào Open để khởi chạy nó.
Nếu cửa sổ bật lên Kiểm soát tài khoản người dùng xuất hiện, nhấp vào Yes.
- Trình hướng dẫn About Global Network Inventory xuất hiện. Nhấp vào I Agree.
- GUI của Global Network Inventory xuất hiện. Nhấp vào liên kết Tip of the Day.
- Cửa sổ New Audit Wizard xuất hiện. Nhấp vào Next.
- Trong phần Audit Scan Mode, nhấp vào nút radio Single address scan, sau đó nhấp vào Next.
Bạn cũng có thể quét dải IP bằng cách nhấp vào nút radio IP range scan, sau đó bạn sẽ chỉ định dải IP mục tiêu.
- Trong trường Name của phần Single Address Scan, chỉ định địa chỉ IP mục tiêu (trong ví dụ này, địa chỉ IP mục tiêu là 10.10.1.22). Nhấp vào Next.
- Trong phần tiếp theo, Authentication Settings, chọn nút radio Connect as và nhập thông tin đăng nhập của máy Windows Server 2022 (Tên miền\Tên người dùng: Administrator và Mật khẩu: Password), sau đó nhấp vào Next.
Trong thực tế, kẻ tấn công không biết thông tin đăng nhập của máy từ xa, nhưng tùy chọn này sẽ quét để xác định xem máy nào có thể truy cập mạng. Với tùy chọn này, chúng tôi sẽ không thể trích xuất tất cả thông tin về hệ thống mục tiêu. Vì đây chỉ dành cho mục đích đánh giá, chúng tôi đã nhập trực tiếp thông tin đăng nhập của máy từ xa.
- Trong bước cuối cùng của trình hướng dẫn, hãy giữ nguyên cài đặt mặc định và nhấp vào Finish.
- Cửa sổ tiến độ Scan xuất hiện.
- Kết quả được hiển thị khi quá trình quét kết thúc. Tab Scan Summary của địa chỉ IP mục tiêu đã quét (10.10.1.22) xuất hiện.
Kết quả quét có thể khác nhau khi bạn thực hiện nhiệm vụ này.
- Di chuột qua Computer details trong tab Scan Summary để xem tóm tắt quá trình quét, như được hiển thị trong ảnh chụp màn hình.
- Nhấp vào tab Operating System và di chuột qua Windows details để xem chi tiết đầy đủ của máy.
- Nhấp vào tab BIOS và di chuột qua Windows details để hiển thị thông tin cài đặt BIOS chi tiết.
- Nhấp vào tab NetBIOS và di chuột qua bất kỳ ứng dụng NetBIOS nào để hiển thị thông tin chi tiết về NetBIOS.
Di chuột qua mỗi ứng dụng NetBIOS để xem chi tiết của nó.
- Nhấp vào tab User groups và di chuột qua bất kỳ tên người dùng nào để hiển thị thông tin chi tiết về nhóm người dùng.
Di chuột qua mỗi tên người dùng để xem chi tiết của nó.
- Nhấp vào tab Users và di chuột qua tên người dùng để xem chi tiết đăng nhập cho máy mục tiêu.
- Nhấp vào tab Services và di chuột qua bất kỳ dịch vụ nào để xem chi tiết của nó.
- Nhấp vào tab Installed software và di chuột qua bất kỳ phần mềm nào để xem chi tiết của nó.
- Nhấp vào tab Shares và di chuột qua bất kỳ thư mục được chia sẻ nào để xem chi tiết của nó.
- Tương tự, bạn có thể nhấp vào các tab khác như Computer System, Processors, Main board, Memory, SNMP systems và Hot fixes. Di chuột qua các phần tử trong mỗi tab để xem thông tin chi tiết của chúng.
- Điều này kết thúc minh họa việc thực hiện liệt kê bằng cách sử dụng Global Network Inventory.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.7.1:
Thực hiện liệt kê bằng cách sử dụng Global Network Inventory và tìm tên đầy đủ của hệ điều hành được cài đặt trong máy tại 10.10.1.22.
Bài tập 8: Thực hiện liệt kê bằng cách sử dụng AI
Kịch bản bài tập
Trong bài tập này, bạn sẽ sử dụng các công cụ và kỹ thuật được hỗ trợ bởi AI để thực hiện liệt kê trên mạng mục tiêu. Mục tiêu là thu thập thông tin chi tiết về tài nguyên và cơ sở hạ tầng mạng, điều này sẽ giúp bạn xác định các lỗ hổng tiềm ẩn và lên kế hoạch cho các hoạt động kiểm tra xâm nhập tiếp theo.
Mục tiêu bài tập
- Thực hiện liệt kê bằng cách sử dụng ShellGPT.
Tổng quan về liệt kê bằng cách sử dụng AI
Trí tuệ nhân tạo (AI) có thể cải thiện đáng kể quy trình liệt kê bằng cách tự động hóa các tác vụ, phân tích các tập dữ liệu lớn và xác định các mẫu mà các công cụ truyền thống có thể bỏ lỡ. AI có thể hợp lý hóa quy trình liệt kê, làm cho nó nhanh hơn, hiệu quả hơn và chính xác hơn.
Nhiệm vụ 1: Thực hiện liệt kê bằng cách sử dụng ShellGPT
ShellGPT là một công cụ mạnh mẽ tận dụng AI, cụ thể là GPT-4, để hỗ trợ trong các tác vụ khác nhau, bao gồm liệt kê mạng để kiểm tra xâm nhập. Bằng cách sử dụng ShellGPT, các hacker đạo đức có thể tự động hóa quy trình liệt kê, thu thập phân tích dữ liệu sâu sắc và xác định các lỗ hổng tiềm ẩn hiệu quả hơn.
Ở đây, chúng tôi sẽ sử dụng ShellGPT để thực hiện liệt kê trên địa chỉ IP mục tiêu.
Các lệnh do ShellGPT tạo ra có thể khác nhau tùy thuộc vào lời nhắc được sử dụng và các công cụ có sẵn trên máy. Do những biến này, kết quả do ShellGPT tạo ra có thể khác với những gì được hiển thị trong ảnh chụp màn hình. Những khác biệt này phát sinh từ tính chất động của quá trình xử lý của AI và các môi trường đa dạng mà nó hoạt động. Do đó, bạn có thể quan sát thấy sự khác biệt về cú pháp lệnh, thực thi và kết quả trong khi thực hiện nhiệm vụ bài tập này.
- Trước khi bắt đầu bài tập này, nhấp vào Parrot Security để chuyển sang máy Parrot Security và tích hợp ShellGPT bằng cách làm theo các bước được cung cấp trong Integrate ShellGPT in Parrot Security Machine.pdf.
Ngoài ra, bạn có thể làm theo các bước để tích hợp ShellGPT được cung cấp trong Mô-đun 00: Tích hợp ShellGPT trong Parrot Security Machine.
- Sau khi tích hợp API ShellGPT trong Parrot Security Machine, trong cửa sổ terminal, chạy lệnh sgpt –shell “Thực hiện liệt kê NetBIOS trên IP mục tiêu 10.10.1.11” để thực hiện liệt kê NetBIOS trên hệ thống mục tiêu.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Chạy lệnh sgpt –shell “Lấy thông tin NetBIOS cho IP 10.10.1.11 và hiển thị các tên được liên kết” để xem các tên được liên kết của hệ thống mục tiêu.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Để thực hiện liệt kê NetBIOS bằng cách sử dụng Nmap, hãy chạy lệnh sgpt –shell “Liệt kê NetBIOS trên IP mục tiêu 10.10.1.22 bằng nmap”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Bây giờ chúng ta sẽ thực hiện liệt kê SNMP bằng cách sử dụng ShellGPT, để làm như vậy, hãy chạy lệnh sgpt –chat enum –shell “Thực hiện liệt kê SNMP trên IP mục tiêu 10.10.1.22 bằng SnmpWalk và hiển thị kết quả ở đây”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Chạy lệnh sgpt –chat enum –shell “Thực hiện liệt kê SNMP trên IP mục tiêu 10.10.1.22 bằng nmap và hiển thị kết quả ở đây” để thực hiện liệt kê SNMP bằng cách sử dụng Nmap.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Chạy lệnh sgpt –chat enum –shell “Thực hiện quy trình SNMP trên IP mục tiêu 10.10.1.22 bằng nmap và hiển thị kết quả ở đây”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Để thực hiện liệt kê SMTP trên IP mục tiêu, hãy chạy lệnh sgpt –chat enum –shell “Thực hiện liệt kê SMTP trên IP mục tiêu 10.10.1.19.”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Chúng tôi sẽ thực hiện liệt kê DNS bằng Nmap bằng cách sử dụng ShellGPT, để làm như vậy, hãy chạy lệnh sgpt –chat enum –shell “Sử dụng Nmap để thực hiện liệt kê DNS trên miền mục tiêu http://www.certifiedhacker.com”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Để thực hiện rình thám bộ nhớ đệm DNS trên miền mục tiêu, hãy chạy lệnh sgpt –chat enum –shell “Sử dụng lệnh dig để thực hiện rình thám bộ nhớ đệm DNS trên miền mục tiêu http://www.certifiedhacker.com bằng phương pháp đệ quy. Sử dụng IP máy chủ DNS là 162.241.216.11”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Chạy lệnh sgpt –chat enum –shell “Sử dụng lệnh dig để thực hiện rình thám bộ nhớ đệm DNS trên miền mục tiêu http://www.certifiedhacker.com bằng phương pháp không đệ quy. Sử dụng IP máy chủ DNS là 162.241.216.11”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Để thực hiện liệt kê IPsec bằng cách sử dụng ShellGPT, hãy chạy lệnh sgpt –shell “Thực hiện liệt kê IPsec trên IP mục tiêu 10.10.1.22 bằng Nmap”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Bây giờ chúng ta sẽ thực hiện liệt kê SMB bằng cách sử dụng ShellGPT, để làm như vậy, hãy chạy lệnh sgpt –shell “Quét IP mục tiêu 10.10.1.22 cho cổng bằng SMB với Nmap”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Để tạo và thực thi một tập lệnh tùy chỉnh để tự động hóa các tác vụ liệt kê mạng, hãy chạy lệnh sgpt –chat enum –shell “Phát triển và thực thi một tập lệnh sẽ tự động hóa các tác vụ liệt kê mạng khác nhau trên dải IP mục tiêu 10.10.1.0/24”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Chúng tôi sẽ thực hiện liệt kê LDAP bằng cách sử dụng ShellGPT, để làm như vậy, hãy chạy lệnh sgpt –shell “Sử dụng tập lệnh nmap để thực hiện ldap-brute-force trên IP 10.10.1.22”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Để thực hiện liệt kê FTP, hãy chạy lệnh sgpt –shell “Sử dụng Nmap để thực hiện liệt kê FTP trên http://www.certifiedhacker.com”.
Trong lời nhắc, nhập E và nhấn Enter để thực thi lệnh.
- Kết quả xuất hiện hiển thị các cổng mở có trên trang web, bạn có thể thấy rằng cổng 21 mà dịch vụ FTP đang chạy đang mở.
- Ngoài các lệnh nói trên, bạn có thể khám phá thêm các tùy chọn trong công cụ ShellGPT và sử dụng các công cụ khác nhau khác để thực hiện liệt kê trên mục tiêu.
- Điều này kết thúc minh họa việc thực hiện liệt kê bằng cách sử dụng ShellGPT.
- Đóng tất cả các cửa sổ và ghi lại tất cả thông tin thu thập được.
Câu hỏi 4.8.1:
Trong máy Parrot Security, hãy viết một lời nhắc ShellGPT và thực thi nó để thực hiện liệt kê SMB trên máy Windows Server 2022 (10.10.1.22), Xác định dịch vụ đang chạy trên cổng 445 trong máy Windows Server 2022.