DDos
VIP Members
-
22/10/2013
-
524
-
2.191 bài viết
Cách khai thác SNMP cho quá trình thu thập thông tin
Trong quá trình thử nghiệm thâm nhập, việc thu thập càng nhiều thông tin về mục tiêu là một cơ hội lớn để khai thác thành công mục tiêu đó. Một trong những thứ chúng ta cần quan tâm đó là thông tin về giao thức Simple Network Management Protocol (SNMP). Nhiều người mới bước vào quá trình thử nghiệm thâm nhập thường bỏ qua hoặc ít biết tới giá trị của quá trình thu thập thông tin. Nhưng nếu bạn hiểu cách các giao thức hoạt động trong mạng, bạn sẽ dễ dàng hơn trong quá trình tấn công mục tiêu.
Cách SNMP có thể giúp bạn truy cập vào các thiết bị mạng
SNMP chạy trên UDP trên cổng 161 và cho phép người quản trị mạng thu thập thông tin trên mạng và quản lý các thiết bị mạng. Mỗi thiết bị mạng tương ứng với các thông tin về cách hoạt động, model.. của nó, khi được truy vấn bởi người quản trị.
Tất cả các thông tin này được lưu trữ trong một cơ sở dữ liệu được gọi là Master Information Base (MIB). Nếu bạn có thể truy cập tới MIB và biết cách đọc và dịch thông tin, bạn có thể biết về mọi thiết bị trên mạng. Nếu bạn có thể bẻ khóa mật khẩu trên SNMP, bạn có thể kiểm soát mỗi thiết bị trên mạng này. Điều này cho phép bạn thay đổi cấu hình, tắt tiết bị mạng....
Các phiên bản khác nhau của SNMP
Hiện nay, có ít nhất 3 version của SNMP. Đầu tiên là SNMPv1 (cũng có thể gọi là SNMP), phiên bản này có khá nhiều lỗ hổng. Tiếp đến là SNMPv2 được phát triển với mục đích bảo mật hơn, an toàn hơn, nhưng nó không tương thích với SNMPv1. Cuối cùng là, SNMPv3 bảo mật hơn so với hai phiên bản trước và đảm bảo việc tương thích với các phiên bản cũ hơn (nhưng ít được sử dung).
SNMPv1 đước sử dụng khá phổ biến và là giao thức quản lý mạng tiêu chuẩn trong Internet. Quá trình xác thực của các máy khách được thực hiện chỉ bằng một "community string" (được biết tới như một loại của mật khẩu) và nó được truyền đi trong dạng của một văn bản thuần. Với "community string" này, người quản trị có thể thay đổi cấu hình của các thiết bị mạng từ xa. Trong SNMPv1 sẽ có hai loại "community string", một dành cho người quản trị và một dành cho tất cả mọi người. Với "community string" cho tất cả mọi người thì nó chỉ cho phép bạn xem thông tin ở trong MIB. Trước khi bạn cố gắng hack SNMP, hãy chắc chắn rằng bạn sẽ thử mật khẩu mặc định đầu tiên.
Khai thác SNMP cho quá trình thu thập thông tin
Trong hướng dẫn này, mình sẽ mô phỏng quá trình thu thập thông tin từ SNMP MIB (giả định là mục tiêu sử dụng SNMPv1 và biết "community string").
Bước 1: Mở snmpenum
Bước 2: Chạy snmpenum
Trong terminal, nhập tiếp ls -l, bạn sẽ thấy như hình dưới.
Đây là 3 file text mà nó là các file cấu hình cho snmpenum (một cho Windows, một cho Linux, và một cho Cisco).
Trong trường hợp này, mình sẽ chạy snmpenum để tấn công Windows mà nó có một SNMP community string mặc định thiết lập tới "public", nó ở trên địa chỉ IP 192.168.1.101.
Nhập lệnh:
./snmpenum.pl 192.168.1.101 public windows.txt
Bước 3: Xem kết quả
Khi bạn chạy snmpenum, nó sẽ thu thập tất cả thông tin trong cơ sở dữ liệu MIB trên máy mục tiêu và hiển thị nó trên màn hình. Tất cả thông tin thu thập được bao gồm users, phần mềm đã cài đặt, hostname, OS, uptime, services, open TCP ports, open UDP ports ...
Bây giờ với các thông tin này chúng ta có thể hiểu hơn về mục tiêu, chuẩn bị kỹ hơn cho quá trình tấn công.
Cách SNMP có thể giúp bạn truy cập vào các thiết bị mạng
SNMP chạy trên UDP trên cổng 161 và cho phép người quản trị mạng thu thập thông tin trên mạng và quản lý các thiết bị mạng. Mỗi thiết bị mạng tương ứng với các thông tin về cách hoạt động, model.. của nó, khi được truy vấn bởi người quản trị.
Tất cả các thông tin này được lưu trữ trong một cơ sở dữ liệu được gọi là Master Information Base (MIB). Nếu bạn có thể truy cập tới MIB và biết cách đọc và dịch thông tin, bạn có thể biết về mọi thiết bị trên mạng. Nếu bạn có thể bẻ khóa mật khẩu trên SNMP, bạn có thể kiểm soát mỗi thiết bị trên mạng này. Điều này cho phép bạn thay đổi cấu hình, tắt tiết bị mạng....
Các phiên bản khác nhau của SNMP
Hiện nay, có ít nhất 3 version của SNMP. Đầu tiên là SNMPv1 (cũng có thể gọi là SNMP), phiên bản này có khá nhiều lỗ hổng. Tiếp đến là SNMPv2 được phát triển với mục đích bảo mật hơn, an toàn hơn, nhưng nó không tương thích với SNMPv1. Cuối cùng là, SNMPv3 bảo mật hơn so với hai phiên bản trước và đảm bảo việc tương thích với các phiên bản cũ hơn (nhưng ít được sử dung).
SNMPv1 đước sử dụng khá phổ biến và là giao thức quản lý mạng tiêu chuẩn trong Internet. Quá trình xác thực của các máy khách được thực hiện chỉ bằng một "community string" (được biết tới như một loại của mật khẩu) và nó được truyền đi trong dạng của một văn bản thuần. Với "community string" này, người quản trị có thể thay đổi cấu hình của các thiết bị mạng từ xa. Trong SNMPv1 sẽ có hai loại "community string", một dành cho người quản trị và một dành cho tất cả mọi người. Với "community string" cho tất cả mọi người thì nó chỉ cho phép bạn xem thông tin ở trong MIB. Trước khi bạn cố gắng hack SNMP, hãy chắc chắn rằng bạn sẽ thử mật khẩu mặc định đầu tiên.
Khai thác SNMP cho quá trình thu thập thông tin
Trong hướng dẫn này, mình sẽ mô phỏng quá trình thu thập thông tin từ SNMP MIB (giả định là mục tiêu sử dụng SNMPv1 và biết "community string").
Bước 1: Mở snmpenum
Bước 2: Chạy snmpenum
Trong terminal, nhập tiếp ls -l, bạn sẽ thấy như hình dưới.
Đây là 3 file text mà nó là các file cấu hình cho snmpenum (một cho Windows, một cho Linux, và một cho Cisco).
Trong trường hợp này, mình sẽ chạy snmpenum để tấn công Windows mà nó có một SNMP community string mặc định thiết lập tới "public", nó ở trên địa chỉ IP 192.168.1.101.
Nhập lệnh:
./snmpenum.pl 192.168.1.101 public windows.txt
Bước 3: Xem kết quả
Khi bạn chạy snmpenum, nó sẽ thu thập tất cả thông tin trong cơ sở dữ liệu MIB trên máy mục tiêu và hiển thị nó trên màn hình. Tất cả thông tin thu thập được bao gồm users, phần mềm đã cài đặt, hostname, OS, uptime, services, open TCP ports, open UDP ports ...
Bây giờ với các thông tin này chúng ta có thể hiểu hơn về mục tiêu, chuẩn bị kỹ hơn cho quá trình tấn công.
Chỉnh sửa lần cuối bởi người điều hành: