
Um sniffer de rede que registra todas as respostas do servidor DNS para uso em uma configuração de DNS passivo.
Uma ferramenta para coletar respostas DNS passivamente, auxiliando na resposta a incidentes, Monitoramento de Segurança de Rede (NSM) e perícia digital em geral.
O PassiveDNS captura tráfego de uma interface ou lê um arquivo pcap e gera as respostas do servidor DNS em um arquivo de log. O PassiveDNS pode armazenar em cache/agrupar respostas DNS duplicadas na memória, limitando a quantidade de dados no arquivo de log sem perder a essência da resposta DNS.
Exemplo de saída da versão 1.0.0 até a atual no arquivo de log (/var/log/passivedns.log):
#timestamp||dns-client||dns-server||RR class||Query||Query Type||Answer||TTL||Count 1322849924.408856||10.1.1.1||8.8.8.8||IN||upload.youtube.com.||A||74.125.43.117||46587||5 1322849924.408857||10.1.1.1||8.8.8.8||IN||upload.youtube.com.||A||74.125.43.116||420509||5 1322849924.408858||10.1.1.1||8.8.8.8||IN||www.adobe.com.||CNAME||www.wip4.adobe.com.||43200||8 1322849924.408859||10.1.1.1||8.8.8.8||IN||www.adobe.com.||A||193.104.215.61||43200||8 1322849924.408860||10.1.1.1||8.8.8.8||IN||i1.ytimg.com.||CNAME||ytimg.l.google.com.||43200||3 1322849924.408861||10.1.1.1||8.8.8.8||IN||clients1.google.com.||A||173.194.32.3||43200||2
O PassiveDNS funciona em tráfego IPv4 e IPv6 e interpreta tráfego DNS sobre TCP e UDP.
** Como o PassiveDNS pode ser usado: **
Usos típicos:
Procurar por histórico de domínios ou IPs ao trabalhar em um incidente. Exemplo: A empresa possui um malware se comunicando com bad.twittertoday.com. No momento atual, o domínio está resolvendo para, digamos, 202.29.94.200. Você pesquisa seus dados de fluxo e encontra os clientes falando com esse IP e realiza a remediação. Ao analisar os dados de fluxo, descobre que a data e hora em que os clientes falaram pela primeira vez com esse IP, e conclui que esse foi o momento da infecção...
Mas usando dados do PassiveDNS, consultando o domínio, você obtém o seguinte histórico:
2011-12-01 | 2011-12-11 | A | 60 | bad.twittertoday.com | 71.51.115.11 2011-12-11 | 2011-12-18 | A | 60 | bad.twittertoday.com | 127.0.0.1 2011-12-18 | 2012-01-14 | A | 60 | bad.twittertoday.com | 202.29.94.200
Voltando e pesquisando por 71.51.115.11 nos seus dados de fluxo, você encontra tráfego desde a data da PrimeiraVista, e também vê mais clientes inicialmente infectados (portanto, você não conseguiu remediar/verificar todos os seus clientes na primeira execução observando apenas o IP 202.29.94.200). Fazendo perícia nos clientes que você perdeu na primeira execução, revela que eles baixaram um malware diferente e excluíram o inicial, sendo essa a razão pela qual você não viu fluxos deles para 202.29.94.200. O novo malware fornece novos domínios e IPs para você procurar...
Digamos que você tenha uma indicação de tráfego malicioso de C&C indo para um IP na porta 80. O domínio usado pelo suposto malware seria cc.twittertoday.com. Pesquisando seus dados de fluxo, revela muitos clientes conversando com esse IP, e você pode pensar que toda a empresa está comprometida. Uma rápida consulta no seu banco de dados do PassiveDNS mostra que o IP em questão também hospeda mais de 300 sites e você pode até identificar um site hospedado naquele IP que você conhece e que muitas pessoas na empresa visitariam legitimamente diariamente. Pesquisar seu banco de dados do PassiveDNS não retorna resultados para o domínio em questão, significando, com sorte, que você não possui esse malware se comunicando com esse domínio na sua rede.
Você sabe que *.twittertoday.com é frequentemente usado em malwares e os subdomínios mudam aleatoriamente. Muitos possuem regras para tais domínios em seus IDS/IPS, consumindo recursos desnecessários dos sistemas. Ter um script pré-carregado com uma lista de regex de domínios e subdomínios para monitorar e que lhe envie um alerta quando eles forem detectados lhe dará uma detecção muito melhor com base em ameaças por domínio.
Você também pode fazer um whois para todos os novos domínios de topo vistos, correlacionar as informações do whois com uma lista de informações conhecidas como ruins, como o nome da pessoa ou empresa que registrou o domínio, números de telefone/fax, endereço e assim por diante, resultando em uma pontuação que pode ser alta o suficiente para acionar um alerta para você :)
Perguntas, sugestões, elogios ou críticas são sempre bem-vindos :)
Espero que o PassiveDNS lhe forneça uma nova ferramenta para combater malware e seus criadores...
(c)2011-2020 - Edward Bjarte Fjellskål