Hacker Geek: Vân tay hệ điều hành với kích thước cửa sổ TTL và TCP

Mục lục:

Hacker Geek: Vân tay hệ điều hành với kích thước cửa sổ TTL và TCP
Hacker Geek: Vân tay hệ điều hành với kích thước cửa sổ TTL và TCP

Video: Hacker Geek: Vân tay hệ điều hành với kích thước cửa sổ TTL và TCP

Video: Hacker Geek: Vân tay hệ điều hành với kích thước cửa sổ TTL và TCP
Video: Cấu hình network address translation NAT Windows Server 2019 - YouTube 2024, Tháng mười một
Anonim
Bạn có biết rằng bạn có thể tìm ra hệ điều hành nào mà một thiết bị được kết nối mạng đang chạy chỉ bằng cách xem xét cách thức mà nó truyền thông trên mạng? Chúng ta hãy xem cách chúng ta có thể khám phá những gì hệ điều hành thiết bị của chúng tôi đang chạy.
Bạn có biết rằng bạn có thể tìm ra hệ điều hành nào mà một thiết bị được kết nối mạng đang chạy chỉ bằng cách xem xét cách thức mà nó truyền thông trên mạng? Chúng ta hãy xem cách chúng ta có thể khám phá những gì hệ điều hành thiết bị của chúng tôi đang chạy.

Tại sao bạn sẽ làm điều này?

Xác định những gì hệ điều hành máy hoặc thiết bị đang chạy có thể hữu ích vì nhiều lý do. Trước tiên, hãy xem xét một viễn cảnh hàng ngày, hãy tưởng tượng bạn muốn chuyển sang một ISP mới cung cấp Internet chưa được khai thác với giá $ 50 một tháng để bạn dùng thử dịch vụ của họ. Bằng cách sử dụng dấu vân tay hệ điều hành, bạn sẽ sớm phát hiện ra rằng họ có các bộ định tuyến rác và cung cấp một dịch vụ PPPoE được cung cấp trên một loạt các máy Windows Server 2003. Nghe có vẻ không tốt như vậy nữa hả?

Một cách sử dụng khác cho điều này, mặc dù không có đạo đức như vậy, thực tế là các lỗ hổng bảo mật là hệ điều hành cụ thể. Ví dụ, bạn thực hiện quét cổng và tìm cổng 53 mở và máy đang chạy phiên bản Bind lỗi thời và dễ bị tổn thương, bạn có cơ hội SINGLE để khai thác lỗ hổng bảo mật vì nỗ lực thất bại sẽ làm hỏng trình nền.

Hoạt động vân tay của OS hoạt động như thế nào?

Khi thực hiện phân tích thụ động của lưu lượng hiện tại hoặc thậm chí nhìn vào các gói tin cũ, một trong những cách dễ nhất, hiệu quả nhất, cách thực hiện Fingerprinting OS là đơn giản bằng cách nhìn vào kích thước cửa sổ TCP và Time To Live (TTL) trong tiêu đề IP của gói trong phiên TCP.

Dưới đây là các giá trị cho các hệ điều hành phổ biến hơn:

Hệ điều hành Thời gian để sống Kích thước cửa sổ TCP
Linux (hạt nhân 2.4 và 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista và 7 (Server 2008) 128 8192
iOS 12.4 (Bộ định tuyến của Cisco) 255 4128

Lý do chính khiến hệ điều hành có giá trị khác nhau là do RFC dành cho TCP / IP không quy định giá trị mặc định. Điều quan trọng cần nhớ là giá trị TTL sẽ không luôn khớp với một trong bảng, ngay cả khi thiết bị của bạn đang chạy một trong các hệ điều hành được liệt kê, bạn sẽ thấy khi bạn gửi gói IP trên mạng hệ điều hành của thiết bị gửi đặt TTL thành TTL mặc định cho hệ điều hành đó, nhưng khi gói đi qua các bộ định tuyến, TTL được hạ xuống 1. Do đó, nếu bạn thấy TTL là 117, thì gói này có thể được gửi với TTL là 128 và đã vượt qua 11 bộ định tuyến trước khi bị bắt.

Sử dụng tshark.exe là cách dễ nhất để xem các giá trị vì vậy khi bạn đã có một gói chụp, hãy chắc chắn rằng bạn đã cài đặt Wireshark, sau đó điều hướng đến:

C:Program Files

Bây giờ giữ nút shift và nhấp chuột phải vào thư mục wireshark và chọn cửa sổ lệnh mở ở đây từ trình đơn ngữ cảnh

Bây giờ gõ:
Bây giờ gõ:

tshark -r 'C:UsersTaylor GibbDesktoplah.pcap' 'tcp.flags.syn eq 1' -T fields -e ip.src -e ip.ttl -e tcp.window_size

Hãy chắc chắn để thay thế "C: Users Taylor Gibb Desktop blah.pcap" với đường dẫn tuyệt đối để chụp gói của bạn. Một khi bạn nhấn Enter bạn sẽ được hiển thị tất cả các gói SYN từ capture của bạn một cách dễ dàng hơn để đọc định dạng bảng

Bây giờ đây là một gói chụp ngẫu nhiên mà tôi đã tạo cho tôi khi kết nối với trang web How-To Geek, trong số tất cả các phiên bản Windows khác đang làm tôi có thể nói cho bạn biết hai điều chắc chắn:
Bây giờ đây là một gói chụp ngẫu nhiên mà tôi đã tạo cho tôi khi kết nối với trang web How-To Geek, trong số tất cả các phiên bản Windows khác đang làm tôi có thể nói cho bạn biết hai điều chắc chắn:
  • Mạng nội bộ của tôi là 192.168.0.0/24
  • Tôi đang sử dụng hộp Windows 7

Nếu bạn nhìn vào dòng đầu tiên của bảng, bạn sẽ thấy tôi không nói dối, địa chỉ IP của tôi là 192.168.0.84 TTL của tôi là 128 và Kích thước cửa sổ TCP của tôi là 8192, phù hợp với các giá trị cho Windows 7.

Điều tiếp theo tôi thấy là địa chỉ 74.125.233.24 với TTL là 44 và Kích thước cửa sổ TCP là 5720, nếu tôi nhìn vào bảng của mình thì không có hệ điều hành nào có TTL là 44, tuy nhiên nó cho rằng Linux là máy chủ của Google chạy có kích thước cửa sổ TCP 5720. Sau khi thực hiện tìm kiếm trên web nhanh chóng của địa chỉ IP, bạn sẽ thấy thực tế đó là một máy chủ Google.

Đề xuất: