SinhVienCNTT.Net
Thứ Sáu, Tháng 1 16, 2026
  • Login
No Result
View All Result
  • Trang chủ
  • Bài viết nổi bật
  • Security
    • Kỹ thuật phân tích mã độc
    • CEH v13
  • Các môn học đại học
    • Các môn đại cương
      • Nhập môn mạng máy tính
      • Nhập môn lập trình
      • Hệ điều hành
    • Ngành An toàn thông tin
      • Lập trình hệ thống
    • Ngành Mạng máy tính & Truyền thông dữ liệu
  • Tài liệu CNTT
  • Liên hệ
Gửi email
  • Trang chủ
  • Bài viết nổi bật
  • Security
    • Kỹ thuật phân tích mã độc
    • CEH v13
  • Các môn học đại học
    • Các môn đại cương
      • Nhập môn mạng máy tính
      • Nhập môn lập trình
      • Hệ điều hành
    • Ngành An toàn thông tin
      • Lập trình hệ thống
    • Ngành Mạng máy tính & Truyền thông dữ liệu
  • Tài liệu CNTT
  • Liên hệ
No Result
View All Result
SinhVienCNTT.Net
No Result
View All Result
Home Security CEH Tiếng Việt - CEH v13

[CEH] Module 4 – Phần 3: SNMP Enumeration và LDAP Enumeration

admin by admin
29 Tháng 4, 2025
in CEH Tiếng Việt - CEH v13
Reading Time: 9 mins read
1
Mục lục ẩn
1. SNMP Enumeration
1.1. Giới thiệu giao thức SNMP
1.2. Cách hoạt động của SNMP
1.3. Management Information Base (MIB)
1.4. SNMP Enumeration
1.4.1. Sử dụng SnmpWalk
1.4.2. Sử dụng nmap
1.4.3. Sử dụng snmp-check
1.4.4. SoftPerfect Network Scanner
2. LDAP Enumeration
2.1. LDAP Enumeration thủ công
2.2. LDAP Enumeration tự động
2.3. Công cụ Softerra LDAP Administrator

SNMP Enumeration

Simple Network Management Protocol (SNMP) cho phép quản lý các thiết bị mạng từ xa. Tuy nhiên, SNMP có nhiều lỗ hổng bảo mật, chẳng hạn như thiếu kiểm tra, xác thực. Attacker có thể lợi dụng các lỗ hổng này để liệt kê accounts và devices. Bài viết này này mô tả cách liệt kê SNMP, thông tin được trích xuất thông qua liệt kê SNMP và các công cụ liệt kê SNMP khác nhau.

SNMP là một giao thức tầng ứng dụng chạy trên nền UDP mặc định là port 161, nó duy trì cũng như quản lý các thiết bị routers, switchs, hubs trên mạng, kể cả các thiết bị khác hỗ trợ SNMP. Lưu ý phạm vi bài viết này tập trung chủ yếu vào SNMP Enumeration chứ không tập trung vào cách triển khai, thực hành quản lý thiết bị sử dụng SNMP.

Giới thiệu giao thức SNMP

SNMP enumeration là quá trình xây dựng danh sách tài khoản và thiết bị của người dùng trên máy mục tiêu bằng SNMP. SNMP sử dụng hai loại thành phần SNMP agent và SNMP management. Hầu như tất cả các thiết bị mạng như router và switch đều tích hợp sẵn SNMP agent. SNMP management gửi yêu cầu đến agent; sau khi nhận được yêu cầu, agent trả lời. Cả thông điệp yêu cầu và thông điệp trả lời đều là các biến cấu hình mà management có thể truy cập. SNMP management gửi yêu cầu đặt giá trị cho một số biến. SNMP trap cho management biết nếu có sự kiện bất thường xảy ra ở phía agent như agent bị khởi động lại hoặc lỗi giao tiếp mạng.

SNMP chứa hai loại mật khẩu sau để định cấu hình và truy cập SNMP agent:

  • Read Community String: có thể xem thông tin nếu có mật khẩu này.
  • Read/Write Community String: có thể chỉnh sửa cấu hình nếu biết mật khẩu này.

