Tải bản đầy đủ (.pdf) (31 trang)

Bài tập lớn môn an toàn mạng (11)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.8 MB, 31 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA AN TỒN THƠNG TIN

-----🙞🙜🕮🙞🙜-----

HỌC PHẦN : AN TỒN MẠNG

BÀI BÁO CÁO:
TÌM HIỂU CÔNG CỤ SNMP-check
Giảng viên hướng dẫn: TS. Đặng Minh Tuấn

Sinh viên thực hiện:

Nguyễn Trọng An

Mã sinh viên:

B18DCAT002

Nhóm:

02

Hà Nội 2021

1


MỤC LỤC
DANH SACH HÌNH ẢNH ............................................................................................. 3
LỜI NĨI ĐẦU ................................................................................................................ 4


CHƯƠNG I : GIỚI THIỆU VỀ GIAO THỨC SNMP ................................................... 5
1.1. Khái niệm SNMP ................................................................................................. 5
1.2. Các phiên bản của giao thức SNMP .................................................................... 6
1.3. Một số khái niệm cơ bản của giao thức SNMP ................................................... 6
1.4. Các thành phần của SNMP .................................................................................. 7
1.5. Cách hoạt dộng của giao thức SNMP .................................................................. 8
1.5.1 Các Phương thức hoạt động của SNMP ........................................................ 9
1.5.2. Cấu trúc gói tin SNMP................................................................................ 11
1.5.3. Cấu trúc gói tin SNMP GetRequest: ........................................................... 12
1.5.4. Cấu trúc gói tin SNMP GetReponse: .......................................................... 13
CHƯƠNG II: CÔNG CỤ SNMPCHECK TRONG KALI LINUX ............................. 14
1.

Giới thiệu về snmp-check................................................................................. 14

2.

Các phương phương thức của snmpcheck ....................................................... 14

3.

Hướng dẫn sử dụng .......................................................................................... 15

CHƯƠNG III : DEMO ................................................................................................. 20
KẾT LUẬN ................................................................................................................... 30
TÀI LIỆU THAM KHẢO ............................................................................................ 31

2



DANH SACH HÌNH ẢNH
Hình 1.1, hình ảnh thể hiện khái quát giao thức SNMP .................................................................................... 5
Hình 1.2, Thể hiện các thành phần của SNMP ................................................................................................... 7
Hình 1.3 mơ tả cách hoạt động SNMP................................................................................................................. 8
Hình 1.4. Mơ tả phương thức hoạt động của SNMPv2 ..................................................................................... 10
Hình 1.5. Cấu trúc gói tin SNMP ...................................................................................................................... 11
Hình 1.6. Gói tin SNMP-GetRequest ................................................................................................................ 12
Hình 1.7. Gói tin SNMP GetReponse ............................................................................................................... 13
Hình 2.1. Máy ảo Kali Linux ............................................................................................................................ 16
Hình 2.2. search snmp-check trong kali linux .................................................................................................. 17
Hình 2.3. Cơng cụ snmp-check ......................................................................................................................... 18
Hình 2.4. Cú pháp của snmp-check .................................................................................................................. 19
Hình 3.1. Trang web Shodan.io ........................................................................................................................ 20
Hình 3.2. tìm IP dùng giao thức SNMP ............................................................................................................ 21
Hình 3.3. hình ảnh IP cần lấy thơng tin ............................................................................................................ 22
Hình 3.4. hình ảnh kiểm tra cổng 161,162 ........................................................................................................ 23
Hình 3.5. Hình ảnh kiểm tra cổng UDP có open ............................................................................................. 24
Hình 3.6. sử dụng snmp-check để thu thập thông tin của 88.192.43.152

...................................................... 25

