pengembangan-web-mp-pd.com

Bagaimana saya menemukan jika ada server DHCP jahat di Jaringan saya?

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 mengkompilasi dan menginstalnya).

Apakah Anda tahu ada alat yang berguna atau praktik terbaik untuk menemukan server DHCP jahat?

92
l0c0b0x

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.

54
Zoredache

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 itu menggunakan arp -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 terdaftar dalam tanggapan lain).

Konfigurasikan sakelar untuk memblokir penawaran DHCP

Sebagian besar sakelar yang dikelola dapat dikonfigurasikan untuk mencegah server DHCP jahat:

22
Jason Luther

dhcpdump , yang mengambil bentuk input tcpdump dan hanya memperlihatkan paket-paket terkait DHCP. Membantu saya menemukan Windows rootkited, menyamar sebagai DHCP palsu di LAN kami.

17
vartec

Pendekatan Wireshark/DHCP Explorer/DHCP Probe baik untuk pemeriksaan satu kali atau berkala. Namun, saya akan merekomendasikan melihat ke DHCP Mengintai dukungan di jaringan Anda. Fitur ini akan memberikan perlindungan konstan dari server DHCP jahat di jaringan, dan didukung oleh banyak vendor perangkat keras yang berbeda.

Inilah fitur yang ditetapkan seperti yang ditunjukkan dalam Cisco docs .

• Memvalidasi pesan DHCP yang diterima dari sumber yang tidak dipercaya dan menyaring pesan yang tidak valid.

• Tingkat-membatasi lalu lintas DHCP dari sumber yang terpercaya dan tidak dipercaya.

• Membangun dan memelihara basis data pengikat DHCP yang mengintai, yang berisi informasi tentang host yang tidak dipercaya dengan alamat IP sewaan.

• Menggunakan basis data pengikat DHCP untuk memvalidasi permintaan selanjutnya dari host yang tidak dipercaya.

15
Dave K

dhcploc.exe adalah cara tercepat dan terindah di sistem Windows. Ini tersedia di XP Alat Dukungan. Alat Dukungan ada di setiap OEM/eceran XP disk, tetapi mungkin atau mungkin tidak ada di "disk pemulihan" disediakan oleh beberapa OEM. Anda juga dapat mengunduh 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.

10
quux

Scapy adalah alat pembuat paket berbasis python yang bagus untuk tugas-tugas semacam ini. Ada contoh cara melakukan hal ini --- di sini .

9
Kyle Brandt

Untuk memperluas pada l0c0b0x komentar tentang menggunakan 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 yang terbagi menjadi beberapa domain broadcast, masing-masing dengan probe berbasis Linux mereka sendiri dengan titik kehadiran pada domain broadcast "lokal" dan pada subnet administratif 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:

# ifconfig ethX promisc
# tshark -i ethX -n port 68 -R 'bootp.type == 2'
8
user62491

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 :)

6
Shh now
3
juFo

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 server DHCP (selain itu Anda dapat mengendus lalu lintas untuk melihat dari mana datangnya respons DHCP).

3
Vinko Vrsalovic

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 dengan 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 di sini .

Ada juga sejumlah utiliti yang tersedia yang sebanding dengan melakukan ini --- DHCP Explorer lainnya adalah probe DHCP yang Anda sebutkan di posting asli Anda.

3
Jona

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.

2
Peter

pada debian/ubuntu kita juga memiliki opsi untuk menggunakan dhcpdump dan/atau tcpdump dengan bantuan mis. dhclient

Gunakan dhcpdump:

  • 1.a) jalankan dhcpdump -i eth0 dalam satu Shell/shell (eth0 atau nama antarmuka Anda)
  • 1.b) mulai dhclient di Shell lain (tidak harus berjalan dengan sukses)
  • 1.c) lihat ke dalam output dhcpdump untuk informasi (itu harus berupa format informatif, informatif yang paling detail)

Opsi 2 jika Anda tidak suka menggunakan dhcpdump:

  • 2.a) jalankan tcpdump -i eth0 -t -n > /tmp/my_file.txt dalam satu Shell/jendela
    (pilihan: -t = nonaktifkan cap waktu // -n = nonaktifkan resolusi nama, hanya alamat IP, tidak ada nama server (untuk RHEL/centos gunakan -nn))
  • 2.b) mulai dhclient di Shell lain (tidak harus berjalan dengan sukses)
  • 2.c) hentikan tcpdump yang sedang berjalan ()
  • 2.d) memeriksa file /tmp/my_file.txt dengan editor favorit Anda dan cari hal-hal seperti: ".53" (port DNS default)/"NX"/"CNAME"/"A?"/"AAAA" -

* sidenote: tcpdump dan dhcpdump mungkin harus diinstal (mis .: Sudo apt get install tcpdump dhcpdump); dhcpdump tergantung pada tcpdump

2
eli

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 tangkapan 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 ) di 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 | Alamat IP Waktu Sewa: 2h00m00s | Server Identifier: 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 naik) dipindai dalam 0,94 detik

Terminal pemantauan itu diperlukan hanya untuk melihat semua respons (nmap hanya mampu menunjukkan respons pertama).

1
ajaaskel