Trong các module trước, ta đã tìm hiểu về footprinting và network scanning. Module này bao gồm giai đoạn tiếp theo đó là Enumeration (liệt kê).
Enumeration là gì?
Enumeration là quá trình trích xuất username, hostname, tài nguyên mạng, dịch vụ từ một hệ thống hoặc mạng. Trong giai đoạn này, attacker tạo các kết nối và gửi các truy vấn trực tiếp để lấy thông tin về mục tiêu. Chúng sử dụng thông tin được thu thập bằng cách liệt kê để xác định các lỗ hổng trong bảo mật hệ thống, giúp khai thác hệ thống đích. Kỹ thuật liệt kê hoạt động trong môi trường mạng nội bộ.
Cụ thể, phép liệt kê cho phép attacker thu thập các thông tin sau:
- Network resources
- Network shares
- Routing tables
- Audit and service settings
- SNMP and fully qualified domain name (FQDN) details
- Machine names
- Users and groups
- Applications and banners
Trong quá trình liệt kê, attacker có thể tình cờ phát hiện ra một remote inter-process communication (IPC) từ xa, chẳng hạn như IPC$ trong Windows, chúng có thể thăm dò thêm để kết nối bằng thông tin xác thực của quản trị viên và lấy những thông tin khác.
Các kỹ thuật liệt kê
Phương pháp liệt kê
- Trích xuất username sử dụng emails ID: Mỗi địa chỉ email chứa hai phần, tên người dùng và tên miền, ở định dạng “username@domainname”.
- Trích xuất thông tin sử dụng password mặc định: Nhiều người không đổi mật khẩu mặc định do nhà sản xuất gán vào thiết bị, điều này gây ra lỗ hổng bảo mật lớn.
- Brute force Active Directory: Microsoft AD dễ bị liệt kê tên người dùng tại thời điểm xác minh đầu vào do người dùng cung cấp. Đây là lỗi thiết kế trong khi triển khai AD. Attacker lợi dụng điều này để liệt kê tên người dùng hợp lệ sau đó tiến hành brute-force.
- Lấy thông tin sử dụng DNS Zone Transfer: Người quản trị có thể sử dụng chuyển vùng DNS để sao chép dữ liệu DNS hoặc sao lưu các file DNS.
- Lấy user groups từ Windows: Để thực hiện kỹ thuật này thì attacker phải là thành viên của Active Directory sau đó sử dụng giao diện Windows hoặc cửa sổ dòng lệnh để lấy các dữ liệu cần thiết.
- Lấy username sử dụng SNMP: Attacker có thể dễ dàng dự đoán community string của giao thức SNMP để trích xuất username.
Liệt kê dịch vụ và port
TCP và UDP giúp quản lý truyền thông dữ liệu giữa các thiết bị đầu cuối trong mạng. TCP là một giao thức hướng kết nối có khả năng gửi thông điệp hoặc email qua Internet. TCP cung cấp dịch vụ truyền thông đa tiến trình trong môi trường đa mạng. Các chức năng của TCP gồm:
- Hỗ trợ xác minh dữ liệu thông qua giá trị Window Size.
- Khả năng tự động truyền lại nếu dữ liệu bị mất.
- Cho phép đánh địa chỉ và ghép kênh.
- Một kết nối có thể được thiết lập, quản lý hoặc chấm dứt.
- Cung cấp khả năng quản lý tắc nghẽn và kiểm soát luồng.
UDP là một giao thức không kết nối và cung cấp dịch vụ không tin cậy. Các ứng dụng của UDP bao gồm:
- Truyền phát âm thanh
- Hội nghị truyền hình và hội nghị từ xa
Các service và port TCP/UDP mà ta có thể liệt kê bao gồm:
TCP/UDP 53: DNS Zone Transfer
Quá trình phân giải DNS thiết lập giao tiếp giữa máy khách DNS và máy chủ DNS. Máy khách DNS gửi thông điệp DNS đến máy chủ DNS. Nếu kích thước thông điệp DNS vượt quá kích thước mặc định của UDP (512 octet), thì thông điệp phản hồi chỉ chứa dữ liệu mà UDP có thể chứa và máy chủ DNS đặt cờ đánh dấu phản hồi này bị cắt ngắn.
Máy khách DNS có thể gửi lại yêu cầu qua TCP port 53 đến máy chủ DNS. Theo cách tiếp cận này, máy chủ DNS sử dụng UDP làm giao thức mặc định. Trong trường hợp truy vấn dài mà UDP không thành công, thì sẽ sử dụng TCP làm giải pháp chuyển đổi dự phòng. Một số phần mềm độc hại như ADM worm và Bonk Trojan sử dụng port 53 để khai thác các lỗ hổng bên trong máy chủ DNS.
TCP/UDP 135: Microsoft RPC Endpoint Mapper
RPC là một giao thức được sử dụng giúp máy khách yêu cầu dịch vụ từ máy chủ. Endpoint là port mà máy chủ lắng nghe các RPC của máy khách. RPC Endpoint Mapper cho phép các máy khách RPC xác định số port hiện được gán cho một dịch vụ RPC cụ thể. Có một lỗ hổng trong phần RPC trao đổi thông điệp qua TCP/IP. Việc xử lý sai các thông điệp không đúng định dạng có thể gây ra lỗi.
UDP 137: NetBIOS Name Service (NBNS)
NBNS, còn được gọi là Windows Internet Name Service (WINS), cung cấp dịch vụ phân giải tên cho các máy tính chạy NetBIOS. Máy chủ NetBIOS duy trì cơ sở dữ liệu về NetBIOS cho máy chủ và IP tương ứng mà máy chủ đang sử dụng. NBNS nhằm mục đích so khớp với tên và truy vấn NetBIOS. NBNS sử dụng UDP 137 làm giao thức vận chuyển. Nó cũng có thể sử dụng TCP 137 làm giao thức vận chuyển cho một vài hoạt động nhưng rất hiếm khi xảy ra.
TCP 139: NetBIOS Session Service (SMB over NetBIOS)
TCP 139 được sử dụng để chuyển file qua mạng. Người ta thường sử dụng port này để thiết lập null-session cũng như chia sẻ file và máy in. Port TCP 139 nếu được cấu hình không đúng cách thì attacker có thể truy cập trái phép vào các file hệ thống quan trọng hoặc toàn bộ hệ thống file, dẫn đến hành vi trộm cắp dữ liệu dẫn tới rủi ro mất mát dữ liệu.
TCP/UDP 445: SMB over TCP (Direct Host)
Windows hỗ trợ chia sẻ file và máy in bằng giao thức SMB thông qua TCP. Lưu lượng SMB sử dụng port 445 (TCP/UDP) thay vì NetBIOS.
UDP 161: Simple Network Management Protocol (SNMP)
SNMP được sử dụng rộng rãi trong viêc quản lý mạng để giám sát các thiết bị kết nối mạng như router, switch, tường lửa, máy in và các server.
TCP/UDP 389: Lightweight Directory Access Protocol (LDAP)
LDAP là một giao thức để triển khai các dịch vụ thông tin thư mục phân tán qua mạng. LDAP sử dụng TCP/UDP làm giao thức vận chuyển qua port 389.
TCP 2049: Network File System (NFS)
Giao thức NFS được sử dụng để gắn hệ thống file từ xa vào máy cục bộ thông qua kết nối mạng. Máy chủ NFS lắng nghe máy khách trên port TCP 2049. Nếu NFS không được cấu hình đúng cách, thì attacker có thể khai thác giao thức NFS để giành quyền kiểm soát hệ thống từ xa, thực hiện leo thang đặc quyền, đưa các backdoor hoặc phần mềm độc hại khác vào.
TCP 25: Simple Mail Transfer Protocol (SMTP)
SMTP là một giao thức gửi thư qua TCP/IP. Nó có thể gửi email qua Internet hoặc qua mạng cục bộ. SMTP sử dụng port 25 với cú pháp như hình bên dưới.
TCP/UDP 162: SNMP Trap
SNMP Trap sử dụng port TCP/UDP 162 để gửi thông báo thông số hệ thống chẳng hạn như sysUpTime từ các thiết bị phần cứng.
UDP 500: Internet Security Association and Key Management Protocol (ISAKMP) / lnternet Key Exchange (IKE)
Internet Security Association and Key Management Protocol (ISAKMP) / lnternet Key Exchange (IKE) là một giao thức được sử dụng để thiết lập security association (SA) trong bộ giao thức IPsec. Giao thức này sử dụng port UDP 500 để thiết lập, đàm phán, sửa đổi và xóa SA và khóa mật mã trong môi trường mạng riêng ảo (VPN).
TCP 22: Secure Shell (SSH)
Secure Shell (SSH) là một giao thức được sử dụng để quản trị các thiết bị từ xa một cách an toàn. Nó thay thế cho giao thức Telnet không an toàn. SSH sử dụng mô hình giao tiếp máy khách/máy chủ và lắng nghe trên port TCP 22. Attacker có thể khai thác giao thức SSH bằng cách brute-force thông tin đăng nhập.
TCP/UDP 5060, 5061: Session Initiation Protocol (SIP)
Session Initiation Protocol (SIP) là một giao thức sử dụng trong điện thoại Internet để gọi thoại và video. SIP sử dụng port TCP/UDP 5060 (không mã hóa) hoặc 5061 (mã hóa bằng TLS) cho SIP tới server và các endpoint khác.
TCP 20/21: File Transfer Protocol
FTP là một giao thức hướng kết nối sử dụng để truyền file qua Internet và mạng riêng. FTP được kiểm soát trên port TCP 21 và truyền dữ liệu trên port TCP 20 hoặc một số port động tùy vào cấu hình. Nếu attacker phát hiện các port FTP đang mở, thì chúng có thể liệt kê để tìm thông tin như phiên bản phần mềm và trạng thái của các lỗ hổng hiện có để khai thác.
TCP 23: Telnet
Telnet được sử dụng để quản lý các thiết bị mạng từ xa. Đây là một giao thức không an toàn vì nó truyền thông tin đăng nhập ở định dạng bản rõ. Attacker có thể lợi dụng giao thức Telnet để thực hiện lấy banner trên các giao thức khác như SSH và SMTP, brute-force thông tin đăng nhập, …
UDP 69: Trivial File Transfer Protocol (TFTP)
TFTP là một giao thức không kết nối được sử dụng để truyền file qua Internet. TFTP không đảm bảo việc truyền file đúng cách đến đích. TFTP chủ yếu được sử dụng để cập nhật hoặc nâng cấp phần mềm và chương trình cơ sở. Attacker có thể khai thác TFTP để cài đặt phần mềm độc hại hoặc chương trình cơ sở trên các thiết bị từ xa.
TCP 179: Border Gateway Protocol (BGP)
BGP được các nhà cung cấp dịch vụ Internet (ISP) sử dụng rộng rãi để triển khai các bảng định tuyến và xử lý hiệu quả lưu lượng truy cập Internet. Các bộ định tuyến BGP thiết lập các phiên trên port TCP 179. Việc cấu hình sai BGP có thể dẫn đến bị tấn công dictionary, DoS, flooding và hijacking attacks, …
Comments 2