SNMP là giao thức giám sát mạng đơn giản. Nó là một giao thức mà bất kỳ nhà quản trị mạng cũng nên biết đến. Với khả năng cung cấp thông tin, trạng thái của các thiết bị mạng, SNMP cũng là một mục tiêu được nhắm tới và sử dụng khi cần khai thác thông tin để thực hiện các cuộc tấn công mạng.
Hiện tại SNMP đã trải qua 3 version kể từ năm 1988 đến nay. Tuy nhiên về mức độ bảo mật cao và khuyến nghị được sử dụng nhiều nhất thì vẫn là SNMPv3, nó có 3 cấp độ bảo mật khác nhau:
- NoAuthNoPriv – Viết tắt của từ “No Authentication, No Privacy”, nghĩa là “Không xác thực, Không bảo mật”. Không cần xác thực và tin nhắn không được mã hóa. Dùng trong mạng LAN, nhưng mạng nhỏ, ít người sử dụng, trình độ người dùng không cao, rủi ro thấp.
- AuthNoPriv – Viết tắt của từ “Authentication, No Privacy”, nghĩa là “Xác thực, Không bảo mật”. Tin nhắn gửi đi phải được xác thực để được thực hiện; tuy nhiên, chúng không được mã hóa trong quá trình truyền. Không mã hóa nên gói tin có thể bị capture và đọc nội dung.
- AuthPriv – Viết tắt của từ “Authentication and Privacy”, nghĩa là “Xác thực và Bảo mật”. Tin nhắn SNMP phải được xác thực và tất cả dữ liệu được mã hóa trong quá trình truyền. Ngoài ra nó còn yêu cầu phải xác thực thông tin nữa, điều này đẩy mức độ bảo mật lên cao hơn.
Quay trở lại với vấn đề chính, trong bài viết này sẽ sử dụng máy ảo kali và thực hiện khai thác, thu thập thông tin thông qua giao thức SNMP từ một máy windows 2k8 qua port dịch vụ là 161.
Tìm kiếm module snmp:
Set target vào RHOSTS và RPORT (default 161)
Run thôi:
Mặc dù thông tin thu thập được là tùy theo thiết bị, nhưng mà thu thập được càng nhiều thông tin thì càng tốt. Có thể xem ở dưới đây, trong trường hợp này, có kha khá thông tin đã được thu thập, ví dụ: thông tin về IIS, storage:
Thông tin về network:
Thông tin về các process đang hoạt động:
Thông tin về mạng, định tuyến hay các port đang mở: