Re: Understanding Kaminsky exploit w/bind

2013-04-15 Thread Mark Elkins
On Sun, 2013-04-14 at 21:30 -0500, Jamie Ostrowski wrote:
 
 
 
  Hello,
 
 
  I hope this isn't too off-topic, but I've been studying the Kaminsky
 DNS exploit and I have a question. 
 
 
  According to what I've read on the topic, the Kaminsky exploit
 hijacks a whole domain, and that you can launch the attack on a
 nameserver over and over. It seems to imply you can do this
 immediately before waiting for any TTL's to expire by using a series
 of random name queries, however, I don't see how that is possible, and
 I wonder if anyone can explain this.
 
 
  I fired up a recursive nameserver running bind 9.4. In another window
 I started running a tcpdump session listening for traffic on port 53.
 
 
   If I perform a query on one of my domains the first time, for
 nonexistant-host.mydomain.com, I can see my nameserver querying the
 roots, getting a referral to the auth. nameserver for mydomain.com,
 and then seeing the query go out to that authoritative nameserver. 
 
 
  That makes sense.


   However, if I then fire off another query, for
 nonexistant-host2.mydomain.com, I do not see another querying going
 out to find the auth nameserver for mydomain.com - because it is
 cached in my recursive resolver. 

   This also makes sense.

Not looking again for the authoritative NameServers for mydomain.com
makes sense but not seeing *any* queries - that is - for
nonexistant-host2.mydomain.com does not. Unless you are also somehow
authoritative for mydomain.com - how would you already know the answer
to nonexistant-host2.mydomain.com ??? Why would an answer for that
query already be cached?

Kaminsky works because it looks for random stuff that most people would
not put in their zone (so it will not have be previously cached,
positively or negatively) - so it has to be looked up by asking an
appropriate authoritative server.

You don't use Kaminsky directly on the authoritative server for the
domain that you are trying to inject false information about - it
already knows what exists and by definition - what does not exist.

   But then how is it that an attacker, after he sends his first query
 for a non-existant host, if they aren't able to guess the transaction
 id to spoof a response before the real response comes in, then won't
 the resolver have the cached NS records for that mydomain.com stored
 with a TTL?
 
 
   I don't see how you can then launch successive queries for other
 non-existant hosts until the cached TTL expires for the domain
 server. 
 
 
   If anyone can shed any light, I'd appreciate it. I've read several
 articles on this topic and it's a piece of the puzzle I've been
 stumped on.
 
 
Thanks!
 
 
- Jamie
   
 
 ___
 Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
 from this list
 
 bind-users mailing list
 bind-users@lists.isc.org
 https://lists.isc.org/mailman/listinfo/bind-users

-- 
  .  . ___. .__  Posix Systems - (South) Africa
 /| /|   / /__   m...@posix.co.za  -  Mark J Elkins, Cisco CCIE
/ |/ |ARK \_/ /__ LKINS  Tel: +27 12 807 0590  Cell: +27 82 601 0496



smime.p7s
Description: S/MIME cryptographic signature
___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

신은선 부재중 자동응답: RE: bind-users Digest, Vol 1499, Issue 1

2013-04-15 Thread 신은선

NAVER - http://www.naver.com/

신은선(eunsun.s...@nhn.com) 님은 현재 부재중입니다./br
보내신 메일 bind-users Digest, Vol 1499, Issue 1 은 저장되어 있으므로 다시 보내실 필요는 없습니다./br
신은선(eunsun.s...@nhn.com) 님이 남기신 메시지 입니다.

4/15(월)~4/16(화) 개인 휴가입니다.brbr업무 문의는 CDN파트(dl_...@nhn.com)로 연락주시기 
바랍니다.brbr감사합니다.


___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Re: Understanding Kaminsky exploit w/bind

2013-04-15 Thread Jamie Ostrowski
On Mon, Apr 15, 2013 at 2:57 AM, Mark Elkins m...@posix.co.za wrote:

 On Sun, 2013-04-14 at 21:30 -0500, Jamie Ostrowski wrote:
 
 
 
   Hello,
 
 
   I hope this isn't too off-topic, but I've been studying the Kaminsky
  DNS exploit and I have a question.
 
 
   According to what I've read on the topic, the Kaminsky exploit
  hijacks a whole domain, and that you can launch the attack on a
  nameserver over and over. It seems to imply you can do this
  immediately before waiting for any TTL's to expire by using a series
  of random name queries, however, I don't see how that is possible, and
  I wonder if anyone can explain this.
 
 
   I fired up a recursive nameserver running bind 9.4. In another window
  I started running a tcpdump session listening for traffic on port 53.
 
 
