Adding TCP port 23 ( state Firewalled) . Interesting ports on ( 172.17.12.4 ) : port State Protocol Service 23 filtered tcp telnet 53 open tcp domain 80 open tcp http 111 filtered tcp sunrpc Trạng thái "Firewalled", trong kết quả trên đây, là kết quả của việc nhận một ICMP type 3, mã 13 (Admin Prohibited Filter), như đã gặp trong kết xuất tcpdump: Code: 23 : 14 : 01.229743 10.55.2.1 > 172.29.11.207 : icmp : host 172.32.12.4 nreachable - admin prohibited filter 23 : 14 : 01.97 9743 10.55.2.l > 172.29.11.207 : icmp : host 172.32.12.4 nreachable - admin prohibited filter Làm sao để nmap kết hợp các gói tin này với các gói tin ban đầu, nhất là khi chúng chỉ là một vài trong biển cả các gói tin đang ríu rít trên mạng? Vâng, gói tin ICMP đợc gửi trở lại cho máy quét sẽ chứa đựng tất cả các dữ liệu cần thiết để tìm hiều nội dung đang xảy ra. Cổng đang bị phong tỏa là phần một byte trong phần đầu ICMP tại byte 0x41 ( 1 byte), và bức tường lửa lọc gửi thông điệp sẽ n m trong phần IP của gói tin tại byte 0x1b (4 byte). Cuối cùng, một cổng cha lọc nmap chỉ xuất hiện khi bạn quét một số cổng và nhận trở lại một gói tin RST/ACK. Trong trạng thái "unfiltered", đợt quét của chúng ta hoặc đang đi qua bức tường lửa và hệ đích của chúng ta đang báo cho biết nó không lắng chờ trên cổng đó, hoặc bức tường lửa đang đáp ứng đích và đánh lừa địa chỉ IP của nó với cờ RST/ACK đợc ấn định. Ví dụ, đợt quét một hệ thống cục bộ cho ta hai cổng cha lọc khi nó nhận hai gói tin RST/ACK từ cùng hệ chủ. Sự kiện này cũng có thể xảy ra với một số bức tường lửa nh Check point (với quy tắc REJECT) khi nó đáp ứng đích đang gửi trả một gói tin RST/ACK và đánh lừa địa chỉ IP nguồn của đích. . Code: # nmap - sS -p1 -300 172.18.20.55 Starting nmap V . 2.08 by Fyodor ( <a href="mailto:fyodor@dhp.com">fyodor@dhp.com</a> <mailto:fyodor@dhp.com>, www.insecure.org/nmap/ ) Interesting ports on ( 172.18.20.55 ) : (Not showing ports in state : filtered) Port State Protocol Service 7 unfiltered tcp echo 53 unfilteres tcp domain 256 open tcp rap 257 open tcp set 258 open tcp yak-chat Nmap run completed - 1 IP address ( 1 host up ) scanned in 15 seconds Ðợt rà gói tin tcpdump kết hợp nêu các gói tin RST/ACK đã nhận. 21 :26 :22.742482 172.18.20.55.258 > 172.29.11.207.39667 : S 415920470 : 1415920470 ( 0 ) ack 3963453111 win 9112 <mss 536> (DF ) (ttl 254, id 50438 ) 21 :26 :23.282482 172.18.20.55.53 > 172.29.11.207.39667 : R 0 : 0 ( 0 ) ack 3963453111 win 0 (DF ) ( ttl 44, id 50439 ) 21 :2 6: 24.362482 172.18.20.55.257 > 172.29.111.207.39667 : S 1416174328 : 1416174328 ( 0 ) ack 396345311 win X112 <mss 5 3 6 > ( DF ) ( ttl 254, id 504 0 ) 21: 26: 26.282482 172.18.20.55.7 > 17.2.29.11.207.39667 : R 0 : 0 ( 0 ) ack 3963453111 win 0 ( DF ) ( ttl 44, id 50441) Các Biện Pháp Phòng Chống Ðể ngăn cản attacker điểm danh các ACL bộ định tuyến và bức tường lửa thông qua kỹ thuật admin prohibited filter", bạn có thể v hiệu hóa khả năng đáp ứng với gói tin ICMP type 13 của bộ định tuyến. Trên Cisco, bạn có thể thực hiện điều này bàng cách phong tỏa thiết bị đáp ứng các thông điệp IP không thể đụng đến no ip unreachables 5. Ðịnh Danh Cổng Một số bức tường lửa có một dấu ấn duy nhất xuất híện dới dạng một sêri con số phân biệt với các bức tường lửa khác. Ví dụ, Check Point sẽ hiển thì một sêri các con số khi bạn nối với cổng quản lý SNMP của chúng, TCP 257. Tuy sự hiện diện đơn thuần của các cổng 256-259 trên một hệ thống thờng cũng đủ là một dấu chỉ báo về sự hiện diện của Firewall-1 của Check Point song trắcônghiệm sau đây sẽ xác nhận nó : Code: [ root@bldg_043]# nc -v -n 192.168.51.1 257 ( UNKNOWN) [ 192.168.51.1] 257 ( ? ) open 30000003 [ root@bldg_043 # nc -v -n 172.29.11.19l 257 (UNKNOWN ) [ 172.29.11.191] 257 ( ? ) open 31000000 Các Biện Pháp Phòng Chống Phát Hiện Ðể phát hiện tuyến nối của một kẻ tấn công với các cổng của bạn. bạn bố sung một sự kiện tuyến nối trong RealSecure. Theo các bớc sau: 1. Hiệu chỉnh nội quy 2. Lựa tab Connection Events. 3. Lựa nut Add Connection, và điền một mục cho Check Point. 4. Lựa đích kéo xuống và lựa nút Add. 5. Ðiền dịch vụ và cổng, nhắp OK. 6. Lựa cổng mới, và nhắp lại OK. 7. Giờ đây lựa OK và áp dụng lại nội quy cho động cơ. Phòng Chống Ðể ngăn cản các tuyến nối với cổng TCP 257, bạn phong tỏa chúng tại các bộ định tuyến thượng nguồn. Một Cisco ACL đơn giản nh dới đây có thể khước từ rõ rệt một nỗ lực của bọn tấn công: Code: access -list 101 deny tcp any any eq 257 log ! Block Firewall- l scans III. Quét qua các bức tường lửa Ðừng lo, đoạn này không có ý cung cấp cho bọn nhóc ký mã một số kỹ thuật ma thuật để vô hiệu hóa các bức tường lửa. Thay vì thế, ta sẽ tìm hiểu một số kỹ thuật để nhảy múa quanh các bức tường lửa và thu thập một số thông tin quan trọng về các lộ trình khác nhau xuyên qua và vòng quanh chúng. 1. hping hping của Salvatore Sanfilippo, làm việc bằng cách gửi các gói tin TCP đến một cổng đích và báo cáo các gói tin mà nó nhận trở lại. hping trả về nhiều đáp ứng khác nhau tùy theo v số điều kiện. Mỗi gói tin từng phần và toàn thể có thể cung cấp một bức tranh khá rõ về các kiểu kiểm soát truy cập của bức tường lửa. Ví dụ, khi dùng hping ta có thể phát hlện các gói tin mở, bị phong tỏa, thả, và loại bỏ. Trong ví dụ sau đây, hping báo cáo cổng 80 đang mở và sẵn sàng nhận một tuyến nối. Ta biết điều này bởi nó đã nhận một gói tin với cờ SA đợc ấn định (một gói tin SYN/ACK). Code: # hping www.yourcompany.com -c2 – S -p80 -n HPING www.yourcomapany.com ( eth0 172.30.1.2 0 ) : S set, 40 data bytes 60 bytes from 172.30.1.20 : flags=SA seq=0 ttl=242 id= 65121 win= 64240 time=144.4 ms Giờ đây ta biết có một cống mở thông đến đích, nhưng chưa biết nơi của bức tường lửa. Trong ví dụ kế tiếp, hping báo cáo nhận một ICMP unreachable type 13 từ 192.168.70.2. Một ICMP type 13 là một gói tin lọc bị ICMP admin ngăn cấm, thờng đợc gửi từ một bộ định tuyến lọc gói tin. Code: # hping www.yourcompany.com -c2 –S -p23 -n HPING www.yourcompany.com ( eth0 172.30.1.20 ) : S set, 40 data bytes ICMP Unreachable type 13 f rom 192.168.70.2 Giờ đây nó đợc xác nhận, 192.168.70.2 ắt hẳn là bức tường lửa, và ta biết nó đang phong tỏa cổng 23 đến đích của chúng ta. Nói cách khác, nếu hệ thống là một bộ định tuyến Cisco nó ắt có một dòng như dưới đây trong tập tin config: Code: access -list 101 deny tcp any any 23 ! telnet Trong ví dụ kế tiếp, ta nhận đợc một gói tin RST/ACK trả lại báo hiệu một trong hai viêc: (1) gói tin lọt qua bức tường lửa và server không lắng chờ cổng đó (2) bức tường lửa thải bỏ gói tin (như trường hợp của quy tắc reject của Check Point). Code: # hping 192.168.50.3 -c2 -S -p22 -n HPING 192.168.50.3 ( eth0 192.168.50.3 ) : S set, 40 data bytes 60 bytes from 192.168.50.3 : flags=RA seq= 0 ttl= 59 id= 0 win= 0 time=0.3 ms Do đã nhận gói tin ICMP type 13 trên đây, nên ta có thể suy ra bức tường lửa ( 192.168.70.2) đang cho phép gói tin đi qua bức tường lửa, nhưng server không lắng chờ trên cổng đó. Nếu bức tường lửa mà bạn đang quét qua là Check point, hping sẽ báo cáo địa chỉ IP nguồn của đích, nhưng gói tin thực sự đang đợc gửi từ NIC bên ngoài của bức tường lửa Check Point. Ðiểm rắc rối về Check Point đó là nó sẽ đáp ứng các hệ thống bên trong của nó , gửi một đáp ứng và lừa bịp địa chỉ của đích. Tuy nhiên, khi attacker đụng một trong các điều kiện này trên Internet, chúng không hề biết sự khác biệt bởi địa chỉ MAC sẽ không bao giờ chạm máy của chúng. Cuối cùng, khi một bức tường lửa đang phong toả các gói tin đến một cổng, bạn thờng không nhận đợc gì trở lại. Code: [ root@bldg_04 3 /opt ] # hping 192.168.50.3 -c2 -S -p2 2 -n HPING 192.168.50.3 ( eth0 192.168.50.3 ) : S set, 40 data Kỹ thuật hping này có thể có hai ý nghĩa: (1) gói tin không thể đạt đến đích và đã bị mất trên đường truyền, hoặc (2) có nhiều khả năng hơn, một thiết bị (ắt là bức tường lửa của chúng ta 192.168.70.2 ) đã bỏ gói tin trên sàn dới dạng một phần các quy tắc ACL của nó. Biện Pháp Phòng Chống Ngăn ngừa một cuộc tấn công hping không phải là dễ . Tốt nhất, ta chỉ việc phong tỏa các thông điệp ICMP type 13 ( nh m tả trong đoạn phòng chống tiến trình quét nmap trên đây ). 2. Firewalk Firewalk là một công cụ nhỏ tiện dụng, nh một bộ quét cổng, đợc dùng để phát hiện các cổng mở đàng sau một bức tường lửa. Ðợc viết bởi Mike Schiffnlan, còn gọi là Route và Dave Goldsmith, trình tiện ích này sẽ quét một server xua dòng từ một bức tường lửa và báo cáo trở lại các quy tắc đợc phép đến server đó mà không . Service 7 unfiltered tcp echo 53 unfilteres tcp domain 256 open tcp rap 257 open tcp set 258 open tcp yak-chat Nmap run completed - 1 IP address ( 1 host up ) scanned in 15 seconds Ðợt. Ðợt rà gói tin tcpdump kết hợp nêu các gói tin RST/ACK đã nhận. 21 :26 :22.742482 172.18.20.55. 258 > 172.29.11.207.39667 : S 415920470 : 1415920470 ( 0 ) ack 3963453111 win 9112 <mss 536>