Hình 3.7. Thu thap thơng tin của 46.173.188.23 (1) ......................................................................................... 26
Hình 3.8. Thu thap thơng tin của 46.173.188.23 (2) ......................................................................................... 27
Hình 3.9. Thu thâp thơng tin của 46.173.188.23 (3) ......................................................................................... 28
Hình 3.10. Thu thap thơng tin của 46.173.188.23 (4) ....................................................................................... 29

3


LỜI NĨI ĐẦU

Hiện nay là thời đại cơng nghệ thơng tin đang phát triển rất nhanh và có rất và
đi cùng với đó là sự đi kèm của internet và các giao thức để quản lý các phương tiện
trên internet.
SNMP là một giao thức tầng ứng dụng phổ biến để quản lý và giám sát các thiết
bị mạng cũng như chức năng của chúng. SNMP cung cấp ngôn ngữ chung cho các
thiết bị mạng để chuyển tiếp thông tin quản lý trong cả môi trường single-vendor và
multi-vendor trong mạng cục bộ (LAN) hoặc mạng diện rộng (WAN). Và để đễ dàng
có thể giám sát được các thiết bị này đã có một số cơng cụ được xây dựng nên như
snmpwalk, snmpget, onesixtyone,…. Trong đó, cơng cụ được phân tích và tìm hiểu
trong báo cáo này đó chính là snmpcheck.
Nội dung chủ yếu của bảo báo sẽ được chia làm 3 chương:
Chương I: GIỚI THIỆU VỀ GIAO THỨC SNMP
Chương II: CÔNG CỤ SNMPCHECK TRONG KALI LINUX
Chương III: DEMO

4


CHƯƠNG I : GIỚI THIỆU VỀ GIAO THỨC SNMP
1.1. Khái niệm SNMP
SNMP (Simple Network Management Protocol) là giao thức tầng ứng dụng chạy cổng 160, 161, 162
trên UDP. SNMP được sử dụng để quản lý và giám sát các thiết bị mạng cũng như chức năng của chúng.
SNMP cung cấp ngôn ngữ chung cho các thiết bị mạng để chuyển tiếp thông tin quản lý trong cả môi trường
single-vendor và multi-vendor trong mạng cục bộ (LAN) hoặc mạng diện rộng (WAN).

Hình 1.1, hình ảnh thể hiện khái quát giao thức SNMP
Một trong những giao thức được sử dụng rộng rãi nhất, SNMP được hỗ trợ trên một loạt các loại phần
cứng – từ các thiết bị mạng thông thường như bộ định tuyến (router), bộ chuyển mạch (switch) và điểm truy
cập không dây (wireless access point) đến các điểm cuối như máy in, scanner và thiết bị IoT (Internet of
Things). Ngồi phần cứng, SNMP có thể được sử dụng để giám sát các dịch vụ như Dynamic Host

Configuration Protocol (DHCP). Các software agent trên các thiết bị và dịch vụ này giao tiếp với hệ thống
quản lý mạng (NMS), còn được gọi là trình quản lý SNMP, thơng qua SNMP để chuyển tiếp thông tin trạng
thái và thay đổi cấu hình.
5


Mặc dù SNMP có thể được sử dụng trong một mạng có quy mơ bất kỳ, nhưng giá trị
lớn nhất của nó là rõ ràng là trong các mạng rộng lớn. Đăng nhập thủ công và riêng lẻ
vào hàng trăm hoặc hàng nghìn node sẽ cực kỳ mất thời gian và tốn nhiều tài nguyên.
Trong khi đó, sử dụng SNMP với một NMS cho phép người quản trị mạng quản lý và
theo dõi tất cả những node từ một giao diện duy nhất, mà thường có thể hỗ trợ hàng loạt
các lệnh và cảnh báo tự động. SNMP được mô tả trong IETF/RFC 1157 và trong một
số RFC khác có liên quan.