Khi ta cấu hình community strings để mặc định, attacker có thể sử dụng chuỗi public mặc định này để thay đổi hoặc xem cấu hình thiết bị hoặc hệ thống. Attacker có thể liệt kê SNMP để trích xuất thông tin về tài nguyên như servers, routers, devices và tài nguyên chia sẻ cũng như những thông tin mạng như bảng ARP, bảng định tuyến, thông tin dành riêng cho thiết bị hay thống kê lưu lượng truy cập.

Cách hoạt động của SNMP

SNMP sử dụng một kiến trúc xáo trộn bao gồm các SNMP managers, SNMP agents và một số thành phần liên quan. Sau đây là một số lệnh liên quan đến SNMP:

  • GetRequest: được sử dụng bởi trình SNMP manager để yêu cầu thông tin từ SNMP agent
  • GetNextRequest: được trình SNMP manager sử dụng liên tục để truy xuất tất cả dữ liệu được lưu trữ trong một mảng hoặc một bảng
  • GetResponse: được sử dụng bởi SNMP agent để đáp ứng yêu cầu của SNMP manager
  • SetRequest: được trình SNMP manager sử dụng để sửa đổi giá trị của tham số trong cơ sở thông tin quản lý (MIB) của SNMP agent
  • Trap: được sử dụng bởi SNMP agent để thông báo cho SNMP manager thông tin một sự kiện nhất định

Quá trình giao tiếp giữa trình SNMP manager và SNMP agent như sau:

snmp enumeration
Illustration of the working of SNMP
  • SNMP manager (host X, 10.10.2.1) sử dụng lệnh GetRequest để gửi yêu cầu tới SNMP agent (host Y, 10.10.2.15). Để thực hiện bước này, manager sử dụng thư viện dịch vụ SNMP chẳng hạn như thư viện Microsoft SNMP Management API (Mgmtapi.dll) hoặc thư viện Microsoft WinSNMP API (Wsnmp32.dll).
  • Agent nhận thông báo và xác minh xem giá trị community string (Compinfo) có trên MIB của nó hay không.
  • Nếu agent không tìm thấy community string, nó sẽ gửi một SNMP error trap đến đích được chỉ định đó là host Z.
  • SNMP tạo một thông báo SNMP trả về có chứa số phiên hoạt động và địa chỉ IP đích (10.10.2.1) của trình SNMP manager là host X.
  • Host Y gửi phản hồi cho Host X.

Management Information Base (MIB)

MIB là một cơ sở dữ liệu chứa mô tả về tất cả các đối tượng mạng (network objects) mà giao thức SNMP quản lý. Nó là một tập hợp các thông tin được tổ chức theo thứ bậc. Các phần tử MIB được nhận dạng bằng cách sử dụng mã định danh đối tượng (OID – object identifiers). Một OID là tên được đặt cho một đối tượng. OID có thể xác định duy nhất một đối tượng trong hệ thống phân cấp MIB.

Các đối tượng do MIB quản lý bao gồm các đối tượng vô hướng, xác định một đối tượng đơn lẻ hoặc các đối tượng dạng bảng. OID bao gồm loại đối tượng (object type) chẳng hạn như counter, string hoặc address, mức truy cập (access-level) (chẳng hạn như read hoặc read/write), giới hạn kích thước và phạm vi.

Một số MIBs chính:

  • DHCP.MIB: theo dõi lưu lượng mạng giữa máy chủ DHCP và máy remote
  • HOSTMIB.MIB: theo dõi và quản lý tài nguyên
  • LNMIB2.MIB: chứa các loại đối tượng cho các dịch vụ máy trạm và máy chủ
  • MIB_II.MIB: quản lý Internet dựa trên TCP/IP
  • WINS.MIB: dành cho Windows Internet Name Service (WINS)

SNMP Enumeration

Sử dụng SnmpWalk

SnmpWalk là một công cụ dòng lệnh giúp attacker quét nhiều node SNMP agent nhanh chóng và xác định nhanh các biến có sẵn. Sử dụng công cụ này, attacker nhắm mục tiêu vào node gốc để có thể tìm nạp thông tin từ tất cả các node phụ như router và switch.

