Finalmente, a apresentação na BlackHat:
http://www.doxpara.com/DMK_BO2K8.ppt
2008-07-26 - Atualização:
Melhoria das Regras para IDS (Snort):
http://www.emergingthreats.net/cgi-bin/cvsweb.cgi/sigs/CURRENT_EVENTS/CURRENT_DNS_Poisoning?rev=1.20;content-type=text%2Fplain
#by many very smart people
# This may be a high load sig. Take time and seriously consider
# that your dns_servers var is set as narrowly as possible
alert udp any 53 -> $DNS_SERVERS any (msg:"ET CURRENT_EVENTS Excessive DNS Responses with 1 or more RR's (100+ in 10 seconds) - possible Cache Poisoning Attempt"; byte_test:2,>,0,6; byte_test:2,>,0,10; threshold: type both, track by_src, count 100, seconds 10; classtype:bad-unknown; sid:2008446; rev:8;)
#this will catch large numbers of nxdomain replies, a sign that someone may be trying to poison you
#alert udp any 53 -> $HOME_NET any (msg:"ET CURRENT_EVENTS Excessive NXDOMAIN responses - Possible DNS Poisoning Attempt Backscatter"; byte_test:1,&,128,2; byte_test:1,&,1,3; byte_test:1,&,2,3; threshold: type both, track by_src, count 100, seconds 10; classtype:bad-unknown; sid:2008470; rev:2;)
#by Greg Martin at Econet
alert udp any 53 -> $HOME_NET any (msg:"ET CURRENT_EVENTS DNS Query Responses with 3 RR's set (50+ in 2 seconds) - possible NS RR Cache Poisoning Attempt"; content: "|85 00 00 01 00 01 00 01|"; offset: 2; within: 8; threshold: type both, track by_src,count 50, seconds 2; classtype:bad-unknown; reference:url,infosec20.blogspot.com/2008/07/kaminsky-dns-cache-poisoning-poc.html; sid:2008447; rev:4;)
alert udp any 53 -> $HOME_NET any (msg:"ET CURRENT_EVENTS DNS Query Responses with 3 RR's set (50+ in 2 seconds) - possible A RR Cache Poisoning Attempt"; content: "|81 80 00 01 00 01 00 01|"; offset: 2; within: 8; threshold: type both, track by_src, count 50, seconds 2; classtype:bad-unknown; reference:url,infosec20.blogspot.com/2008/07/kaminsky-dns-cache-poisoning-poc.html; sid:2008475; rev:1;)
2008-07-24 - Atualização:
Exploits disponíveis.
E adivinhe? Quase 4.000 DNS's (Mais de 50% dos grandes servidores DNS brasileiros) estão vulneráveis no momento - segundo o registro.br (via Caprino).
2008-07-22 - Atualização:
Patch Now. Detalhes sobre a vulnerabilidade DNS descrita abaixo vazaram.
Para verificar rapidamente se um DNS Server está vulnerável - (/dev/random):
Teste no Site do Dan Kaminski
ou
“dig +short porttest.dns-oarc.net TXT
Resposta Com patch:
$ dig +short porttest.dns-oarc.net TXT
z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"88.191.254.6 is GOOD: 26 queries in 3.9 seconds from 26 ports with std dev 19554.27"
Resposta SEM PATCH:
$ dig +short porttest.dns-oarc.net TXT
z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"212.35.96.66 is POOR: 35 queries in 4.3 seconds from 1 ports with std dev 0.00"
Mãos à obra!
2008-07-07:
Dan Kaminski é um ninja do TCP/IP que já contribuiu com a comunidade de segurança com seu memorável "Paketto Keiretsu" e uma interessantíssima análise de eventos como o RootKit da Sony.
Hoje foi divulgado que em março deste ano ele descobriu uma vulnerabilidade que facilita muito ataques de cache poisoning - utilizando birthday attacks no protocolo DNS - que afeta tanto servidores quanto clientes DNS. Veja o resumo executivo da descoberta.
Múltiplos fabricantes trabalharam em conjunto para solucionar o problema em suas implementações e um advisory do CERT foi publicado (.DOC) .
Para verificar se o seu DNS está vulnerável, teste-o no site do Dan Kaminski: doxpara.com
Há também uma entrevista interessante com o Dan Kaminsky sobre o tema.
Simplificando, apesar da especificação do protocolo DNS definir um campo de 16 bits para o campo "transaction" do cabeçalho - adivinhe... não é o que as implementações fazem (utilizam bem menos bits para isto). As soluções são expostas no .DOC acima.
Segundo o Dan Kaminsky, maiores detalhes técnicos serão expostos em 6 de Agosto, na DEFCON.
De cá pra lá, é bom ficar de olho para correções disponíveis do(s) fabricante(s) de DNS que você utiliza.
update (2008-07-08): Assinaturas de IDS para detecção (parcial) dos ataques descritos: http://www.snort.org/vrt/docs/ruleset_changelogs/changes-2008-07-08.html
No comments:
Post a Comment