If I perform a query on one of my domains the first time, for
  nonexistant-host.mydomain.com, I can see my nameserver querying the
  roots, getting a referral to the auth. nameserver for mydomain.com,
  and then seeing the query go out to that authoritative nameserver.
 
 
   That makes sense.


However, if I then fire off another query, for
  nonexistant-host2.mydomain.com, I do not see another querying going
  out to find the auth nameserver for mydomain.com - because it is
  cached in my recursive resolver.

This also makes sense.

 Not looking again for the authoritative NameServers for mydomain.com
 makes sense but not seeing *any* queries - that is - for
 nonexistant-host2.mydomain.com does not. Unless you are also somehow
 authoritative for mydomain.com - how would you already know the answer
 to nonexistant-host2.mydomain.com ??? Why would an answer for that
 query already be cached?


  No, the authoritative NS record for mydomain.com is cached. It still does
send out a query to the cached auth. nameserver looking up the A record for
nonexistant-host2.

But that is the point of my question. Since it is relying on it's cached
entry for the auth. nameserver for mydomain.com, the attacker, once the
auth. nameserver for mydomain.com was cached, would have to wait until that
cached NS entry for mydomain.com expires from the resolver's cache before
they can make another attempt to send a forged NS record for mydomain.com,
correct?




 Kaminsky works because it looks for random stuff that most people would
 not put in their zone (so it will not have be previously cached,
 positively or negatively) - so it has to be looked up by asking an
 appropriate authoritative server.


Understood. But once the first random host is looked up, if the 'bad guy'
launching the attack did not beat the response from the 'good guy', then
the true NS record for the domain would be kept in the resolver's cache
until the TTL expires.

If you try another random host before that NS record in the cache expires,
it's just going to go ask the correct nameserver for the entry.

So as far as I see it, you would have to wait for that cached NS entry for
the domain to expire before you have another chance. Yet, the documentation
I found at:

http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html#shenanigansv2


*Step 1* — bad guy client requests a *random name* within the target domain
(*www12345678.bankofsteve.com*), something unlikely to be in cache even if
other lookups for this domain have been done recently.

   -

   *Step 2a* — As before, the bad guy sends a stream of forged packets to
   the victim, but instead of *A* records as part of an Answer, it instead
   delegates to another nameserver via Authority records. I don't know the
   answer, but you can ask over there.

   The authority data may well contain the real
*bankofsteve.com*nameserver hostnames, but the glue
   *points those nameservers at badguy IPs*. This is the crucial poisoning,
   because a Query ID match means that the victim believes that badguy's
   nameservers are authoritative for *bankofsteve.com*.

   The bad guy now *owns the entire zone*.
   


In this example, it works if the resolver does not already have the correct
cached glue records for bankofsteve.com. But what if the resolver DOES have
the correct glue records for ns1.bankofsteve.com cached? The attacker will
have to wait until that TTL expires before he has another chance to poison
the glue, correct? I don't see how you can launch another random hostname
lookup that would be successful until the glue record entries for
ns1.bankofsteve.com expire in the resolver's cache.









 You don't use Kaminsky directly on the authoritative server for the
 domain that you are trying to inject false information about - it
 already knows what exists and by definition - what does not exist.








But then how is it that an attacker, after he sends his first query
  for a non-existant host, if they aren't able to guess the transaction
  id to spoof a response before the real response comes in, then won't
  the resolver have the cached NS records for that mydomain.com stored
  with a TTL?
 
 
I don't see 

I'm having thousands of queries a domain isc.org and this increases my cpu percentage to 100%. That may be happening and how I can control this? is an attack? attachment of the log I made an update to

2013-04-15 Thread Jose Manuel Delgado G.
190.34.55.70 - 201.224.83.242 DNS C isc.org. Internet * ?
 190.33.3.27 - 201.224.83.242 DNS C isc.org. Internet * ?
