Apa pendekatan terbaik untuk menentukan apakah saya memiliki server DHCP jahat di dalam jaringan saya?
Saya bertanya-tanya bagaimana kebanyakan admin mendekati masalah seperti ini. Saya menemukan Probe DHCP melalui pencarian, dan berpikir untuk mencobanya. Adakah yang punya pengalaman dengan itu? (Saya ingin tahu sebelum meluangkan waktu untuk mengkompilasinya dan menginstal).
Apakah Anda tahu ada alat yang berguna atau praktik terbaik untuk menemukan server DHCP jahat?
networking
dhcp
l0c0b0x
sumber
sumber
Jawaban:
Salah satu metode sederhana adalah dengan menjalankan sniffer seperti tcpdump / wireshark di komputer dan mengirimkan permintaan DHCP. Jika Anda melihat penawaran lain dari server DHCP Anda yang sebenarnya maka Anda tahu Anda memiliki masalah.
sumber
tcpdump
,arp
, dll dengan parameter eksplisit dan penjelasan dari parameter.Untuk merekap dan menambahkan ke beberapa jawaban lain:
Nonaktifkan sementara server DHCP produksi Anda dan lihat apakah server lain merespons.
Anda bisa mendapatkan alamat IP server dengan menjalankan
ipconfig /all
pada mesin windows, dan kemudian Anda bisa mendapatkan alamat MAC dengan mencari alamat IP menggunakanarp -a
.Di Mac, jalankan
ipconfig getpacket en0
(atau en1). Lihat http://www.macosxhints.com/article.php?story=20060124152826491 .Informasi server DHCP biasanya di / var / log / messages.
sudo grep -i dhcp /var/log/messages*
Menonaktifkan server DHCP produksi Anda mungkin bukan pilihan yang baik, tentu saja.
Gunakan alat yang secara khusus mencari server DHCP jahat
Lihat http://en.wikipedia.org/wiki/Rogue_DHCP untuk daftar alat (banyak di antaranya tercantum dalam respons lain).
Konfigurasikan sakelar untuk memblokir penawaran DHCP
Sebagian besar sakelar yang dikelola dapat dikonfigurasikan untuk mencegah server DHCP jahat:
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SX/configuration/guide/snoodhcp.html
http://www.juniper.net/techpubs/en_US/junos9.2/topics/concept/port-security-dhcp-snooping.html
http://h40060.www4.hp.com/procurve/uk/en/pdfs/application-notes/AN-S12_ProCurve-DHCP-snooping-final.pdf
sumber
dhcpdump , yang mengambil bentuk input tcpdump dan hanya memperlihatkan paket-paket yang berhubungan dengan DHCP. Membantu saya menemukan Windows rootkited, menyamar sebagai DHCP palsu di LAN kami.
sumber
Pendekatan Wireshark / DHCP explorer / DHCP Probe baik untuk pemeriksaan satu kali atau berkala. Namun, saya akan merekomendasikan melihat dukungan DHCP Mengintai di jaringan Anda. Fitur ini akan memberikan perlindungan konstan dari server DHCP jahat di jaringan, dan didukung oleh banyak vendor perangkat keras.
Berikut fitur yang ditetapkan seperti yang ditunjukkan dalam dokumen Cisco .
sumber
dhcploc.exe adalah cara tercepat dan terindah di sistem Windows. Ini tersedia di Alat Dukungan XP. Alat Pendukung ada pada setiap disk XP OEM / eceran, tetapi mungkin atau mungkin tidak ada pada "disk pemulihan" yang disediakan oleh beberapa OEM. Anda juga dapat mengunduhnya dari MS.
Ini adalah alat commandline sederhana. Anda menjalankan dhcploc {yourIPaddress} dan kemudian tekan tombol 'd' untuk melakukan penemuan palsu. Jika Anda membiarkannya berjalan tanpa menekan tombol apa pun, itu akan menampilkan setiap permintaan DHCP dan menjawabnya dengan mendengar. Tekan 'q' untuk berhenti.
sumber
Scapy adalah alat kerajinan paket berbasis python yang bagus untuk tugas-tugas semacam ini. Ada contoh bagaimana melakukan ini di sini .
sumber
Untuk memperluas komentar l0c0b0x tentang penggunaan
bootp.type == 2
sebagai filter. Filter bootp.type hanya tersedia di Wireshark / tshark. Tidak tersedia di tcpdump yang mana lokasi kontekstual dari komentarnya cenderung membuat saya percaya.Tshark bekerja dengan sempurna untuk ini.
Kami memiliki jaringan kami dibagi menjadi beberapa domain siaran, masing-masing dengan probe berbasis Linux mereka sendiri dengan titik kehadiran pada domain broadcast "lokal" dan pada subnet administrasi dalam satu atau lain cara. Tshark dikombinasikan dengan ClusterSSH memungkinkan saya untuk dengan mudah mencari lalu lintas DHCP atau (hal lain apa pun) di sudut terlempar lebih jauh dari jaringan.
Ini akan menemukan balasan DHCP menggunakan Linux:
sumber
tcpdump: syntax error
. Bahkan memposting pertanyaan tentang itu, jawaban Anda membebaskan saya, terima kasih! networkengineering.stackexchange.com/questions/39534/…-R <Read filter>
. Saya mengertitshark: -R without -2 is deprecated. For single-pass filtering use -Y.
.-Y
berfungsi dengan baik.setelah Anda menetapkan bahwa ada server dhcp jahat di jaringan saya menemukan cara tercepat untuk menyelesaikannya adalah ...
Kirim email ke seluruh perusahaan yang mengatakan:
"yang salah satu dari Anda telah menambahkan router nirkabel ke LAN, Anda telah membunuh internet untuk orang lain"
mengharapkan respons yang malu-malu, atau perangkat yang bertentangan menghilang, dengan cepat :)
sumber
Nonaktifkan server DHCP utama dan (re) konfigurasikan koneksi.
Jika Anda mendapatkan alamat IP, Anda memiliki bajingan.
Jika Anda memiliki Linux, dhcpclient standar memberi tahu Anda alamat IP dari server DHCP (selain itu Anda dapat mengendus lalu lintas untuk melihat dari mana datangnya respons DHCP).
sumber
Ada beberapa cara, jika Anda menjalankan jaringan kecil, cara paling sederhana adalah mematikan / menonaktifkan / mencabut server dhcp Anda dan kemudian jalankan ipconfig / renew atau sejenisnya pada klien dan jika Anda memperoleh dan IP Anda memiliki sesuatu yang kasar pada komputer Anda. jaringan.
Cara lain adalah menggunakan Wireshark packet capturer / analyzer untuk melihat lalu lintas jaringan Anda dan menemukan koneksi DHCP, ada lembar kerja lab tentang bagaimana hal ini tersedia dari sini .
Ada juga sejumlah utilitas yang tersedia untuk melakukan yang satu ini adalah DHCP explorer yang lain adalah penyelidikan DHCP yang Anda sebutkan di posting asli Anda.
sumber
Anda dapat menggunakan RogueChecker dari Microsoft:
tautan asli: http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
tautan dengan unduhan: https://web.archive.org/web/20141022013752/http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
baca juga informasi ini:
https://social.technet.microsoft.com/wiki/contents/articles/25660.how-to-prevent-rogue-dhcp-servers-on-your-network.aspx
sumber
Anda bisa melakukan ping sweep dari jaringan Anda dan kemudian membandingkannya dengan jumlah penyewaan DHCP yang diberikan oleh server DHCP Anda.
Anda perlu memiliki gagasan umum tentang jumlah perangkat statis (mungkin antarmuka router dan printer) yang akan sedikit condong angka ini, tetapi ini harus menjadi cara cepat dan akurat untuk mengidentifikasi mereka di beberapa jaringan.
sumber
pada debian / ubuntu kita juga memiliki opsi untuk menggunakan
dhcpdump
dan / atautcpdump
dengan bantuan egdhclient
Gunakan dhcpdump:
dhcpdump -i eth0
dalam satu shell / shell (eth0 atau nama antarmuka Anda)dhclient
di shell lain (tidak harus berjalan dengan sukses)dhcpdump
untuk informasi (itu harus menjadi format yang bagus, daftar informatif yang paling detail)Opsi 2 jika Anda tidak ingin menggunakan dhcpdump:
tcpdump -i eth0 -t -n > /tmp/my_file.txt
dalam satu shell / jendela(opsional:
-t
= nonaktifkan timestamp //-n
= nonaktifkan resolusi-nama, cukup alamat IP, tidak ada nama server (untuk RHEL / penggunaan centos -nn))dhclient
di shell lain (tidak harus berjalan dengan sukses)* sidenote: tcpdump dan dhcpdump mungkin harus diinstal (misalnya:)
sudo apt get install tcpdump dhcpdump
; dhcpdump tergantung pada tcpdumpsumber
Saya menyarankan memulai dua terminal, satu untuk pemantauan dan lainnya untuk mengirim permintaan. Terminal1 akan menampilkan respons dari semua server DHCP yang ada termasuk alamat MAC. Contoh ini dijalankan di Ubuntu:
Terminal1 (untuk pemantauan):
sudo tcpdump -nelt udp port 68 | grep -i "boot. * reply"
tcpdump: keluaran verbose ditekan, gunakan -v atau -vv untuk mendengarkan dekode protokol lengkap pada enp2s0, tipe tautan EN10MB (Ethernet), ukuran tangkap 262144 byte 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff: ff: ff: ff, ethertype IPv4 (0x0800), panjang 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP / DHCP, Balas, panjang 290 00: 23: cd: c3: 83: 8a> ff: ff: ff : ff: ff: ff: ff, ethertype IPv4 (0x0800), panjang 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP / DHCP, Balas, panjang 548
Terminal2 (untuk mengirim permintaan):
sudo nmap --script broadcast-dhcp-temukan -e eth0
Mulai Nmap 7.01 ( https://nmap.org ) pada 2019-10-13 21:21 EEST Hasil skrip pra-pemindaian: | broadcast-dhcp-temukan: | Tanggapan 1 dari 1: | IP Ditawarkan: 192.168.1.228 | Jenis Pesan DHCP: DHCPOFFER | Waktu Sewa Alamat IP: 2h00m00s | Pengidentifikasi Server: 192.168.1.1 | Subnet Mask: 255.255.255.0 | Router: 192.168.1.1 | _ Domain Name Server: 8.8.8.8, 8.8.4.4 PERINGATAN: Tidak ada target yang ditentukan, jadi 0 host dipindai. Nmap selesai: 0 alamat IP (0 host up) dipindai dalam 0,94 detik
Terminal pemantauan itu diperlukan hanya untuk melihat semua respons (nmap hanya mampu menunjukkan respons pertama).
sumber