Professional Documents
Culture Documents
P2 Enumeration
P2 Enumeration
Bước đầu tiên khi liệt kê hệ thống Windows là tận dụng NetBIOS API. NetBIOS ban đầu được
phát triển như một API cho client truy cập tài nguyên mạng LAN. Windows sử dụng NetBIOS
để chia sẻ file và máy in. Tên NetBIOS là một chuỗi ASCII gồm 16 ký tự duy nhất được gán cho
các hệ thống Windows để xác định các thiết bị mạng qua TCP/IP; 15 ký tự được sử dụng cho tên
thiết bị và ký tự thứ 16 được dành riêng cho loại dịch vụ hoặc bản ghi.
NetBIOS sử dụng port UDP 137 (name services), port UDP 138 (datagram services) và
port TCP 139 (session services). Attacker thường nhắm vào dịch vụ NetBIOS vì dễ khai thác và
nó chạy trên Windows ngay cả khi không sử dụng. Attacker có thể xác định được:
Danh sách các máy tính trong một domain
Danh sách chia sẻ
Policies và mật khẩu
Tuy nhiên, để liệt kê NetBIOS, hệ thống đích phải bật tính năng chia sẻ file và máy in và
Microsoft không hỗ trợ NetBIOS name resolution cho IPv6.
NetBIOS name list
Công cụ Nbtstat
Nbtstat là một tiện ích Windows giúp khắc phục sự cố về phân giải NETBIOS name.
Lệnh nbtstat xóa và sửa các mục đã tải trước bằng cách sử dụng một số khóa chuyển phân biệt
chữ hoa chữ thường. Những kẻ tấn công sử dụng Nbtstat để liệt kê thông tin chẳng hạn như
thống kê giao thức NetBIOS qua TCP/IP (NetBT), bảng tên NetBIOS cho cả máy tính cục bộ và
máy tính từ xa và bộ nhớ đệm tên NetBIOS.
Cú pháp của lệnh nbtstat như sau:
nbtstat [-a RemoteName] [-A IP Address] [-c] [-n] [-r] [-R] [-RR] [-s] [—S] [Interval]
Bảng bên dưới liệt kê các tham số Nbtstat và các chức năng tương ứng của chúng.
Nbtstat parameters and their respective functions
Lệnh nbtstat -c thực thi để lấy nội dung của NetBIOS name cache, NetBIOS name
table và resolved IP.
NetBIOS Enumerator
NetBIOS Enumerator là một công cụ enumeration dùng để xử lý một số giao thức như SMB.
Attacker sử dụng NetBIOS Enumerator để liệt kê chi tiết như tên NetBIOS name, usernames,
domain names, địa chỉ MAC trong một dải IP cho trước.
Sử dụng PsTools
Liệt kê tài khoản người dùng bằng bộ công cụ PsTools giúp kiểm soát và quản lý hệ thống từ xa
từ cửa sổ dòng lệnh. Sau đây là một số lệnh để liệt kê tài khoản người dùng.
PsTools
PsExec
PsExec là một giải pháp thay thế cho Telnet có thể thực thi các tiến trình trên các hệ thống khác,
cung cấp khả năng tương tác đầy đủ cho các ứng dụng console mà không cần cài đặt client theo
phương pháp truyền thống. Cú pháp của lệnh PsExec như sau:
psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][- n s][-r servicename][—h][-1][-
s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd
[arguments]
PsFile
PsFile là một tiện ích hiển thị danh sách các file trên hệ thống từ xa và có khả năng đóng các file
đã mở theo tên hoặc theo file ID. Hành vi mặc định của PsFile là liệt kê các file cục bộ được mở
bởi các hệ thống từ xa. Cú pháp của PsFile:
psfile [\\RemoteComputer [-u Username [-p Password]]] [[Id | path] [-c]]
PsGetSid
PsGetSid chuyển SIDs thành tên hiển thị của chúng và ngược lại. Nó hoạt động trên cả built-in
accounts, domain accounts, và local accounts. Nó cũng hiển thị SID của user accounts và
chuyển SID thành tên đại diện cho nó. Cú pháp của lệnh PsGetSid như sau:
psgetsid [\\computer[,computer[,...] | @file] [-u username [~p
password]]] [account|SID]
PsKill
PsKill là một tiện ích có thể triệt tiêu các tiến trình trên hệ thống từ xa và kể cả chấm dứt các tiến
trình trên máy cục bộ. Chạy PsKill với process ID thì tiến trình tương ứng sẽ bị chấm dứt. Còn
nếu ta cung cấp tên tiến trình, PsKill sẽ hủy tất cả các tiến trình có tên trùng với tên đó. Cú pháp
của lệnh PsKill như sau:
pskill [- ] [-t] [Wcomputer [-u username] [-p password]] <process name | process id>
Pslnfo
Pslnfo là một công cụ thu thập thông tin về Windows, bao gồm installation type, kernel build, tổ
chức và chủ sở hữu đã đăng ký, số lượng bộ xử lý, dung lượng bộ nhớ vật lý, ngày cài đặt và
ngày hết hạn (trong trường hợp phiên bản dùng thử). Cú pháp của lệnh Pslnfo như sau:
psinfo [ [Wcomputer [, computer [,.. ] | @file [-u user
[-p psswd]]] [-h] [-s] [-d] [-c [-t delimiter]] [filter]
Sử dụng Net View
Net View là một công cụ dòng lệnh hiển thị danh sách các máy tính trong một workgroups hoặc
các shared resource trên máy tính. Nó có thể được sử dụng theo những cách sau.
net view \\<computername>
Trong lệnh trên, <computername> là tên hoặc IP của một máy tính cụ thể, các tài nguyên của
máy tính đó sẽ được hiển thị.
net view \\<computername> /ALL
Lệnh trên hiển thị tất cả các chia sẻ trên máy tính từ xa.
Lệnh trên hiển thị tất cả các chia sẻ trên miền được chỉ định.
Ví dụ xem tài nguyên của một máy tính cụ thể như hình bên dưới: