Qual é a melhor abordagem para determinar se eu tenho um servidor DHCP não autorizado dentro da minha rede?
Gostaria de saber como a maioria dos administradores aborda esse tipo de problema. Encontrei o DHCP Probe através da pesquisa e pensei em experimentá-lo. Alguém já teve experiência com isso? (Gostaria de saber antes de reservar um tempo para compilar e instalar).
Você conhece alguma ferramenta ou prática recomendada para encontrar servidores DHCP não autorizados?
networking
dhcp
l0c0b0x
fonte
fonte
Respostas:
Um método simples é simplesmente executar um sniffer como o tcpdump / wireshark em um computador e enviar uma solicitação DHCP. Se você vir outras ofertas do servidor DHCP real, você saberá que está com um problema.
fonte
tcpdump
,arp
, etc, com parâmetros explícitos e explicação sobre esses parâmetros.Para recapitular e adicionar a algumas das outras respostas:
Desative temporariamente o servidor DHCP de produção e veja se outros servidores respondem.
Você pode obter o endereço IP do servidor executando
ipconfig /all
em uma máquina Windows e, em seguida, obter o endereço MAC procurando por esse endereço IParp -a
.Em um Mac, execute
ipconfig getpacket en0
(ou en1). Consulte http://www.macosxhints.com/article.php?story=20060124152826491 .As informações do servidor DHCP geralmente estão em / var / log / messages.
sudo grep -i dhcp /var/log/messages*
Desabilitar o servidor DHCP de produção pode não ser uma boa opção, é claro.
Use uma ferramenta que procure especificamente servidores DHCP não autorizados
Veja http://en.wikipedia.org/wiki/Rogue_DHCP para obter uma lista de ferramentas (muitas das quais foram listadas em outras respostas).
Configurar switches para bloquear ofertas de DHCP
A maioria dos comutadores gerenciados pode ser configurada para evitar servidores DHCP não autorizados:
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
fonte
dhcpdump , que assume o formulário de entrada tcpdump e mostra apenas pacotes relacionados ao DHCP. Ajudou-me a encontrar o Windows rootkited, posando como DHCP falso em nossa LAN.
fonte
As abordagens do Wireshark / DHCP explorer / DHCP Probe são boas para uma verificação única ou periódica. No entanto, eu recomendo procurar no suporte ao DHCP Snooping na sua rede. Esse recurso fornecerá proteção constante contra servidores DHCP não autorizados na rede e é suportado por muitos fornecedores de hardware diferentes.
Aqui está o conjunto de recursos conforme indicado nos documentos da Cisco .
fonte
O dhcploc.exe é a maneira mais rápida e prática de instalar sistemas Windows. Está disponível nas Ferramentas de suporte do XP. As ferramentas de suporte estão em todos os discos XP OEM / varejo, mas podem ou não estar em "discos de recuperação" fornecidos por alguns OEMs. Você também pode baixá- los do MS.
É uma ferramenta simples de linha de comando. Você executa o dhcploc {yourIPaddress} e pressiona a tecla 'd' para fazer uma descoberta falsa. Se você deixá-lo em execução sem pressionar nenhuma tecla, ele exibirá todas as solicitações de DHCP e atenderá. Pressione 'q' para sair.
fonte
Scapy é uma ferramenta de criação de pacotes baseada em python que é boa para essas tarefas de classificação. Há um exemplo de como fazer exatamente isso aqui .
fonte
Para expandir o comentário de l0c0b0x sobre o uso
bootp.type == 2
como filtro. O filtro bootp.type está disponível apenas no Wireshark / tshark. Não está disponível no tcpdump em que a localização contextual de seu comentário me levou a acreditar.Tshark funciona perfeitamente para isso.
Temos nossa rede dividida em vários domínios de transmissão, cada um com seu próprio probe baseado em Linux, com um ponto de presença no domínio de transmissão "local" e em uma sub-rede administrativa de uma maneira ou de outra. O Tshark combinado com o ClusterSSH permite procurar facilmente o tráfego DHCP ou (qualquer outra coisa) nos outros cantos da rede.
Isso encontrará respostas de DHCP usando o Linux:
fonte
tcpdump: syntax error
. Até postou uma pergunta, sua resposta me desbloqueou, obrigado! networkengineering.stackexchange.com/questions/39534/...-R <Read filter>
. Eu entendotshark: -R without -2 is deprecated. For single-pass filtering use -Y.
.-Y
funciona bem.Depois de estabelecer que há um servidor DHCP desonesto na rede, encontrei a maneira mais rápida de resolvê-lo ...
Envie um email para toda a empresa dizendo:
"qual de vocês adicionou um roteador sem fio à LAN, matou a internet para todos os outros"
espere uma resposta tímida ou o dispositivo conflitante desapareça rapidamente :)
fonte
Desabilite o servidor DHCP principal e (re) configure uma conexão.
Se você obtém um endereço IP, está desonesto.
Se você tem um Linux à mão, o dhcpclient padrão informa o endereço IP do servidor DHCP (caso contrário, você pode detectar o tráfego para ver de onde veio a resposta do DHCP).
fonte
Existem várias maneiras: se você estiver executando uma rede pequena, a maneira mais simples é desligar / desabilitar / desconectar o servidor dhcp e, em seguida, execute ipconfig / renew ou similar em um cliente e, se você obtiver um IP, terá algo de ruim no seu computador. rede.
Outra maneira seria usar o captador / analisador de pacotes Wireshark para examinar o tráfego da rede e encontrar conexões DHCP. Existe uma planilha de laboratório sobre como fazer isso disponível a partir daqui .
Há também vários utilitários disponíveis que proportam a fazer isso: o DHCP explorer; o outro, o probe DHCP, que você mencionou na sua postagem original.
fonte
Você pode usar o RogueChecker da Microsoft:
link original: http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
link com o download: https://web.archive.org/web/20141022013752/http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
leia também esta informação:
https://social.technet.microsoft.com/wiki/contents/articles/25660.how-to-prevent-rogue-dhcp-servers-on-your-network.aspx
fonte
Você pode fazer uma varredura de ping nas suas redes e depois compará-la com o número de concessões DHCP concedidas pelo servidor DHCP.
Você precisa ter uma idéia geral do número de dispositivos estáticos (interfaces de roteador e impressoras, talvez) que distorcerão ligeiramente esse número, mas essa deve ser uma maneira rápida e precisa de identificá-los em várias redes.
fonte
no debian / ubuntu one também tem as opções para usar
dhcpdump
e / outcpdump
com a ajuda de por exemplodhclient
Use dhcpdump:
dhcpdump -i eth0
em um shell / shell (eth0 ou o nome da sua interface)dhclient
em outro shell (não precisa ser executado com êxito)dhcpdump
para obter informações (deve ser uma boa lista informativa, formatada e com mais detalhes)Opção 2 se você não gosta de usar o dhcpdump:
tcpdump -i eth0 -t -n > /tmp/my_file.txt
em um shell / janela(opcional:
-t
= desativar carimbo de data / hora //-n
= desativar a resolução de nomes, apenas o endereço IP, sem nomes de servidor (para RHEL / centos use -nn))dhclient
em outro shell (não precisa ser executado com êxito)* sidenote: tcpdump e dhcpdump provavelmente precisam ser instalados (por exemplo:)
sudo apt get install tcpdump dhcpdump
; O dhcpdump depende do tcpdumpfonte
Sugiro iniciar dois terminais, um para monitoramento e outro para enviar uma solicitação. O Terminal1 mostrará respostas de todos os servidores DHCP existentes, incluindo o endereço MAC. Este exemplo foi executado no Ubuntu:
Terminal1 (para monitoramento):
porta 68 do udp do sudo tcpdump -nelt | grep -i "inicialização. * resposta"
tcpdump: saída detalhada suprimida, use -v ou -vv para ouvir decodificação de protocolo completo no enp2s0, EN10MB do tipo de link (Ethernet), tamanho da captura 262144 bytes 20: a6: 80: f9: 12: 2f> ff: ff: ff: ff: ff, ethertype IPv4 (0x0800), comprimento 332: 192.168.1.1.67> 255.255.255.255.68: BOOTP / DHCP, resposta, comprimento 290 00: 23: cd: c3: 83: 8a> ff: ff : ff: ff: ff: ff, ethertype IPv4 (0x0800), comprimento 590: 192.168.1.253.67> 255.255.255.255.68: BOOTP / DHCP, resposta, comprimento 548
Terminal2 (para enviar uma solicitação):
sudo nmap --script broadcast-dhcp-discover -e eth0
Iniciando o Nmap 7.01 ( https://nmap.org ) em 13/10/2019 21:21 Resultados do script de pré-verificação EEST: | broadcast-dhcp-discover: | Resposta 1 de 1: | IP oferecido: 192.168.1.228 | Tipo de mensagem DHCP: DHCPOFFER | Horário de concessão do endereço IP: 2h00m00s | Identificador do servidor: 192.168.1.1 | Máscara de sub-rede: 255.255.255.0 | Roteador: 192.168.1.1 | _ Servidor de Nomes de Domínio: 8.8.8.8, 8.8.4.4 AVISO: Nenhum destino foi especificado, portanto, 0 hosts foram verificados. Nmap concluído: 0 endereços IP (0 hosts ativos) digitalizados em 0,94 segundos
Esse terminal de monitoramento é necessário apenas para ver todas as respostas (o nmap pode mostrar apenas a primeira resposta).
fonte