it-swarm-vi.tech

Làm cách nào để tìm máy chủ DHCP trên Mạng của tôi?

Cách tiếp cận tốt nhất để xác định xem tôi có máy chủ DHCP giả mạo trong mạng không?

Tôi đang tự hỏi làm thế nào hầu hết các quản trị viên tiếp cận các loại vấn đề này. Tôi đã tìm thấy DHCP thăm dò thông qua tìm kiếm và nghĩ về việc thử nó. Có ai có kinh nghiệm với nó? (Tôi muốn biết trước khi dành thời gian biên dịch và cài đặt).

Bạn có biết bất kỳ công cụ hữu ích hoặc thực tiễn tốt nhất nào trong việc tìm kiếm các máy chủ DHCP giả mạo không?

92
l0c0b0x

Một phương pháp đơn giản là chỉ cần chạy một sniffer như tcpdump/wireshark trên máy tính và gửi yêu cầu DHCP. Nếu bạn thấy bất kỳ ưu đãi nào khác thì từ máy chủ DHCP thực của bạn thì bạn biết bạn có vấn đề.

54
Zoredache

Để tóm tắt và thêm vào một số câu trả lời khác:

Tạm thời vô hiệu hóa máy chủ DHCP sản xuất của bạn và xem các máy chủ khác có phản hồi không.

Bạn có thể lấy địa chỉ IP của máy chủ bằng cách chạy ipconfig /all trên máy tính windows, và sau đó bạn có thể lấy địa chỉ MAC bằng cách tìm địa chỉ IP đó bằng cách sử dụng arp -a.

Trên máy Mac, hãy chạy ipconfig getpacket en0 (hoặc en1). Xem http://www.macosxhints.com/article.php?story=20060124152826491 .

Thông tin máy chủ DHCP thường ở/var/log/message. Sudo grep -i dhcp /var/log/messages*

Tất nhiên, vô hiệu hóa máy chủ DHCP sản xuất của bạn có thể không phải là một lựa chọn tốt.

Sử dụng công cụ tìm kiếm cụ thể các máy chủ DHCP giả mạo

Xem http://en.wikipedia.org/wiki/Rogue_DHCP để biết danh sách các công cụ (nhiều công cụ được liệt kê trong các phản hồi khác).

Định cấu hình các công tắc để chặn các ưu đãi DHCP

Hầu hết các thiết bị chuyển mạch được quản lý có thể được cấu hình để ngăn chặn các máy chủ DHCP giả mạo:

22
Jason Luther

dhcpdump , có dạng đầu vào tcpdump và chỉ hiển thị các gói liên quan đến DHCP. Đã giúp tôi tìm Windows rootkit, đóng giả DHCP trong mạng LAN của chúng tôi.

17
vartec

Các cách tiếp cận thăm dò Wireshark/DHCP Explorer/DHCP là tốt cho kiểm tra một lần hoặc định kỳ. Tuy nhiên, tôi khuyên bạn nên xem xét DHCP Snooping hỗ trợ trên mạng của bạn. Tính năng này sẽ cung cấp bảo vệ liên tục khỏi các máy chủ DHCP giả mạo trên mạng và được hỗ trợ bởi nhiều nhà cung cấp phần cứng khác nhau.

Đây là tính năng được đặt như được chỉ định trong tài liệu của Cisco .

• Xác thực các tin nhắn DHCP nhận được từ các nguồn không đáng tin cậy và lọc ra các tin nhắn không hợp lệ.

• Lưu lượng DHCP giới hạn lưu lượng truy cập từ các nguồn đáng tin cậy và không đáng tin cậy.

• Xây dựng và duy trì cơ sở dữ liệu ràng buộc DHCP snooping, chứa thông tin về các máy chủ không tin cậy có địa chỉ IP được thuê.

• Sử dụng cơ sở dữ liệu ràng buộc DHCP snooping để xác thực các yêu cầu tiếp theo từ các máy chủ không tin cậy.

15
Dave K

