Jakie jest najlepsze podejście do ustalenia, czy mam nieuczciwy serwer DHCP w mojej sieci?
Zastanawiam się, jak większość administratorów podchodzi do tego rodzaju problemów. Znalazłem sondę DHCP podczas wyszukiwania i pomyślałem o wypróbowaniu jej. Czy ktoś miał z tym doświadczenie? (Chciałbym wiedzieć przed poświęceniem czasu na skompilowanie go i instalację).
Czy znasz jakieś przydatne narzędzia lub sprawdzone metody wyszukiwania fałszywych serwerów DHCP?
networking
dhcp
l0c0b0x
źródło
źródło
Odpowiedzi:
Jedną z prostych metod jest po prostu uruchomienie sniffera, takiego jak tcpdump / wireshark na komputerze i wysłanie żądania DHCP. Jeśli widzisz inne oferty niż z prawdziwego serwera DHCP, oznacza to, że masz problem.
źródło
tcpdump
,arp
itp wyraźnych parametrów oraz wyjaśnienie tych parametrów.Aby podsumować i dodać do niektórych innych odpowiedzi:
Tymczasowo wyłącz produkcyjny serwer DHCP i sprawdź, czy inne serwery zareagują.
Możesz uzyskać adres IP serwera, uruchamiając go
ipconfig /all
na komputerze z systemem Windows, a następnie możesz uzyskać adres MAC, szukając tego adresu IP za pomocąarp -a
.Na komputerze Mac uruchom
ipconfig getpacket en0
(lub en1). Zobacz http://www.macosxhints.com/article.php?story=20060124152826491 .Informacje o serwerze DHCP są zwykle w / var / log / messages.
sudo grep -i dhcp /var/log/messages*
Oczywiście wyłączenie produkcyjnego serwera DHCP może nie być dobrym rozwiązaniem.
Użyj narzędzia, które specjalnie szuka nieuczciwych serwerów DHCP
Zobacz http://en.wikipedia.org/wiki/Rogue_DHCP, aby uzyskać listę narzędzi (wiele z nich wymieniono w innych odpowiedziach).
Skonfiguruj przełączniki, aby blokować oferty DHCP
Większość zarządzanych przełączników można skonfigurować w celu zapobiegania nieautoryzowanym serwerom DHCP:
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
źródło
dhcpdump , który przyjmuje dane wejściowe z tcpdump i pokazuje tylko pakiety związane z DHCP. Pomógł mi znaleźć zrootowany Windows, udający fałszywego DHCP w naszej sieci LAN.
źródło
Podejścia Wireshark / DHCP explorer / DHCP Probe sprawdzają się w przypadku kontroli jednorazowej lub okresowej. Zalecam jednak zajrzenie do obsługi DHCP Snooping w twojej sieci. Ta funkcja zapewnia stałą ochronę przed nieuczciwymi serwerami DHCP w sieci i jest obsługiwana przez wielu różnych dostawców sprzętu.
Oto zestaw funkcji wskazany w dokumentach Cisco .
źródło
dhcploc.exe to najszybszy i najwygodniejszy sposób w systemach Windows. Jest dostępny w Narzędziach wsparcia XP. Narzędzia pomocy technicznej znajdują się na każdym dysku XP / detalicznym XP, ale mogą, ale nie muszą, znajdować się na „dyskach odzyskiwania” dostarczanych przez niektórych producentów OEM. Możesz je również pobrać z MS.
To proste narzędzie wiersza poleceń. Uruchomieniu dhcploc {yourIPaddress} , a następnie naciśnij klawisz „d” do zrobienia fałszywego odkrycia. Jeśli pozostawisz go uruchomionym bez naciskania żadnych klawiszy, wyświetli każde żądanie DHCP i odpowie na nie. Naciśnij „q”, aby wyjść.
źródło
Scapy to oparte na Pythonie narzędzie do tworzenia pakietów, które jest dobre do takich zadań sortowania. Oto przykład, jak to zrobić dokładnie tutaj .
źródło
Aby rozwinąć komentarz l0c0b0x o używaniu
bootp.type == 2
jako filtra. Filtr bootp.type jest dostępny tylko w Wireshark / tshark. Nie jest dostępny w tcpdump, w który kontekstowa lokalizacja jego komentarza skłoniła mnie do uwierzenia.Tshark działa idealnie do tego.
Nasza sieć została podzielona na wiele domen rozgłoszeniowych, każda z własną sondą opartą na systemie Linux, z punktem obecności w „lokalnej” domenie rozgłoszeniowej i podsieci administracyjnej w taki czy inny sposób. Tshark w połączeniu z ClusterSSH pozwala mi łatwo wyszukiwać ruch DHCP lub (cokolwiek innego w tym zakresie) w dalszych rogach sieci.
Znajdziesz odpowiedzi DHCP za pomocą Linuxa:
źródło
tcpdump: syntax error
. Nawet opublikowałem pytanie, twoja odpowiedź odblokowała mnie, dzięki! networkengineering.stackexchange.com/questions/39534/…-R <Read filter>
. I dostaćtshark: -R without -2 is deprecated. For single-pass filtering use -Y.
.-Y
działa ładnie.po ustaleniu, że w sieci istnieje nieuczciwy serwer dhcp, znalazłem najszybszy sposób, aby go rozwiązać ...
Wyślij wiadomość e-mail do całej firmy z informacją:
„który z was dodał router bezprzewodowy do sieci LAN, zabiłeś internet dla wszystkich innych”
spodziewaj się, że szybko pojawi się zakłopotana odpowiedź lub konfliktowe urządzenie :)
źródło
Wyłącz główny serwer DHCP i (ponownie) skonfiguruj połączenie.
Jeśli dostaniesz adres IP, masz nieuczciwego.
Jeśli masz pod ręką Linuksa, standardowy program dhcpclient podaje adres IP serwera DHCP (w przeciwnym razie możesz wąchać ruch, aby zobaczyć, skąd pochodzi odpowiedź DHCP).
źródło
Istnieje kilka sposobów: jeśli prowadzisz małą sieć, najprostszym sposobem jest wyłączenie / wyłączenie / odinstalowanie serwera dhcp, a następnie uruchomienie ipconfig / odnowienia lub podobnego na kliencie, a jeśli uzyskasz i masz adres IP, masz coś rougue na swoim sieć.
Innym sposobem byłoby użyć Wireshark pakietów Capturer / analizator spojrzeć na ruch w sieci i znaleźć połączenia DHCP, istnieje arkusz laboratorium, w jaki robią to dostępna od tutaj .
Dostępnych jest również wiele zastosowań, w których proporcja do tego jest eksploratorem DHCP, a innym jest sonda DHCP, o której wspomniałeś w swoim pierwotnym poście.
źródło
Możesz użyć RogueChecker firmy Microsoft:
oryginalny link: http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
link do pobrania: https://web.archive.org/web/20141022013752/http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
przeczytaj także te informacje:
https://social.technet.microsoft.com/wiki/contents/articles/25660.how-to-prevent-rogue-dhcp-servers-on-your-network.aspx
źródło
Możesz wykonać komendę ping dla sieci, a następnie porównać ją z liczbą dzierżaw DHCP przydzielonych przez serwer DHCP.
Musisz mieć ogólne pojęcie o liczbie urządzeń statycznych (być może interfejsów routera i drukarek), które nieznacznie wypaczą tę liczbę, ale powinien to być szybki i dokładny sposób ich identyfikacji w wielu sieciach.
źródło
na debian / ubuntu można również skorzystać z opcji
dhcpdump
i / lubtcpdump
przy pomocy npdhclient
Użyj dhcpdump:
dhcpdump -i eth0
w jednej powłoce / powłoce (eth0 lub nazwa twojego interfejsu)dhclient
w innej powłoce (nie musi działać poprawnie)dhcpdump
informacji (powinna to być ładna, sformatowana, informacyjna lista najbardziej szczegółowych informacji)Opcja 2, jeśli nie chcesz używać dhcpdump:
tcpdump -i eth0 -t -n > /tmp/my_file.txt
w jednej powłoce / oknie(opcjonalnie:
-t
= wyłącz znacznik czasu //-n
= wyłącz rozpoznawanie nazw, tylko adres IP, bez nazw serwerów (dla RHEL / centos użyj -nn))dhclient
w innej powłoce (nie musi działać poprawnie)* sidenote: prawdopodobnie trzeba zainstalować tcpdump i dhcpdump (np .:)
sudo apt get install tcpdump dhcpdump
; dhcpdump zależy od tcpdumpźródło
Sugeruję uruchomienie dwóch terminali, jednego do monitorowania, a drugiego do wysyłania zapytania. Terminal1 wyświetli odpowiedzi ze wszystkich istniejących serwerów DHCP, w tym adres MAC. Ten przykład został uruchomiony na Ubuntu:
Terminal 1 (do monitorowania):
sudo tcpdump -nelt udp port 68 | grep -i „boot. * odpowiedz”
tcpdump: tłumienie pełnego wyjścia, użyj -v lub -vv do pełnego dekodowania protokołu nasłuchiwania na enp2s0, typ łącza EN10MB (Ethernet), przechwytywanie rozmiaru 262144 bajtów 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff: ff, typ Ethernet IPv4 (0x0800), długość 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP / DHCP, odpowiedź, długość 290 00: 23: cd: c3: 83: 8a> ff: ff : ff: ff: ff: ff, typ IPv4 (0x0800), długość 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP / DHCP, odpowiedź, długość 548
Terminal2 (do wysyłania zapytania):
sudo nmap --script broadcast-dhcp-discover -e eth0
Począwszy od Nmap 7.01 ( https://nmap.org ) o 13.10.2019 21:21 EEST Wyniki skanu przed skanowaniem: | broadcast-dhcp-discover: | Odpowiedź 1 z 1: | Oferowane IP: 192.168.1.228 | Typ komunikatu DHCP: DHCPOFFER | Czas dzierżawy adresu IP: 2h00m00s | Identyfikator serwera: 192.168.1.1 | Maska podsieci: 255.255.255.0 | Router: 192.168.1.1 | _ Serwer nazw domen: 8.8.8.8, 8.8.4.4 OSTRZEŻENIE: Nie określono żadnych obiektów docelowych, dlatego skanowano 0 hostów. Nmap zrobione: 0 adresów IP (0 hostów w górę) skanowanych w 0,94 sekundy
Ten terminal monitorujący jest potrzebny, aby zobaczyć wszystkie odpowiedzi (nmap jest w stanie pokazać tylko pierwszą odpowiedź).
źródło