100265 2003-05-02  17:15  /64 rader/ Intel Nop <0x90@invisiblenet.net>
Importerad: 2003-05-02  17:15  av Brevbäraren
Extern mottagare: bugtraq@securityfocus.com
Mottagare: Bugtraq (import) <4746>
Ärende: Dynamic DNS "Spoofing" & IRC
------------------------------------------------------------
This is a trivial "feature/flaw" I've been holding onto for a bit,
and it's probably commonly known, but I haven't seen it posted
anywhere, more of a neat little thing in taking advantage of IRC and
it's treatment of dyndns within DNS if reverse lookup is possible.

IRC (Internet Relay Chat) servers being a common ground for chat,
have some annoyances such as the username@ipaddress or
username@domainname, some people don't like that etc, being that they
have to use a bouncer to avoid showing their own ip address or
hostname to other users if they want to maintain some sort of privacy.

Well here's a pseudo-privacy trick that can be reasonably easy to
perform given one has control of a dns server that performs reverse
and forward lookups, support for dyndns scripts, and a domain-name
registered to you.  You can optionally use a bouncer if you want.

In my example, I will use the host name spooftest.domain.com, a port
forwarding tool, a zoneedit account with my dyndns script that
forward resolves, and a friend's server (he/she runs an isp) that
allows for me to have an PTR record to the ip address "10.1.1.1" (<--
this is a private address for demo purposes) on his server as
spooftest.domain.com

Step 1) I have zoneedit script set up to tell it that my dyndns
address is to spooftest.domain.com is 10.1.1.1, which it updates
immediately and the 10.1.1.1 server has PTR record for 10.1.1.1 as
spooftest.domain.com (thus allowing reverse and forward lookup of
spooftest.domain.com) My portforward (say we're using datapipe.c on
the 10.1.1.1 box) settings are datapipe 10.1.1.1 6667
irc.whateverserver.net 6667

Step 2) Log into irc server on your local machine by doing a /server
spooftest.domain.com 6667, make sure the irc server has resolved you
as username@spooftest.domain.com