dhcploc.exe là cách nhanh nhất và nhanh nhất trên các hệ thống Windows. Nó có sẵn trong XP Công cụ hỗ trợ. Công cụ hỗ trợ có trên mọi đĩa OEM/Retail XP, nhưng có thể có hoặc không có trên "đĩa khôi phục" được cung cấp bởi một số OEM. Bạn cũng có thể tải xuống chúng từ MS.

Đây là một công cụ dòng lệnh đơn giản. Bạn chạy dhcploc {yourIPaddress} và sau đó nhấn phím 'd' để thực hiện khám phá giả. Nếu bạn để nó chạy mà không cần nhấn bất kỳ phím nào, nó sẽ hiển thị mọi yêu cầu DHCP và trả lời nó nghe được. Nhấn 'q' để thoát.

10
quux

Scacco là một công cụ tạo gói dựa trên python tốt cho các tác vụ sắp xếp này. Có một ví dụ về cách thực hiện chính xác điều này tại đây .

9
Kyle Brandt

Để mở rộng trên l0c0b0x 's nhận xét về việc sử dụng bootp.type == 2 như một bộ lọc. Bộ lọc bootp.type chỉ khả dụng trong Wireshark/tshark. Nó không có sẵn trong tcpdump mà vị trí bối cảnh của bình luận của anh ấy khiến tôi tin tưởng.

Tshark hoạt động hoàn hảo cho việc này.

Chúng tôi có mạng lưới được chia thành nhiều miền phát sóng, mỗi miền có đầu dò dựa trên Linux của riêng họ với một điểm hiện diện trên miền phát sóng "cục bộ" và trên mạng con hành chính theo cách này hay cách khác. Tshark kết hợp với ClusterSSH cho phép tôi dễ dàng tìm kiếm lưu lượng DHCP hoặc (bất cứ điều gì khác cho vấn đề đó) trên các góc xa hơn của mạng.

Điều này sẽ tìm thấy trả lời DHCP bằng Linux:

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

khi bạn đã thiết lập rằng có một máy chủ dhcp giả mạo trên mạng, tôi đã tìm ra cách nhanh nhất để giải quyết nó là ...

Gửi một vòng email cho toàn bộ công ty nói:

"mà một trong số các bạn đã thêm bộ định tuyến không dây vào mạng LAN, bạn đã giết internet cho những người khác"

mong đợi một phản ứng ngượng ngùng, hoặc thiết bị xung đột biến mất, nhanh chóng :)

6
Shh now
3
juFo

Vô hiệu hóa máy chủ DHCP chính và (tái) cấu hình kết nối.

Nếu bạn nhận được một địa chỉ IP, bạn đã có một kẻ lừa đảo.

Nếu bạn có Linux tiện dụng, dhcpclient tiêu chuẩn sẽ cho bạn biết địa chỉ IP của máy chủ DHCP (nếu không bạn có thể đánh hơi lưu lượng để xem phản hồi DHCP đến từ đâu).

3
Vinko Vrsalovic

Có một số cách, nếu bạn chạy một mạng nhỏ, cách đơn giản nhất là tắt/tắt/rút phích cắm máy chủ dhcp của bạn và sau đó chạy ipconfig/refresh hoặc tương tự trên máy khách và nếu bạn có được và IP, bạn sẽ có thứ gì đó mạng.

Một cách khác là sử dụng Wireshark trình thu thập/phân tích gói để xem lưu lượng mạng của bạn và tìm các kết nối DHCP, có một bảng tính trong phòng thí nghiệm về cách thực hiện điều này từ tại đây .

Ngoài ra còn có một số tiện ích sẵn có tỷ lệ để thực hiện tỷ lệ này là DHCP Explorer khác là thăm dò DHCP mà bạn đã đề cập trong bài viết gốc của mình.

3
Jona

Bạn có thể thực hiện quét ping các mạng của mình và sau đó so sánh số đó với số lần cho thuê DHCP được cung cấp bởi máy chủ DHCP của bạn.

