Análise de dados para DNS falsificado [fechado]

2

Um servidor de nomes remoto, no qual não tenho privilégios, está respondendo de forma intermitente com endereços falsos. Eu quero monitorar esse servidor e coletar dados nas respostas falsificadas para análise. Como devo fazer isso?

Pretendo essencialmente consultar um domínio conhecido, compará-lo ao endereço IP conhecido e registrar os dados. Eu pretendo visualizar a quantidade de tempo que o servidor está respondendo com spoofed vs. legitimate - assim como padrões nesse comportamento.

Espero que haja ferramentas prontamente disponíveis para fazer isso, mas eu poderia fazer algum python / sql, se necessário. Por favor, informe.

Exemplo:

Uma consulta de registro A para google.com retornará 195.22.26.248 .

Obviamente, não é um endereço do google

    
por N.Balauro 17.08.2015 / 21:01

2 respostas

3

Suponho que você sabe do que está falando quando diz que é um único servidor DNS. Eu sou cético, porque você não compartilhou sua metodologia para determinar isso, mas a minha resposta vai considerar que esta informação é precisa.

Normalmente, você executaria uma consulta, observaria o TTL observado e consultaria novamente assim que o TTL expirasse. Você continuaria com isso até que seu período de amostragem predeterminado fosse alcançado e comparasse as boas respostas com as respostas ruins.

Infelizmente, a palavra operativa aqui é "normalmente". Você está procurando uma resposta determinista, mas é difícil conseguir isso quando um servidor é comprometido e, na maioria dos casos, é preciso jogar a lógica pela janela até conhecer as especificidades da metodologia de exploração.

  • Dada sua outra pergunta sobre security.SE , é mais provável que o servidor o próprio software foi comprometido do que este ser o resultado de ser bombardeado com respostas forjadas .
  • O bombardeio de pacotes falsificados sempre seria ciclo em um TTL, mas outros métodos pode mudar a resposta imprevisivelmente antes que a janela TTL tenha expirado. Neste último caso, é difícil dizer se a mudança é devido a uma atualização ou não, a menos que você esteja 100% certo de que você está lidando com um único servidor e não com um farm atrás de um VIP. O TTL irá variar consideravelmente de forma consistente no último caso.

Para encurtar a história, você está trabalhando muito para um problema que não é seu e, como você não é dono, você tem poucas maneiras de garantir que suas informações coletadas sejam úteis. conclusão. (além de um exercício acadêmico em relação ao bem cru: más respostas ao longo do tempo, o que tornaria este Q & A em uma daquelas perguntas "me dê o codé" que nós desaprovamos neste site da SE)

    
por 18.08.2015 / 01:05
1

Você pode usar dig www.example.com no bash na maioria dos sistemas Linux para executar uma pesquisa de DNS, a saída pode ser personalizada com base na quantidade de detalhes que você deseja. Você pode salvar uma boa saída conhecida em um arquivo e comparar os resultados usando diff . A criação de log pode ser realizada extraindo as informações desejadas da dig output e, em seguida, você pode salvá-las no formato desejado usando um arquivo de log ou banco de dados. Usando date +%s você pode obter um timestamp unix para adicionar ao log, o que torna a seleção de um intervalo de tempo nos logs uma questão de comparação de inteiros em um único valor.

    
por 17.08.2015 / 21:12