Attacker chạy lệnh sau để lấy thông tin SNMP từ thiết bị đích:

snmpwalk -v1 -c <community string> <Target IP Address>

Kết quả như hình bên dưới:

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 2
Screenshot of SnmpWalk

Lệnh để thực hiện SNMP enumeration trong trường hợp sử dụng phiên bản SNMPv2:

snmpwalk -v2c -c <community string> <Target IP Address>

Lệnh để tìm kiếm ứng dụng đã được cài:

snmpwalk -v2c -c <community string> <Target IP Address> hrSWInstalledName

Lệnh để xác định dung lượng bộ nhớ RAM trên máy đích:

snmpwalk -v2c -c <community string> <Target IP Address> hrMemorySize

Lệnh để thay đổi OID thành một giá trị khác:

snmpwalk -v2c -c <community string> <Target IP Address> <OID> <New Value>

Lệnh thay đổi sysContact OID:

snmpwalk -v2c -c <community string> <Target IP Address> sysContact <New Value>

Sử dụng nmap

Attacker sử dụng tập lệnh snmp-processes của Nmap Scripting Engine (NSE) để truy xuất thông tin từ SNMP.

nmap -sU -p 161 --script=snmp-processes <Target IP Address>

Lưu ý: port 161 là port của SNMP.

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 4
Screenshot of Nmap using the snmp-processes NSE script

Sử dụng snmp-check

snmp-check là một công cụ mã nguồn mở được phân phối theo GNU General Public License (GPL). Mục tiêu của nó là tự động hóa quá trình thu thập thông tin trên thiết bị nào hỗ trợ SNMP (Windows, Unix, thiết bị mạng, máy in, …). snmp-check liệt kê và xuất đầu ra ở dạng con người có thể đọc được. Nó có thể áp dụng cho tấn công thâm nhập thử nghiệm hoặc giám sát hệ thống.

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 6
Sử dụng snmp-check để thu thập thông tin hệ thống và tài khoản người dùng

Attacker sử dụng công cụ này để thu thập thông tin về mục tiêu, như thông tin liên hệ, thông tin mô tả, quyền ghi, tên miền, thông tin phần cứng, thông tin lưu trữ, tên máy chủ, thống kê IIS, IP forwarding, lắng nghe port UDP, cổng mạng, dịch vụ mạng, thông tin định tuyến, thời gian hoạt động của hệ thống, kết nối TCP, tổng dung lượng RAM, thời gian hoạt động, tài khoản người dùng, …

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 8
Sử dụng snmp-check để thu thập thông tin kết nối mạng và interface

SoftPerfect Network Scanner

SoftPerfect Network Scanner có thể ping máy tính, quét port, truy xuất thông tin về thiết bị mạng thông qua Windows Management Instrumentation (WMI), SNMP, HTTP, SSH và PowerShell. Nó cũng có thể quét các dịch vụ từ xa, quét registry, file và bộ đếm hiệu suất; cung cấp các tùy chọn lọc và hiển thị linh hoạt; và xuất kết quả NetScan sang nhiều định dạng khác nhau, như XML hay JSON.

Ngoài ra, SoftPerfect Network Scanner có thể kiểm tra port và hiển thị kết quả port đó đang mở hay là không. Ngoài ra, nó có thể phân giải máy chủ và tự động phát hiện các dải IP. Nó còn hỗ trợ tắt máy từ xa và Wake-on-LAN.

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 10
Screenshot of SoftPerfect Network Scanner