Bạn cần có một ý tưởng chung về số lượng thiết bị tĩnh (có thể là giao diện bộ định tuyến và máy in) sẽ làm lệch số này một chút, nhưng đây phải là cách nhanh chóng và chính xác để xác định chúng trên nhiều mạng.

2
Peter

trên debian/ubfox, người ta cũng có các tùy chọn để sử dụng dhcpdump và/hoặc tcpdump với sự trợ giúp của ví dụ: dhclient

Sử dụng dhcpdump:

  • 1.a) chạy dhcpdump -i eth0 trong một Shell/shell (eth0 hoặc tên giao diện của bạn)
  • 1.b) bắt đầu dhclient trong một Shell khác (nó không phải chạy thành công)
  • 1.c) xem xét đầu ra của dhcpdump để biết thông tin (nó phải là một danh sách đẹp, được định dạng nhiều thông tin chi tiết nhất)

Tùy chọn 2 nếu bạn không thích sử dụng dhcpdump:

  • 2.a) chạy tcpdump -i eth0 -t -n > /tmp/my_file.txt trong một Shell/cửa sổ
    (không bắt buộc: -t = tắt dấu thời gian // -n = vô hiệu hóa độ phân giải tên, chỉ địa chỉ IP, không có tên máy chủ (đối với sử dụng RHEL/centos -nn))
  • 2.b) bắt đầu dhclient trong một Shell khác (nó không phải chạy thành công)
  • 2.c) dừng chạy tcpdump ()
  • 2.d) kiểm tra tệp /tmp/my_file.txt với trình chỉnh sửa yêu thích của bạn và tìm kiếm những thứ như: ".53" (cổng DNS mặc định)/"NX"/"CNAME"/"A?"/"AAAA" -

* sidenote: tcpdump và dhcpdump có thể phải được cài đặt (ví dụ: Sudo apt get install tcpdump dhcpdump); dhcpdump phụ thuộc vào tcpdump

2
eli

Tôi đề nghị bắt đầu hai thiết bị đầu cuối, một để theo dõi và một để gửi yêu cầu. Terminal1 sẽ hiển thị phản hồi từ tất cả các máy chủ DHCP hiện có bao gồm cả địa chỉ MAC. Ví dụ này đã được chạy trên Ubuntu:

Terminal1 (để theo dõi):

Sudo tcpdump -nelt udp port 68 | grep -i "khởi động. * trả lời"

tcpdump: đầu ra verbose bị chặn, sử dụng -v hoặc -vv để nghe giải mã giao thức đầy đủ trên enp2s0, EN10MB loại liên kết (Ethernet), kích thước chụp 262144 byte 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff: ff, ethertype IPv4 (0x0800), chiều dài 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP/DHCP, Trả lời, độ dài 290 00: 23: cd: c3: 83: 8a> ff: ff : ff: ff: ff: ff, ethertype IPv4 (0x0800), chiều dài 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP/DHCP, Trả lời, độ dài 548

Terminal2 (để gửi yêu cầu):

Sudo nmap - phát sóng mô tả-dhcp-khám phá -e eth0

Bắt đầu Nmap 7,01 ( https://nmap.org ) vào 2019-10-13 21:21 EEST Kết quả kịch bản quét trước: | Broadcast-dhcp-Discover : | Phản hồi 1 trên 1: | IP Cung cấp: 192.168.1.228 | DHCP Loại tin nhắn: DHCPOFFER | Địa chỉ IP Thời gian thuê: 2h00m00s | Số nhận dạng máy chủ: 192.168.1.1 | Mặt nạ mạng con: 255.255.255.0 | Bộ định tuyến: 192.168.1.1 | _ Miền Máy chủ tên: 8.8.8.8, 8.8.4.4 CẢNH BÁO: Không có mục tiêu nào được chỉ định, vì vậy 0 máy chủ được quét. Nmap đã thực hiện: 0 địa chỉ IP (0 máy chủ trở lên) được quét trong 0,94 giây

Thiết bị đầu cuối giám sát đó là cần thiết chỉ để xem tất cả các phản hồi (nmap chỉ có thể hiển thị phản hồi đầu tiên).

1
ajaaskel