1.2. Các phiên bản của giao thức SNMP
SNMP có các phiên bản: SNMPv1 (RFC 1155, RFC 1157), SNMPv2c(RFC 1901, RFC 1905, RFC
1906, RFC2578), SNMPv2u ( RFC 1909, RFC 1910) và SNMPv3 (RFC 1905, RFC 1906, RFC 3411, RFC
3412, RFC 3414, RFC 3415).
Phiên bản gần đây nhất của SNMP, version 3, bao gồm các cải tiến bảo mật để xác thực và mã hóa tin
nhắn SNMP cũng như bảo vệ các gói trong khi truyền.

1.3. Một số khái niệm cơ bản của giao thức SNMP
- Object:
Ø Mỗi thiết bị có hỗ trợ SNMP cung cấp nhiều thông tin khác nhau, mỗi thơng tin đó được gọi là object.
Ví dụ: router có các thơng tin về tổng số card, tổng số cổng, tổng số bit đã truyền/nhận, tên router, trạng thái
tắt/mở của các cổng.
Ø Mỗi object có một tên gọi riêng và một mã số Oject ID (OID) để nhận dạng object đó. Ví dụ: tên thiết
bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5.
Ø Mỗi oject chỉ có duy nhất một OID nhưng có thể có nhiều tên gọi nên người ta sử dụng một chỉ số subid dể phân biệt các object. Ví dụ: Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có 2
tên thì chúng sẽ được gọi là sysName.0 và sysName.1 và có OID lần lượt là 1.3.6.1.2.1.1.5.0 và

1.3.6.1.2.1.1.5.1.
Ø Một số object phổ biến thì được chuẩn hóa OID, riêng các object mới được tạo ra theo yêu cầu của cá
nhân thì phải được mơ tả OID. Để lấy một thơng tin có OID đã chuẩn hóa thì ứng dụng SNMP phải gửi một
gói tin SNMP có chứa OID của object đó cho SNMP agent, SNMP agent khi nhận được thì nó phải trả lời
bằng thơng tin ứng với OID đó.
Ø Object access quy định quyền truy cập của mỗi object là READ_ONLY (chỉ cho phép đọc object) hoặc
READ_WRITE (cho phép đọc và thay đổi giá trị object). Ví dụ: tên của một thiết bị (sysName) thì ta có thể
thay đổi nên có quyền READ_WRITE, còn giá tổng số cổng của thiết bị (ifNumber) là READ_ONLY thì
khổng thể đổi.

6


1.4. Các thành phần của SNMP

Hình 1.2, Thể hiện các thành phần của SNMP
Có bốn thành phần chính trong mạng do SNMP quản lý:
1. SNMP Agent: Chương trình này chạy trên phần cứng hoặc dịch vụ đang được giám sát,
thu thập dữ liệu về các số liệu khác nhau như tình trạng sử dụng băng thơng hoặc dung
lượng ổ đĩa. Khi được người quản lý SNMP truy vấn, agent sẽ gửi thơng tin này lại cho
trình quản lý. Một agent cũng có thể chủ động thơng báo cho NMS nếu xảy ra lỗi. Hầu hết
các thiết bị đi kèm với một SNMP Agent được cài đặt sẵn; Thơng thường nó chỉ cần được
bật lên và cấu hình.
2. Các thiết bị và tài nguyên do SNMP quản lý: Đây là các node mà một agent chạy trên đó.
3. Trình quản lý SNMP (còn gọi là NMS): Nền tảng phần mềm này hoạt động như một bảng điều khiển
tập trung mà các agent cung cấp thơng tin. Nó sẽ chủ động u cầu các agent gửi thông tin cập nhật
qua SNMP theo định kỳ. Những gì người quản lý mạng có thể làm với thơng tin đó phụ thuộc rất
nhiều vào số lượng tính năng của NMS. Có một số trình quản lý SNMP miễn phí đang được cung
cấp, nhưng chúng thường bị giới hạn về khả năng hoặc số lượng node mà chúng có thể hỗ trợ. Ở
mức độ cao hơn, các nền tảng cấp doanh nghiệp cung cấp các tính năng nâng cao cho các mạng