Ngoài ra còn có một số công cụ khác:

  • Network Performance Monitor (https://www.solarwinds.com)
  • OpUtils (https://www.manageengine.com)
  • PRTG Network Monitor (https://www.paessler.com)
  • Engineer’s Toolset (https://www.solarwinds.com)

LDAP Enumeration

Lightweight Directory Access Protocol (LDAP) là một giao thức Internet để truy cập các dịch vụ thư mục phân tán. LDAP truy cập danh sách thư mục trong Active Directory hoặc từ các dịch vụ thư mục khác. LDAP là một dạng thư mục phân cấp hoặc logic, tương tự như sơ đồ tổ chức của công ty. Dịch vụ thư mục có thể cung cấp ở cấu trúc phân cấp và logic, ví dụ như email công ty. LDAP sử dụng DNS để tra cứu nhanh và xử lý nhanh các truy vấn.

Máy khách bắt đầu phiên LDAP bằng cách kết nối với Directory System Agent (DSA), thường là trên port TCP 389 và gửi yêu cầu tới DSA. Định dạng Basic Encoding Rules (BER) được sử dụng để truyền thông tin giữa máy khách và máy chủ. Attacker có thể truy vấn ẩn danh dịch vụ LDAP để biết thông tin nhạy cảm như username, địa chỉ, …

LDAP Enumeration thủ công

Attacker có thể liệt kê LDAP thủ công bằng Python. Các bạn có thể thực hiện theo các bước dưới đây để thực hiện liệt kê LDAP thủ công bằng Python:

Sử dụng Nmap, kiểm tra xem máy chủ LDAP có đang lắng nghe port 389 đối với LDAP và cổng 636 đối với secure LDAP hay không? Nếu có thì chúng ta thực hiện việc enumeration bằng câu lệnh:

pip3 install ldap3

Tạo một đối tượng máy chủ (server). Nếu máy chủ đích đang lắng nghe trên secure LDAP, thì ta chỉ định use_ssl = True. Truy xuất Directory System Agent (DSA) bằng cách chỉ định get_info = ldap3.ALL. Sau đó tạo một connection object tên là connection, gọi tới hàm bind(). Nếu kết nối thành công, thì sẽ hiển thị True.

import ldap3
server = ldap3.Server('Target IP Address’, get_info=ldap3.ALL, port=389)
connection = ldap3.Connection(server)
connection.bind ()
True

Sau đó ta có thể tìm nạp thông tin như domain name cách gõ server.info.

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 12
Screenshot showing LDAP enumeration using Python script

Sau khi có naming context, ta truy xuất tất cả các đối tượng thư mục bằng cách sử dụng:

connection.search(search_base='DC=D0MAIN,DC=DOMAIN’, search_filter='(&(objectClass=*))', search_scope='SUBTREE', attributes='*’)
True
connection.entries

Kết quả:

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 14
Screenshot showing output of LDAP enumeration

Bây giờ, ta sử dụng đoạn mã sau để kết xuất toàn bộ LDAP:

connection.search(search_base='DC=DOMAIN,DC=DOMAIN', search_filter='(&(objectClass=person))', search_scope=’SUBTREE’, attributes='userPassword')
True
connection. entries

LDAP Enumeration tự động

Attacker sử dụng ldap-brute NSE script để brute-force LDAP. Theo mặc định, nó sử dụng danh sách username/password tích hợp sẵn. Các đối số userdb và passdb có thể được sử dụng để sử dụng danh sách tùy chỉnh.

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 16
Screenshot showing output of the Nmap Idap-brute NSE script

Công cụ Softerra LDAP Administrator

Có nhiều công cụ liệt kê LDAP truy cập vào Active Directory (AD) hoặc các dịch vụ thư mục khác. Softerra LDAP Administrator là một công cụ quản trị LDAP hoạt động với các máy chủ LDAP như Active Directory (AD), Novell Directory Services và Netscape/iPlanet. Nó duyệt và quản lý các thư mục LDAP.

[CEH] Module 4 - Phần 3: SNMP Enumeration và LDAP Enumeration 18
Screenshot of Softerra LDAP Administrator

Bài viết đến đây là kết thúc, các bạn có thể xem trọn bộ Series CEH Tiếng Việt tại đây.

Share82Tweet52
Previous Post

[CEH] Module 4 – Phần 2: NetBIOS Enumeration

Next Post

[CEH] Module 4 – Phần 4: NTP và NFS Enumeration

admin

admin

A Winner Never Stops Trying.

Related Posts

CEH Module 11 – Phần 2: Application-Level Session Hijacking
CEH Tiếng Việt - CEH v13

CEH Module 11 – Phần 2: Application-Level Session Hijacking

4 Tháng 5, 2025
[CEH] Module 11 – Phần 1: Session Hijacking là gì?
CEH Tiếng Việt - CEH v13

[CEH] Module 11 – Phần 1: Session Hijacking là gì?

29 Tháng 4, 2025
[CEH] Module 10 – Phần 5: Thực hành DoS sử dụng Metasploit và Hping3
CEH Tiếng Việt - CEH v13

[CEH] Module 10 – Phần 5: Thực hành DoS sử dụng Metasploit và Hping3

29 Tháng 4, 2025
[CEH] Module 10 – Phần 4: Các giải pháp chống lại DDoS
CEH Tiếng Việt - CEH v13

[CEH] Module 10 – Phần 4: Các giải pháp chống lại DDoS

29 Tháng 4, 2025
[CEH] Module 10 – Phần 3: Một số kiểu tấn công từ chối dịch vụ (tiếp theo)
CEH Tiếng Việt - CEH v13

[CEH] Module 10 – Phần 3: Một số kiểu tấn công từ chối dịch vụ (tiếp theo)

29 Tháng 4, 2025
[CEH] Module 10 – Phần 2: Một số kiểu tấn công từ chối dịch vụ DoS/DDoS
CEH Tiếng Việt - CEH v13

[CEH] Module 10 – Phần 2: Một số kiểu tấn công từ chối dịch vụ DoS/DDoS

22 Tháng 9, 2024
Next Post
[CEH] Module 4 – Phần 4: NTP và NFS Enumeration

[CEH] Module 4 - Phần 4: NTP và NFS Enumeration

Comments 1

  1. Pingback: [CEH v12] Module 4 - Phần 4: NTP và NFS Enumeration

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Tất cả chuyên mục

  • Các môn học đại học
  • CCNA 200-301
  • CEH Tiếng Việt – CEH v13
  • Chưa phân loại
  • Digital Forensics
  • Machine Learning
  • Network
  • Nổi bật
  • Phân tích mã độc
  • Security
  • Tài liệu CNTT
  • Từ vựng IELTS

Thẻ

API AWS Bash Shell C++ Cisco ASA Cisco Packet Tracer Collocations Footprinting Giao thức Machine Learning Mạng máy tính nmap Quản lý rủi ro Regular Expression TCP/IP Tuyển chọn UIT Wireshark

logo sinhviencntt.net

Blog Sinh viên CNTT chia sẻ kiến thức, tài liệu liên quan đến nhóm ngành Công nghệ thông tin.

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến SinhVienCNTT.Net.

Giới thiệu

Blog Sinh viên CNTT chia sẻ kiến thức, tài liệu liên quan đến nhóm ngành Công nghệ thông tin.

Liên hệ

Email: sinhviencntt.net@gmail.com

Tìm kiếm

No Result
View All Result

Danh mục

  • Các môn học đại học
  • CCNA 200-301
  • CEH Tiếng Việt – CEH v13
  • Chưa phân loại
  • Digital Forensics
  • Machine Learning
  • Network
  • Nổi bật
  • Phân tích mã độc
  • Security
  • Tài liệu CNTT
  • Từ vựng IELTS
  • Home
  • Liên hệ
  • Privacy & Policy
  • Other Links

© 2023 SinhVienCNTT.Net - Blog Sinh viên Công nghệ thông tin.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Trang chủ
  • Bài viết nổi bật
  • Security
    • Kỹ thuật phân tích mã độc
    • CEH v13
  • Các môn học đại học
    • Các môn đại cương
      • Nhập môn mạng máy tính
      • Nhập môn lập trình
      • Hệ điều hành
    • Ngành An toàn thông tin
      • Lập trình hệ thống
    • Ngành Mạng máy tính & Truyền thông dữ liệu
  • Tài liệu CNTT
  • Liên hệ

© 2023 SinhVienCNTT.Net - Blog Sinh viên Công nghệ thông tin.