190.32.57.243 - 201.224.83.242 DNS C isc.org. Internet * ?
201.224.149.40 - 201.224.83.242 DNS C isc.org. Internet * ?
190.35.22.44 - 201.224.83.242 DNS C isc.org. Internet * ?
186.73.76.87 - 201.224.83.242 DNS C isc.org. Internet * ?
190.34.44.109 - 201.224.83.242 DNS C isc.org. Internet * ?
190.32.56.118 - 201.224.83.242 DNS C isc.org. Internet * ?
190.34.27.201 - 201.224.83.242 DNS C isc.org. Internet * ?
201.224.115.26 - 201.224.83.242 DNS C isc.org. Internet * ?
190.32.165.139 - 201.224.83.242 DNS C isc.org. Internet * ?
190.33.231.148 - 201.224.83.242 DNS C isc.org. Internet * ?
190.35.84.29 - 201.224.83.242 DNS C isc.org. Internet * ?

Thanks a lot!
JM
___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

신은선 부재중 자동응답: RE: bind-users Digest, Vol 1499, Issue 2

2013-04-15 Thread 신은선

NAVER - http://www.naver.com/

신은선(eunsun.s...@nhn.com) 님은 현재 부재중입니다./br
보내신 메일 bind-users Digest, Vol 1499, Issue 2 은 저장되어 있으므로 다시 보내실 필요는 없습니다./br
신은선(eunsun.s...@nhn.com) 님이 남기신 메시지 입니다.

4/15(월)~4/16(화) 개인 휴가입니다.brbr업무 문의는 CDN파트(dl_...@nhn.com)로 연락주시기 
바랍니다.brbr감사합니다.


___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Re: signature expiration

2013-04-15 Thread Carlos M. Martinez
If nothing changes, only the SOA serial will be incremented on resign.

The signatures don't 'have' to be renewed every 30 days, you can resign
as often as you want / need.

regards

~Carlos

On 4/11/13 9:14 AM, hugo hugoo wrote:
 Hello,
  
 Can anyone tell me why signatures in dnssec mut be renewed every 30 days?
 What are the modifications made on a zone with a resign?
  
 Thanks in advance for the clarifications.
  
 Hugo,
 
 
 ___
 Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
 from this list
 
 bind-users mailing list
 bind-users@lists.isc.org
 https://lists.isc.org/mailman/listinfo/bind-users
 
___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Solaris 11

2013-04-15 Thread Manson, John
I searched www.isc.orghttp://www.isc.org to no avail.
Is bind 9.9.x compatible with Solaris 11?
Anything out of the ordinary with compiling and such?
Thanks


John Manson
CAO/HIR/NAF Data-Communications | U.S. House of Representatives | Washington, 
DC 20515
Desk: 202-226-4244 | TCC: 202-226-6430 | 
john.man...@mail.house.govmailto:john.man...@mail.house.gov

___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

RE: I'm having thousands of queries ...

2013-04-15 Thread Vernon Schryver
 From: Denis Laventure denis_lavent...@uqac.ca

  Subject: RE: I'm having thousands of queries a domain isc.org and this
  increasesmy cpu percentage to 100%. That may be happening and how I
  can controlthis? is an attack? attachment of the log I made an update to
  version 9.9.2-P2 as recommended but still continuo

 I'm having the same problem but for those domains...

hao.360.cn.
 ...

 15-Apr-2013 15:00:08.485 security: info: client 117.21.187.20#52538: view e=
 xternal: query (cache) 'hao.360.cn/A/IN' denied

The IP address mentioned in the previous mail message does not seem
to be an open recursive resolver.  That and the reference to 9.9.2-P2
suggest that RRL would be a good fit and might save CPU cycles.

I don't know whether this DNS server is recursive or authoritative,
but that log entry suggests at least closed.  If it is closed or
authoritative, then RRL in the external view would automatically
save CPU cycles and bandwidth that would otherwise be spent sending
those REFUSED responses.

The best by far solution for an open recursive server being hammered
(or not yet being hammered) is to close it.  If you can't close it
and can't afford the fancy defenses of commercial open recursive
servers such as
https://developers.google.com/speed/public-dns/docs/security#rate_limit
RRL is a lot better than no defense.  The reason RRL is not recommend
for recursives server bcause RRL can slow down browsers, SMTP servers
(mail receivers), and other applications that repeat DNS requests.

See http://www.redbarn.org/dns/ratelimits


Vernon Schryverv...@rhyolite.com
___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: Understanding Kaminsky exploit w/bind