phức tạp hơn, với một số sản phẩm hỗ trợ lên đến hàng chục nghìn node.

7


4. Cơ sở thông tin quản lý (Management information base – MIB): Cơ sở dữ liệu này là một file văn
bản (.mib) phân loại và mô tả tất cả các đối tượng được sử dụng bởi một thiết bị cụ thể có thể được
truy vấn hoặc kiểm sốt bằng SNMP. Cơ sở dữ liệu này phải được tải vào NMS để có thể xác định
và theo dõi trạng thái của các thuộc tính này. Mỗi mục MIB được gán một định danh đối tượng
(OID). Các thiết bị được quản lý bằng SNMP chỉ khi các ứng dụng SNMP manager và SNMP agent
cùng hỗ trợ một MIB. Các ứng dụng này cũng có thể hỗ trợ cùng lúc nhiều MIB.

1.5. Cách hoạt dộng của giao thức SNMP

Hình 1.3 mơ tả cách hoạt động SNMP
SNMP thực hiện vô số chức năng, dựa trên sự pha trộn giữa truyền tin push-and-pull giữa các thiết bị
mạng và hệ thống quản alý. Nó có thể ra lệnh đọc hoặc ghi, chẳng hạn như đặt lại mật khẩu hoặc thay đổi cài
đặt cấu hình. Nó có thể báo cáo lại mức độ sử dụng băng thông, CPU và bộ nhớ, với một số trình quản lý
SNMP tự động gửi cho người quản trị một email hoặc thông báo tin nhắn văn bản nếu vượt quá ngưỡng xác
định trước.

8


Trong hầu hết các trường hợp, SNMP hoạt động trong một mơ hình đồng bộ, với giao tiếp được khởi tạo bởi
người quản lý SNMP và tác nhân gửi phản hồi. Các lệnh và thông báo này, thường được vận chuyển qua giao
thức UDP hoặc TCP/IP, được gọi là đơn vị dữ liệu giao thức (PDU)

1.5.1 Các Phương thức hoạt động của SNMP
SNMP hoạt động dựa trên 7 loại thông điệp

SNMPv2 PDU
GetRequest
GetNextRequest
GetBulkRequest
InformRequest
SetRequest

SetResponse

Trap

Mô tả tác dụng
Manager gửi GetRequest (chứa một hoặc nhiều OID) đến agent để lấy một
hoặc nhiều giá trị của object trong MIB.
Manager gửi GetNextRequest đến agent dùng để lấy giá trị của object nằm kế
tiếp object được chỉ ra trong MIB.
Manager gửi GetBulkRequest đến agent để lấy nhiều giá trị của nhiều object.
Manager gửi InformRequest đến manager nhằm trao đổi thông tin với nhau.
Manager gửi SetRequest đến agent để thiết lập giá trị cho oject dựa vào OID.
Chỉ những oject có quyền READ_WRITE mới có thể thiết lập giá trị được.
Sau khi Agent nhận được các thông điệp GetRequest, GetNextRequest hay
SetRequest thì nó sẽ gửi GetResponse để trả lời. Trong GetResponse có chứa OID
của object được yêu cầu và giá trị của object đó.
Trap được agent tự động gửi đến manager để thơng báo trong agent có sự kiện
hay biến cố xảy ra. Ví dụ: khi có một cổng bị tắt, người dùng đăng nhập thất bại.
Việc gửi hay không gửi khi biến cố xảy ra do hãng sản xuất thiết bị agent quy định.
SNMP request/reponse dùng để quản lý còn SNMP trap dùng để cảnh báo.
Nguồn gửi trap được gọi là Trap Sender và nơi nhận trap được gọi là Trap
Receiver. Mỗi trap sender có thể gửi nhiều trap đến nhiều trap receiver cùng lúc.
Trap gồm 2 loại chính: generic trap (được qui định trong các chuẩn SNMP) và