Step 3) Run your dyndns script for zoneedit to assign your ip address
as whatever ip you want (in this case I'll use 127.0.0.1), then wait
about a minute before joining a channel.

By this time, your dyndns should have updated and changed your ip
address to 127.0.0.1, and irc servers don't re-check after you've
connected (so anyone resolving your hostname will come up with
127.0.0.1).

I don't know if this is categorized as a flaw in dns or irc, or just
merely exploiting a feature, and this is a rather trivial trick
(surely can't be original and I apologize if it's been posted before).

A fix I think would have ircd recheck after a certain amount of time
for resolving properties of their dns, and I was going to say dnssec,
but I can't really see that fixing the problem unless ircd re-checks
as well there.

This "feature/flaw" could probably apply to other application
protocols as well that do not recheck dns properties, but I haven't
taken the time to come up for other practical uses for it.

This has been tested on most ircd server versions and all so far are
victim to this "hack".

0x90
www.invisiblenet.net
(100265) /Intel Nop <0x90@invisiblenet.net>/(Ombruten)
Kommentar i text 100292 av Markus Kovero <muikku@muikkuverkko.net>
Kommentar i text 100298 av c4 <c4@jolt.nu>
Kommentar i text 100307 av Niels Bakker <niels=bugtraq@bakker.net>
Kommentar i text 100308 av Thomas Wouters <meeling@xhoy.nl>
Kommentar i text 100336 av Darren Reed <avalon@caligula.anu.edu.au>
100292 2003-05-02  22:05  /79 rader/ Markus Kovero <muikku@muikkuverkko.net>
Importerad: 2003-05-02  22:05  av Brevbäraren
Extern mottagare: Intel Nop <0x90@invisiblenet.net>
Mottagare: Bugtraq (import) <4757>
Kommentar till text 100265 av Intel Nop <0x90@invisiblenet.net>
Ärende: Re: Dynamic DNS "Spoofing" & IRC
------------------------------------------------------------
We have in Darkmyst ( http://www.darkmyst.org ) this thing called
hostname verification or smthin:

21:36 [nla] !xx.xx.xx.darkmyst.org *** Notice -- IP# Mismatch:
24.xxx.177.xxx != wv-xxx-ubr-b-xxx-196-xxx-130.charterwv.net[82b19f18]

Don't know exactly how it works, probably kills user with fake
hostname.  We're using somekind modified darkhex ircd atm and we're
coding new one which is in beta-stage now.

cheers and happy "vappu"-holidays; Markus Kovero

On Thu, 1 May 2003, Intel Nop wrote:

> This is a trivial "feature/flaw" I've been holding onto for a bit, and it's
> probably commonly known, but I haven't seen it posted anywhere, more of a
> neat little thing in taking advantage of IRC and it's treatment of dyndns
> within DNS if reverse lookup is possible.
>
> IRC (Internet Relay Chat) servers being a common ground for chat, have some
> annoyances such as the username@ipaddress or username@domainname, some
> people don't like that etc, being that they have to use a bouncer to avoid
> showing their own ip address or hostname to other users if they want to
> maintain some sort of privacy.
>
> Well here's a pseudo-privacy trick that can be reasonably easy to perform
> given one has control of a dns server that performs reverse and forward
> lookups, support for dyndns scripts, and a domain-name registered to you.
> You can optionally use a bouncer if you want.
>
> In my example, I will use the host name spooftest.domain.com, a port
> forwarding tool, a zoneedit account with my dyndns script that forward
> resolves, and a friend's server (he/she runs an isp) that allows for me to
> have an PTR record to the ip address "10.1.1.1" (<-- this is a private
> address for demo purposes) on his server as spooftest.domain.com
>
> Step 1) I have zoneedit script set up to tell it that my dyndns address is
> to spooftest.domain.com is 10.1.1.1, which it updates immediately and the
> 10.1.1.1 server has PTR record for 10.1.1.1 as spooftest.domain.com (thus
> allowing reverse and forward lookup of spooftest.domain.com)
> My portforward (say we're using datapipe.c on the 10.1.1.1 box)
> settings are datapipe 10.1.1.1 6667 irc.whateverserver.net 6667
>
> Step 2) Log into irc server on your local machine by doing a /server
> spooftest.domain.com 6667, make sure the irc server has resolved you as
> username@spooftest.domain.com
>
> Step 3) Run your dyndns script for zoneedit to assign your ip address as
> whatever ip you want (in this case I'll use 127.0.0.1), then wait about a
> minute before joining a channel.
>
> By this time, your dyndns should have updated and changed your ip address to
> 127.0.0.1, and irc servers don't re-check after you've connected (so anyone
> resolving your hostname will come up with 127.0.0.1).
>
> I don't know if this is categorized as a flaw in dns or irc, or just merely
> exploiting a feature, and this is a rather trivial trick (surely can't be
> original and I apologize if it's been posted before).
>
> A fix I think would have ircd recheck after a certain amount of time for
> resolving properties of their dns, and I was going to say dnssec, but I
> can't really see that fixing the problem unless ircd re-checks as well
> there.
>
> This "feature/flaw" could probably apply to other application protocols as
> well that do not recheck dns properties, but I haven't taken the time to
> come up for other practical uses for it.
>
> This has been tested on most ircd server versions and all so far are victim
> to this "hack".
>
> 0x90
> www.invisiblenet.net
>
>
>
>
(100292) /Markus Kovero <muikku@muikkuverkko.net>/(Ombruten)
100298 2003-05-02  22:30  /73 rader/ c4 <c4@jolt.nu>
Importerad: 2003-05-02  22:30  av Brevbäraren
Extern mottagare: bugtraq@securityfocus.com
Mottagare: Bugtraq (import) <4760>
Kommentar till text 100265 av Intel Nop <0x90@invisiblenet.net>
Ärende: Re: Dynamic DNS "Spoofing" & IRC
------------------------------------------------------------
Well you dont even have to have dyndns... just control over the over
the  domain is sufficient.  Just connect and change the dns
afterwards...

This dosn't have anything to do with dns & irc really... it just
utilizes  the fact that your ircclient performs a dns check seperatly.

The problem with rechecking dns is that for a pretty large network
such as  ircnet or efnet it would take some resources to do this
check, thus  allowing a denial attack being made more easily against
one server.

At 23:47 2003-05-01, you wrote:
>This is a trivial "feature/flaw" I've been holding onto for a bit, and it's
>probably commonly known, but I haven't seen it posted anywhere, more of a
>neat little thing in taking advantage of IRC and it's treatment of dyndns
>within DNS if reverse lookup is possible.
>
>IRC (Internet Relay Chat) servers being a common ground for chat, have some
>annoyances such as the username@ipaddress or username@domainname, some
>people don't like that etc, being that they have to use a bouncer to avoid
>showing their own ip address or hostname to other users if they want to
>maintain some sort of privacy.
>
>Well here's a pseudo-privacy trick that can be reasonably easy to perform
>given one has control of a dns server that performs reverse and forward
>lookups, support for dyndns scripts, and a domain-name registered to you.
>You can optionally use a bouncer if you want.
>
>In my example, I will use the host name spooftest.domain.com, a port
>forwarding tool, a zoneedit account with my dyndns script that forward
>resolves, and a friend's server (he/she runs an isp) that allows for me to
>have an PTR record to the ip address "10.1.1.1" (<-- this is a private
>address for demo purposes) on his server as spooftest.domain.com
>
>Step 1) I have zoneedit script set up to tell it that my dyndns address is
>to spooftest.domain.com is 10.1.1.1, which it updates immediately and the
>10.1.1.1 server has PTR record for 10.1.1.1 as spooftest.domain.com (thus
>allowing reverse and forward lookup of spooftest.domain.com)
>My portforward (say we're using datapipe.c on the 10.1.1.1 box)
>settings are datapipe 10.1.1.1 6667 irc.whateverserver.net 6667
>
>Step 2) Log into irc server on your local machine by doing a /server
>spooftest.domain.com 6667, make sure the irc server has resolved you as
>username@spooftest.domain.com
>
>Step 3) Run your dyndns script for zoneedit to assign your ip address as
>whatever ip you want (in this case I'll use 127.0.0.1), then wait about a
>minute before joining a channel.
>
>By this time, your dyndns should have updated and changed your ip address to
>127.0.0.1, and irc servers don't re-check after you've connected (so anyone
>resolving your hostname will come up with 127.0.0.1).
>
>I don't know if this is categorized as a flaw in dns or irc, or just merely
>exploiting a feature, and this is a rather trivial trick (surely can't be
>original and I apologize if it's been posted before).
>
>A fix I think would have ircd recheck after a certain amount of time for
>resolving properties of their dns, and I was going to say dnssec, but I
>can't really see that fixing the problem unless ircd re-checks as well
>there.
>
>This "feature/flaw" could probably apply to other application protocols as
>well that do not recheck dns properties, but I haven't taken the time to
>come up for other practical uses for it.
>
>This has been tested on most ircd server versions and all so far are victim
>to this "hack".
>
>0x90
>www.invisiblenet.net
(100298) /c4 <c4@jolt.nu>/----------------(Ombruten)
100307 2003-05-02  23:02  /24 rader/ Niels Bakker <niels=bugtraq@bakker.net>
Importerad: 2003-05-02  23:02  av Brevbäraren
Extern mottagare: Intel Nop <0x90@invisiblenet.net>
Mottagare: Bugtraq (import) <4767>
Kommentar till text 100265 av Intel Nop <0x90@invisiblenet.net>
Ärende: Re: Dynamic DNS "Spoofing" & IRC
------------------------------------------------------------
* 0x90@invisiblenet.net (Intel Nop) [Fri 02 May 2003, 17:10 CEST]:
> This is a trivial "feature/flaw" I've been holding onto for a bit, and it's
> probably commonly known, but I haven't seen it posted anywhere, more of a
> neat little thing in taking advantage of IRC and it's treatment of dyndns
> within DNS if reverse lookup is possible.
[..]
> By this time, your dyndns should have updated and changed your ip address to
> 127.0.0.1, and irc servers don't re-check after you've connected (so anyone
> resolving your hostname will come up with 127.0.0.1).

You can retrieve the IP address of any user on irc via the STATS L
command (the uppercase L is important).

For privacy reasons some networks (most notably Undernet but also
Freenode) have disabled this command for users that do not have IRC
Operator status.


	-- Niels.

-- 
Note: some countries impose serious penalties for a conspiracy to overthrow
      the political system. THIS DOES NOT FIX THE VULNERABILITY.
(100307) /Niels Bakker <niels=bugtraq@bakker.net>/--
100308 2003-05-02  23:09  /33 rader/ Thomas Wouters <meeling@xhoy.nl>
Importerad: 2003-05-02  23:09  av Brevbäraren
Extern mottagare: Intel Nop <0x90@invisiblenet.net>
Extern mottagare: bugtraq@securityfocus.com
Mottagare: Bugtraq (import) <4768>
Kommentar till text 100265 av Intel Nop <0x90@invisiblenet.net>
Ärende: Re: Dynamic DNS "Spoofing" & IRC
------------------------------------------------------------
this would mean if you get disconected from the irc server and
reconed you would not have any reverse at all, so the 'real' hack
isn't there your just 'abuseing' the fact that ircd's dont lookup the
hosts while your are connected

like almoste every deamon does (like sshd/apache enz)

-- Thomas

----- Original Message -----
From: "Intel Nop" <0x90@invisiblenet.net>
To: <bugtraq@securityfocus.com>
Sent: Thursday, May 01, 2003 11:47 PM
Subject: Dynamic DNS "Spoofing" & IRC



> Step 3) Run your dyndns script for zoneedit to assign your ip address as
> whatever ip you want (in this case I'll use 127.0.0.1), then wait about a
> minute before joining a channel.
>


--------
Thomas Wouters - xhoy
e-mail: Thomas@xhoy.nl
IRC: IRCnet - #IceBox & #ne2000 | EFnet - #IceBox

* ne2000 -  Press Any Key To Continue | http://www.ne2000.nl *
* IceBox - SLUT partner | http://slut.icebox.nl *
--------
(100308) /Thomas Wouters <meeling@xhoy.nl>/(Ombruten)
100336 2003-05-03  23:00  /41 rader/ Darren Reed <avalon@caligula.anu.edu.au>
Importerad: 2003-05-03  23:00  av Brevbäraren
Extern mottagare: Intel Nop <0x90@invisiblenet.net>
Mottagare: Bugtraq (import) <4773>
Kommentar till text 100265 av Intel Nop <0x90@invisiblenet.net>
Ärende: Re: Dynamic DNS "Spoofing" & IRC
------------------------------------------------------------
In some mail from Intel Nop, sie said:
> 
> This is a trivial "feature/flaw" I've been holding onto for a bit, and it's
> probably commonly known, but I haven't seen it posted anywhere, more of a
> neat little thing in taking advantage of IRC and it's treatment of dyndns
> within DNS if reverse lookup is possible.
> 
> IRC (Internet Relay Chat) servers being a common ground for chat, have some
> annoyances such as the username@ipaddress or username@domainname, some
> people don't like that etc, being that they have to use a bouncer to avoid
> showing their own ip address or hostname to other users if they want to
> maintain some sort of privacy.

Bah!  Why do people still expect to have any sort of privacy ?!

Haven't you all gotten over it yet and realised that anyone can
know anything and everything about your life if they have enough $$ ?!

Privacy is such a 20th century concept, get with the times!

Oh, and btw, revealing user@hostname was quite a deliberate design
decision that was debated many times (and probably still is.)

IRC is meant to be a means for communicating with people and when
you're communicating with someone you generally want to know
something about them.  Revealing user@hostname was not ever
considered to be a privacy risk and you might argue is no different
to CLID.  I for one refuse to answer the phone if I cannot see who
the other party is that is calling me because it is generally
considered good etiquette to let someone know who you are when
calling.  Revealing more information also serves as something of a
disincentive towards anti-social behaviour and before you say "but if
someone wants to be, they can use methods like that posted to hide",
history shows that for most it is either too difficult or too much
trouble for the average moron to do.

Another reply mentioned "stats L" output being useful.  Well at one
point it was, but today IRC is, for better or worse, far from being
anything as egalitarian as it used to be.

Darren
(100336) /Darren Reed <avalon@caligula.anu.edu.au>/(Ombruten)