2013-04-15 Thread Jamie Ostrowski
On Mon, Apr 15, 2013 at 9:44 AM, Jamie Ostrowski
jamie.ostrow...@gmail.comwrote:




 On Mon, Apr 15, 2013 at 2:57 AM, Mark Elkins m...@posix.co.za wrote:

 On Sun, 2013-04-14 at 21:30 -0500, Jamie Ostrowski wrote:
 
 
 
   Hello,
 
 
   I hope this isn't too off-topic, but I've been studying the Kaminsky
  DNS exploit and I have a question.
 
 
   According to what I've read on the topic, the Kaminsky exploit
  hijacks a whole domain, and that you can launch the attack on a
  nameserver over and over. It seems to imply you can do this
  immediately before waiting for any TTL's to expire by using a series
  of random name queries, however, I don't see how that is possible, and
  I wonder if anyone can explain this.
 
 
   I fired up a recursive nameserver running bind 9.4. In another window
  I started running a tcpdump session listening for traffic on port 53.
 
 
If I perform a query on one of my domains the first time, for
  nonexistant-host.mydomain.com, I can see my nameserver querying the
  roots, getting a referral to the auth. nameserver for mydomain.com,
  and then seeing the query go out to that authoritative nameserver.
 
 
   That makes sense.


However, if I then fire off another query, for
  nonexistant-host2.mydomain.com, I do not see another querying going
  out to find the auth nameserver for mydomain.com - because it is
  cached in my recursive resolver.

This also makes sense.

 Not looking again for the authoritative NameServers for mydomain.com
 makes sense but not seeing *any* queries - that is - for
 nonexistant-host2.mydomain.com does not. Unless you are also somehow
 authoritative for mydomain.com - how would you already know the answer
 to nonexistant-host2.mydomain.com ??? Why would an answer for that
 query already be cached?


   No, the authoritative NS record for mydomain.com is cached. It still
 does send out a query to the cached auth. nameserver looking up the A
 record for nonexistant-host2.

 But that is the point of my question. Since it is relying on it's cached
 entry for the auth. nameserver for mydomain.com, the attacker, once the
 auth. nameserver for mydomain.com was cached, would have to wait until
 that cached NS entry for mydomain.com expires from the resolver's cache
 before they can make another attempt to send a forged NS record for
 mydomain.com, correct?




 Kaminsky works because it looks for random stuff that most people would
 not put in their zone (so it will not have be previously cached,
 positively or negatively) - so it has to be looked up by asking an
 appropriate authoritative server.


 Understood. But once the first random host is looked up, if the 'bad guy'
 launching the attack did not beat the response from the 'good guy', then
 the true NS record for the domain would be kept in the resolver's cache
 until the TTL expires.

 If you try another random host before that NS record in the cache expires,
 it's just going to go ask the correct nameserver for the entry.

 So as far as I see it, you would have to wait for that cached NS entry for
 the domain to expire before you have another chance. Yet, the documentation
 I found at:

 http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html#shenanigansv2

 
 *Step 1* — bad guy client requests a *random name* within the target
 domain (*www12345678.bankofsteve.com*), something unlikely to be in cache
 even if other lookups for this domain have been done recently.

-

*Step 2a* — As before, the bad guy sends a stream of forged packets to
the victim, but instead of *A* records as part of an Answer, it
instead delegates to another nameserver via Authority records. I don't
know the answer, but you can ask over there.

The authority data may well contain the real *bankofsteve.com*nameserver 
 hostnames, but the glue
*points those nameservers at badguy IPs*. This is the crucial
poisoning, because a Query ID match means that the victim believes that
badguy's nameservers are authoritative for *bankofsteve.com*.

The bad guy now *owns the entire zone*.



 In this example, it works if the resolver does not already have the
 correct cached glue records for bankofsteve.com. But what if the resolver
 DOES have the correct glue records for ns1.bankofsteve.com cached? The
 attacker will have to wait until that TTL expires before he has another
 chance to poison the glue, correct? I don't see how you can launch another
 random hostname lookup that would be successful until the glue record
 entries for ns1.bankofsteve.com expire in the resolver's cache.



   I realize my question was probably not formed very well, but I did find
the answer I was looking for. I learned that the cached entries for the
nameservers can be overwritten, even though their TTL's have not expired.
This wasn't explained in the various illustrations I've found on this
attack.








 You don't use Kaminsky directly on the authoritative server for the
 domain that you are trying to