bug Kaminsky - bailiwicks

bug Kaminsky - bailiwicks

Tenho lido sobre o bug do DNS Kaminsky, tentando entender melhor como ele funciona. Acho que entendi a essência disso, mas Dan menciona bailiwicks, sendo usados ​​para direcionar servidores DNS atrás de firewalls.

Alguém pode explicar o que é um bailiwick e dar um exemplo de como ele é usado para direcionar servidores atrás de firewalls para explorar o bug Kaminsky?

Responder1

Bailiado

O Jornal LinuxartigoqueEhtyarpostado tem uma explicação muito boa sobre o que é um bailiwick e como ele se relaciona com o DNS. Basicamente, registros extras são adicionados a uma resposta DNS para ajudar a encontrar servidores DNS delegados. Para citar o exemplo do artigo:

$ dig @ns1.example.com www.example.com
;; ANSWER SECTION:
www.example.com.    120      IN    A    192.168.1.10

;; AUTHORITY SECTION:
example.com.        86400    IN    NS   ns1.example.com.
example.com.        86400    IN    NS   ns2.example.com.

;; ADDITIONAL SECTION:
ns1.example.com.    604800   IN    A    192.168.2.20
ns2.example.com.    604800   IN    A    192.168.3.30


Ataque

Detalhes sobre o ataque estão em Dan'sdiapositivos(ver slides 24/25). Para atacar um servidor atrás de um firewall:

  • Uma busca por um subdomínio de um domínio controlado pelo invasor (por exemplo, ' 1.badguy.com') é acionada.
  • O servidor atacante responde com um registro CNAME para o domínio que está tentando envenenar (por exemplo, ' debian.org'). Isso causa uma consulta DNS do destino para ' debian.org'.
  • Assim que o servidor atacante envia a referência CNAME, ele inicia o streaming de respostas DNS falsificadas que incluem uma resposta adicional (por exemplo, ' security.debian.org' apontando para o endereço IP de ' badguy.com').
  • Se o ID da transação na resposta for adivinhado corretamente, o servidor por trás do firewall agora pensa que ' security.debian.org' resolve para o endereço do bandido.

Existem muitas maneiras de colocar o servidor atrás do firewall para pesquisar um endereço IP, solicitações internas de clientes, resolver endereços IP em logs do servidor, etc.bortzmeyermenciona que o firewall é amplamente irrelevante neste ataque.

Responder2

Conforme mencionado por Mark Johnson, o bailiwick de um servidor DNS é o conjunto de domínios para os quais ele tem autoridade. Ao mesmo tempo, os servidores de nomes recursivos aceitavam dados fora do bailiwick de servidores de nomes oficiais. Portanto, o servidor de nomes com autoridade para foo.example poderia adicionar dados adicionais em sua resposta informando o endereço IP de www.bar.example e ele foi acreditado. Esta foi a base doAtaque Kashpureff. Por muito tempo, os servidores de nomes não acreditam mais em dados fora do bailiwick, conforme instruído porRFC 2181, seção 5.4.1.

O ataque Kaminsky faznãousou dados fora do bailiado e, portanto, também trabalhou com servidores de nomes recentes. O Diário LinuxO artigo mencionado por Luke Quinane explica muito bem (mas o resto do post de Luke Quinane, especialmente sobre firewalls, é questionável).

Em relação aos firewalls, este é principalmente um problema não relacionado. Se um servidor de nomes deseja receber respostas às suas consultas, ele precisa estar acessível, portanto, não importa se ele tem um firewall ou não na frente dele: o ataque Kaminsky precisa de apenas um canal, o DNS.

Como o ataque Kaminsky ocorre no servidor de nomes que as máquinas clientes usarão, não importa se essas máquinas estão protegidas ou não pelo firewall. (Um bom exemplo de por que um firewall não é um dispositivo mágico e não protege tudo.)

informação relacionada