specific trap (do hãng sản xuất tự định nghĩa). Có thể phân biệt loại trap dựa vào
mã số là một số nguyên chứa trong gói tin trap. Theo SNMPv1, generic trap có 7
loại sau: coldStart(0), warmStart(1), linkDown(2), linkUp(3),
authenticationFailure(4), egpNeighborloss(5), enterpriseSpecific(6).
Bảng 1: các giao thức trong SNMP

9


Xem hình 1.3 sẽ cho t hiểu rõ hơn về cách hoạt dộng của SNMP

Hình 1.4. Mơ tả phương thức hoạt động của SNMPv2

10


1.5.2. Cấu trúc gói tin SNMP
Để hiểu rõ hơn về phương thức hoạt động của SNMP cần nắm được cấu trúc gói tin SNMP qua hình 1.5

Hình 1.5. Cấu trúc gói tin SNMP

Ø
Ø
Ø

Ø
Ø
Ø
Ø
Ø

Ø

Theo cấu trúc trên:
- Get/set header:
Request id: ID của request được manager gửi đến cho agent.
Error status: có các giá trị noError(0), tooBig(1), noSuchName(2), badValue(3), readOnly(4), genErr(5). Giá trị
noError(0) là gửi thành công.
Error index: số thứ tự của OID có lỗi (nếu có).
- Variables to get/set: chứa danh sách các cặp OID/value cần lấy thông tin.
- Trap header:
Enterprise: nhận dạng thiết bị gửi trap (nhận dạng chi tiết hãng sản xuất, chủng loại, model).
Agent address: địa chỉ IP của nguồn gửi trap.
Trap type hay generic trap: kiểu giá trị của loại trap.
Specific trap: kiểu giá trị của trap do người dùng định nghĩa.
Time stamp: thời gian từ lúc thiết bị khởi động đến khi gửi gói tin trap, tính bằng centi giây.
Trap information hay variable-bidings: các cặp OID/value của các object có liên quan đến trap.

11


1.5.3. Cấu trúc gói tin SNMP GetRequest:

Hình 1.6. Gói tin SNMP-GetRequest

-

-

Các trường của gói tin SNMP-GetRequest trên phần mềmWireshark trong hình 9.10:
Version: phiên bản là 1

Community: chuổi xác thực manager gửi agent là “private”. Chuổi này có 3 dạng: read community (chứa
trong GetRequest/GetNextRequest PDU), write community (chứa trong SetRequest PDU) và trap community
(chứa trong Trap PDU).
request – id: id của request là 13438.
error-status: có giá trị 0 – khơng có lỗi, manager gửi GetRequest thành cơng.
error-index: có giá trị 0 – khơng có OID bị lỗi.
variable – bindings: 1 item tương đương 1 cặp OID – value.
OID = 1.3.6.1.2.1.1.2.0 (tên object là sysObjectID). Value của request ban đầu khơng có giá trị.

12


1.5.4. Cấu trúc gói tin SNMP GetReponse:

Hình 1.7. Gói tin SNMP GetReponse

-

Các trường của gói tin SNMP-GetReponsetrên phần mềmWireshark trong hình 9.11:
Version: phiên bản là 1.
Community: chuổi xác thực giữa manager và agent là “private”.
request – id: id của request là 2731.
error-status: có giá trị 0 nghĩa là khơng có lỗi, gữi trả lời về cho request thành cơng.
error-index: có giá trị 0 nghĩa là khơng có OID bị lỗi.
variable-bindings: 1 cặp OID/value. OID bằng 1.3.6.1.2.1.1.2.0 và value bằng 1.3.6.1.4.1.9.1.222của agent
gửi về cho manager.

13



CHƯƠNG II: CÔNG CỤ SNMPCHECK TRONG KALI LINUX
1. Giới thiệu về snmp-check

-

snmpcheck là một tool liệt kê thông tin qua giao thức SNMP
Cú pháp của snmp-check:
snmpcheck [ -OPTIONS ] -t <địa chỉ IP>

Giống như snmpwalk, snmpcheck cho phép liệt kê thơng tin qua giao thức SNMP. Nó cho phép liệt kê (phần
cứng, phần mềm, mạng) của bất kỳ thiết bị nào có hỗ trợ giao thức SNMP. Nó có thể hữu ích cho việc kiểm
tra thâm nhập hoặc giám sát hệ thống.
Snmpcheck hỗ trợ các kiểu liệt kê sau (theo thứ tự alfabetic):
-

Contact
description devices
domain
hardware and storage informations
hostname
IIS statistics
IP forwarding
listening UDP ports
location
motd
mountpoints
network interfaces
network services
processes
routing information

software components
system uptime
TCP connections
total memory
uptime
user accounts
detect write access

Đã thử nghiệm trên hệ thống GNU / Linux, * BSD và Windows (Cygwin và ActivePerl).
Được phân phối theo giấy phép GPL và dựa trên tập lệnh "Athena-2k" của jshaw.
2. Các phương phương thức của snmpcheck
-t <host> máy chủ đích
-p <cổng>
Cổng SNMP; cổng mặc định là 161
14


-c <community_string>
Cộng đồng SNMP; mặc định là công khai
-v <version>
Phiên bản SNMP (1,2); mặc định là 1
-r <câu hỏi>
yêu cầu thử lại; mặc định là 0
-T <thời gian chờ>
thời gian chờ buộc tính bằng giây; mặc định là 20. Tối đa là 60
-w
phát hiện truy cập ghi (hành động riêng biệt bằng cách liệt kê)
-NS
vơ hiệu hóa liệt kê 'kết nối TCP'! "Việc liệt kê các kết nối TCP" có thể rất dài. Sử dụng cờ -d để vơ
hiệu hóa nó.

-NS
cho phép gỡ lỗi
-NS
hiển thị menu trợ giúp
3. Hướng dẫn sử dụng
Sau đây là các bước hướng dẫn sử dụng công cụ snmpcheck trên kali linux
B1: Cài máy ảo Kali linux (tải bằng link sau : />B2: Vào máy ảo Kali Linux

15


Hình 2.1. Máy ảo Kali Linux

16


B3: Bấm nút window và search snmp-check

Hình 2.2. search snmp-check trong kali linux

17


Hình 2.3. Cơng cụ snmp-check

18


B4: Ta nhập địa chỉ IP cần lấy thông tin theo đúng cú pháp
snmpcheck [ -OPTIONS ] -t <địa chỉ IP>

-

Lưu ý: IP phải dùng Giao thức SNMP và cổng 161 hoặc 162 open

Hình 2.4. Cú pháp của snmp-check

19


CHƯƠNG III : DEMO
Sử dụng shodan.io để tìm địa chỉ IP cần check thông tin và sử dụng snmpcheck thu thập dữ liệu sau đó
có thể dùng một số cơng cụ khác để tấn cơng
B1: Vào web shodan.io

Hình 3.1. Trang web Shodan.io

20


B2: Search “snmp ” để tìm các máy có sử dụng giao thức snmp

Hình 3.2. tìm IP dùng giao thức SNMP

21


B3: Chọn IP cần thu thập thơng tin

Hình 3.3. hình ảnh IP cần lấy thông tin


22


B4: Sử dụng công cụ nmap để kiểm tra cổng 161,162 của IP có open ko
nmap -p 161,162 88.192.43.152

Hình 3.4. hình ảnh kiểm tra cổng 161,162
nmap -p 161,162 88.192.43.152 –sU

23


Hình 3.5. Hình ảnh kiểm tra cổng UDP có open

24


B5: sử dụng snmp-check
snmp-check 88.192.43.152

Hình 3.6. sử dụng snmp-check để thu thập thông tin của 88.192.43.152

25


×