Tahukah Anda bahwa Anda dapat mengetahui sistem operasi perangkat jaringan yang berjalan hanya dengan melihat cara berkomunikasi di jaringan? Mari kita lihat bagaimana kita dapat menemukan sistem operasi apa yang dijalankan perangkat kita.
Menentukan OS apa yang dijalankan oleh perangkat atau perangkat dapat berguna karena berbagai alasan. Pertama mari kita lihat perspektif sehari-hari, bayangkan Anda ingin beralih ke ISP baru yang menawarkan internet tanpa internet seharga $ 50 per bulan sehingga Anda mengambil uji coba layanan mereka. Dengan menggunakan sidik jari OS Anda akan segera menemukan bahwa mereka memiliki router sampah dan menawarkan layanan PPPoE yang ditawarkan pada sekelompok mesin Windows Server 2003. Tidak terdengar lagi seperti itu, ya?
Penggunaan lain untuk ini, meskipun tidak begitu etis, adalah fakta bahwa lubang keamanan adalah spesifik OS. Misalnya, Anda melakukan pemindaian port dan menemukan port 53 terbuka dan mesin menjalankan versi Bind yang usang dan rentan, Anda memiliki kesempatan SINGLE untuk mengeksploitasi lubang keamanan karena upaya gagal akan merusak daemon.
Ketika melakukan analisis pasif dari lalu lintas saat ini atau bahkan melihat paket lama menangkap, salah satu cara yang paling mudah, efektif, melakukan Sidik Jari OS adalah dengan hanya melihat ukuran jendela TCP dan Waktu Untuk Hidup (TTL) di header IP pertama paket dalam sesi TCP.
Berikut adalah nilai-nilai untuk sistem operasi yang lebih populer:
Sistem operasi | Waktu untuk Hidup | Ukuran Jendela TCP |
Linux (Kernel 2.4 dan 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista dan 7 (Server 2008) | 128 | 8192 |
iOS 12.4 (Router Cisco) | 255 | 4128 |
Alasan utama sistem operasi memiliki nilai yang berbeda adalah karena fakta bahwa RFC untuk TCP / IP tidak menetapkan nilai default. Hal penting lainnya yang perlu diingat adalah bahwa nilai TTL tidak akan selalu cocok dengan satu di dalam tabel, bahkan jika perangkat Anda menjalankan salah satu sistem operasi yang terdaftar, Anda melihat ketika Anda mengirim paket IP di seluruh jaringan sistem operasi perangkat pengirim menetapkan TTL ke TTL default untuk OS itu, tetapi ketika paket melintasi router, TTL diturunkan oleh 1. Oleh karena itu, jika Anda melihat TTL dari 117 ini dapat diharapkan untuk menjadi paket yang dikirim dengan TTL 128 dan telah melewati 11 router sebelum ditangkap.
Menggunakan tshark.exe adalah cara termudah untuk melihat nilai-nilai sehingga setelah Anda mendapatkan paket capture, pastikan Anda telah menginstal Wireshark, lalu arahkan ke:
C: \ Program Files \
Sekarang tahan tombol shift dan klik kanan pada folder wireshark dan pilih buka jendela perintah di sini dari menu konteks
Sekarang ketik:
tshark -r "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" "tcp.flags.syn eq 1" -T bidang -e ip.src -e ip.ttl -e tcp.window_size
Pastikan untuk mengganti "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" dengan jalur absolut ke paket capture Anda. Setelah Anda menekan enter Anda akan ditampilkan semua paket SYN dari capture Anda yang lebih mudah dibaca format tabel
Sekarang ini adalah paket acak yang saya buat untuk menghubungkan ke Situs Web How-To Geek, di antara semua obrolan lainnya yang dilakukan Windows Saya dapat memberi tahu Anda dua hal dengan pasti:
Jika Anda melihat baris pertama tabel Anda akan melihat saya tidak berbohong, alamat IP saya adalah 192.168.0.84 TTL saya adalah 128 dan Ukuran Jendela TCP saya adalah 8192, yang cocok dengan nilai untuk Windows 7.
Hal berikutnya yang saya lihat adalah alamat 74.125.233.24 dengan TTL 44 dan Ukuran Jendela TCP 5720, jika saya melihat tabel saya tidak ada OS dengan TTL 44, namun itu mengatakan bahwa Linux yang server Google jalankan memiliki TCP Window Size 5720. Setelah melakukan pencarian web cepat dari alamat IP Anda akan melihat bahwa itu sebenarnya adalah Google Server.
Apa lagi yang Anda gunakan tshark.exe untuk, beri tahu kami di komentar.