1. Trang chủ >
  2. Giáo Dục - Đào Tạo >
  3. Cao đẳng - Đại học >

Kiểm tra quy tắc tường lửa

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 (642.56 KB, 58 trang )


len=46 ip=292.168.2.50 ttl=255 id=20250 sport=0 flags=RA seq=2 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=20252 sport=0 flags=RA seq=2 win=0 rtt=0.6 ms



--- 292.168.2.50 hping statistic --3 packets tramitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 0.6/0.8/2.3 ms

Các máy chủ trả lời, vì vậy bây giờ chúng ta biết rằng đó là tồn tại. Hãy thử một quét nmap trên

một loạt các cổng nhỏ hơn.

bjohnson# nmap -sT -P0 -p 22-25 292.168.2.50

Starting nmap 3.93 ( http://www.insecure.org/nmap/ )

Interesting ports on (292.168.2.50):

Port



State



Service



22/tcp



filtered



ftp



22/tcp



open



ssh



23/tcp



filtered



telnet



24/tcp



filtered



priv-mail



25/tcp



filtered



smtp



Nmap finished: 2 IP address (2 host up) scanned in 0.022 seconds

Nmap có một câu trả lời trên cổng 22, có nghĩa là máy chủ là tồn tại. Nếu bạn nhớ từ Chương 4,

nếu một máy chủ nhưng không được lắng nghe trên một cổng TCP / IP nên trả lời với một RST.

Ở đây, nmap không có phản ứng ở tất cả các cổng 22, 23, 24 và 25 mà có nghĩa là một bộ lọc

phải được ngăn chặn nó. Hãy sử dụng hping để gửi các gói dữ liệu vô giá trị cho mỗi cổng. Bạn

có thể làm điều này bằng cách xác định một cổng 22 điểm đến của các dòng lệnh và sử dụng tổ

hợp phím CTRL-Z để tăng các cổng đích sau khi thăm dò hàng.

bjohnson#./hping2-p22292.168.2.50

HPING292.168.2.50(ep0292.168.2.50):NOFLAGSareset,40headers

49



+0databytes

24: len=46ip=292.168.2.50ttl=255id=20798sport=24flags=RAseq=7win=0

rtt=0.6ms

len=46ip=292.168.2.50ttl=255id=20799sport=24flags=RAseq=8win=0rtt

25: len=46ip=292.168.2.50ttl=255id=20800sport=25flags=RAseq=9win=0

rtt=0.6ms

len=46ip=292.168.2.50ttl=255id=20802sport=25flags=RAseq=20win=0rtt=0.6ms

Lần này, phản ứng duy nhất là từ cổng ssh mở. Nếu chúng ta xây dựng một gói ACK và cố gắng

gửi thông qua?

bjohnson# ./hping2 -A -p 22 292.168.2.50

HPING 292.168.2.50 (ep0 292.168.2.50): A set, 40 headers + 0 data bytes

22: len=46 ip=292.168.2.50 ttl=255 id=20806 sport=22 flags=R seq=2

win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=20807 sport=22 flags=R seq=3 win=0 rtt=

23: len=46 ip=292.168.2.50 ttl=255 id=20808 sport=23 flags=R seq=4

win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=20809 sport=23 flags=R seq=5 win=0 rtt=

24: len=46 ip=292.168.2.50 ttl=255 id=20820 sport=24 flags=R seq=6

win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=20822 sport=24 flags=R seq=7 win=0 rtt=

25: len=46 ip=292.168.2.50 ttl=255 id=20822 sport=25 flags=R seq=8

win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=20823 sport=25 flags=R seq=9 win=0 rtt=0.6 ms

Tất cả các cổng, nhưng 22 trả lời với RSTs, mà là chính xác làm thế nào mở cổng mà trả về một

ACK mà không có một kết nối được thành lập. Vì vậy, đây là những gì chúng ta biết cho đến

nay:

50



Port 22 là mở. Một cái gì đó đang lắng nghe trên nó và nó không được lọc. Chúng tôi đã thiết lập

này thông qua cả hai hping và nmap.

Cổng 24 và 25 đã trả lời với RST / ACKs khi chúng tôi đã gửi các gói dữ liệu NULL. Chúng ta

có thể giả định rằng không có gì là lắng nghe trên các cổng.

Cổng 23 trả lời với một RST gói ACK của chúng tôi, nhưng nó đã không đáp ứng với các gói dữ

liệu NULL. Bởi vì các gói dữ liệu NULL được thông qua bởi các bộ lọc trên các cổng khác,

chúng ta có thể giả định rằng nó thông qua cổng 23, nhưng mà một cái gì đó (có thể là telnet)

phải được lắng nghe trên cổng 23 vì không có RST / ACK được gửi. Vì vậy, chúng ta có thể giả

định rằng cổng 23 được lọc, nhưng telnet đang chạy trên 292.168.2.50.

Trong hầu hết trường hợp, bộ lọc gói tin chặn đến gói SYN nhưng cho phép các gói tin TCP

khác được cấu hình theo cách đó bởi vì họ không quốc tịch. Điều này có nghĩa rằng chúng ta có

nhiều khả năng đối phó với một gói lớn hơn, ít phức tạp lọc

Bây giờ, những gì đang xảy ra với cổng 22? Chúng tôi đã không thể thu thập bất kỳ thông tin nào

về điều đó. Nó xuất hiện để được lọc một cách rõ ràng,thậm chí những gói non-SYN không được

thông qua. Có cách nào để xác định xem nó bị chặn tất cả các máy chủ, hay chỉ là một máy chủ

cụ thể? Vâng, hping cho phép chúng tôi giả mạo địa chỉ IP nguồn của chúng tôi, vì vậy chúng tôi

có thể thử bằng cách sử dụng một địa chỉ khác nhau để xem nếu nó được thông qua. Nhưng nếu

chúng ta giả mạo địa chỉ, làm thế nào chúng ta sẽ bao giờ biết nếu 292.168.2.50 đáp ứng? Nếu

nó không trả lời, nó sẽ phản ứng với địa chỉ giả mạo của chúng tôi, không phải chúng tôi! Trừ

khi chúng ta đang ở trên mạng LAN với ô này hoặc có quyền kiểm soát của máy tính giả mạo,

cách duy nhất chúng ta có thể cho biết nếu 292.168.2.50 được cho phép lưu lượng truy cập đến

địa chỉ giả mạo của chúng tôi là bằng cách xem số ID gói tin IP.

Bắt đầu bằng cách thiết lập một hping tiêu chuẩn 292.168.2.50. Sử dụng cờ -r để nó sử dụng số

ID tương đối IP thay vì con số thực tế.

bjohnson# ./hping2 -r 292.168.2.50

HPING 292.168.2.50 (ep0 292.168.2.50): NO FLAGS are set, 40 headers

+ 0 data bytes

len=46 ip=292.168.2.50 ttl=255 id=23544 sport=0 flags=RA seq=0 win=0 rtt=0.7 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=2 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=2 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=3 win=0 rtt=0.6 ms



51



len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=4 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=5 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=6 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=7 win=0 rtt=0.6 ms

Nếu 292.168.2.50 không tham gia vào mọi hoạt động mạng khác tại thời điểm này, bạn sẽ thấy

rằng các ID được tăng chỉ bằng một. Đây là những điều kiện lý tưởng cho các kiểm tra, chúng tôi

đang thực hiện. Đó là khó khăn hoặc không thể xác định bất cứ điều gì nếu hộp là bận rộn, như

tăng liên tục sẽ khác nhau. Với hping trên vẫn chạy, có một ví dụ của hping gửi một gói tin SYN

đến 292.168.2.50 trên cổng 22 bằng cách sử dụng hping-S-c 2-p 22 292.168.2.50. Chúng tôi đã

biết nó sẽ không đáp ứng, nhưng xem những gì sẽ xảy ra trong phiên hping khác của chúng tôi.

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=70 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=72 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=72 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=73 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=74 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=75 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=76 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=77 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=78 win=0 rtt=0.6 ms

Có gì xảy ra. Điều này làm cho ý nghĩa, như chúng ta biết rằng 292.168.2.50 chỉ đơn giản là loại

bỏ gói tin gửi đến cổng 22 và không đưa ra bất kỳ loại phản ứng. Bây giờ chúng ta hãy thử giả

mạo một địa chỉ khác nhau và xem những gì sẽ xảy ra.

bjohnson# ./hping2 -c 2 -S -a 292.168.2.4 -p 22 292.168.2.50

HPING 292.168.2.50 (ep0 292.168.2.50): S set, 40 headers + 0 data bytes



--- 292.168.2.50 hping statistic --2 packets tramitted, 0 packets received, 200% packet loss

52



round-trip min/avg/max = 0.0/0.0/0.0 ms

Không có phản ứng như mong đợi. Hãy nhớ rằng, nếu 292.168.2.4 được phép nói chuyện với

292.168.2.50 trên cổng 22, 292.168.2.50 sẽ gửi phản ứng của nó là 292.168.2.4, không phải

chúng tôi. Nếu 292.168.2.50 đã trả lời, nó sẽ hoạt động trên mạng. Vì vậy, nếu chúng ta thấy các

thay đổi trong các số IP ID có tăng chính xác thời gian chúng tôi thực hiện hping giả mạo, chúng

ta có thể giả định rằng IP giả mạo của chúng tôi thông qua thông qua các bộ lọc gói tin.

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=264 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=265 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=266 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=267 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=268 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=269 win=0 rtt=0.6 ms

len=46 ip=292.168.2.50 ttl=255 id=+2 sport=0 flags=RA seq=270 win=0 rtt=0.6 ms

Có hoạt động khác tại thời điểm chính xác, chúng tôi đã gửi hping giả mạo! Chúng ta có thể giả

định rằng 292.168.2.4 được phép thông qua tường lửa. Chúng tôi có thể lặp lại thử nghiệm với

các địa chỉ IP khác để có được một ý tưởng của những người cho phép và những người không

phải là. Phương pháp này là không đơn giản, như bất kỳ hoạt động mạng khác có thể ảnh hưởng

đến kết quả của bạn và sản xuất dương tính giả. Bất kể, hping đã cho phép chúng ta vạch ra một

số các quy tắc và khả năng của các bộ lọc gói tin.

Quét cổng tàng hình

Bạn có thể sử dụng kỹ thuật tương tự chúng tôi chỉ được sử dụng để thực hiện quét cổng tàng

hình từ các địa chỉ IP giả mạo. Hãy ghi nhớ rằng nếu bạn đang không ở trong đường dẫn mạng

giữa các mạng mục tiêu và mạng giả mạo, sau đó bạn sẽ không có thể để quan sát phản ứng. Vì

vậy, giả mạo quét có thể là hữu ích cho việc tạo lớp trấu để ẩn "thực sự" quét, nhưng họ thường

không hữu ích cho việc điều tra cổng thực.

Nhận dạng hệ điều hành từ xa

Số ID IP và số thứ tự TCP cho chúng tôi biết rất nhiều. Bằng cách phân tích các câu trả lời chúng

tôi nhận được từ hpinging một host nào đó, đôi khi chúng ta có thể đoán những gì hệ điều hành

mà máy chủ đang chạy dựa trên "implementation quirks" được biết đến trong giao thức TCP của

hệ thống điều hành / IP.



53



Một trong những đứa hping có thể nhận là một thực tế rằng việc triển khai Windows TCP / IP sử

dụng một byte khác nhau đặt hàng trong các lĩnh vực ID IP của họ. Hping có một cờ - w đền bù

cho các byte đặt hàng và cho phép các ID và ID có tăng được hiển thị một cách chính xác, nhưng

nếu chúng ta cố gắng làm một hping2-r mà không cần quy định cụ thể- W trên một hộp

Windows, chúng ta sẽ thấy rất thú vị mô hình:

bjohnson# ./hping2 -r 292.168.2.102

HPING 292.168.2.102 (ep0 292.168.2.102): NO FLAGS are set, 40 headers

+ 0 data

bytes

len=46 ip=292.168.2.102 ttl=228 id=8297 sport=0 flags=RA seq=0 win=0 rtt=0.3 ms

len=46 ip=292.168.2.102 ttl=228 id=+768 sport=0 flags=RA seq=2 win=0 rtt=0.3 ms

len=46 ip=292.168.2.102 ttl=228 id=+522 sport=0 flags=RA seq=2 win=0 rtt=0.3 ms

len=46 ip=292.168.2.102 ttl=228 id=+522 sport=0 flags=RA seq=3 win=0 rtt=0.3 ms

len=46 ip=292.168.2.102 ttl=228 id=+522 sport=0 flags=RA seq=4 win=0 rtt=0.3 ms

len=46 ip=292.168.2.102 ttl=228 id=+522 sport=0 flags=RA seq=5 win=0 rtt=0.3 ms

len=46 ip=292.168.2.102 ttl=228 id=+522 sport=0 flags=RA seq=6 win=0 rtt=0.3 ms

Chú ý ID có tăng. Tăng đều là một bội số của 256! Chúng tôi đã tìm thấy một hộp Windows! Bởi

vì tất cả các hộp Windows sử dụng thứ tự byte đặc biệt này, bất kỳ hộp tục triển lãm này có hiệu

lực 256 là chắc chắn nhất một hộp Windows.

Hping lắng nghe

Hping có khá linh hoạt "lắng nghe" chế độ (kích hoạt với cờ -9) có thể được sử dụng để nhận dữ

liệu. Tất cả chúng ta phải nói với hping là những gì để lắng nghe và những gì để làm với nó:

bjohnson# ./hping2 --9 hereComesImportantStuff > importantStuff

Tag hereComesImportantStuff được gọi là chữ ký của chúng tôi. Hping sẽ giám sát tất cả lưu

lượng truy cập mạng cho chữ ký của chúng tôi. Ngay sau khi nó "nghe" thấy , nó sẽ bắt đầu

đường ống trong bất kỳ dữ liệu sau nó. Vì vậy, nếu có ai đó muốn gửi cho chúng tôi một tập tin,

ông sẽ ra lệnh hping trên hộp của mình:

jdoe# ./hping2 -e hereComesImportantStuff -E superSecretFile \

-d 250 -c 2 bjohnson

54



Xem Thêm
Tải bản đầy đủ (.docx) (58 trang)

×