[IRCServices] /ns ghost exploit
Mark Hetherington
mark at ctcp.net
Thu Mar 14 12:27:01 PST 2002
> Andrew Church wrote
> Services does not use SVSKILL in the first place,
Sorry, my mistake. I meant Services will issue a kill for that user.
> and
> does not allow
> GHOST anyway without a password unless the calling user is on
> the access
> list of the target nick _and_ the nick does not have the
> SECURE option set.
I know this. It still does not prevent a user using services to kill
another user just because they happen to use their nickname.
Nick A register A and also registers or links B, C, D, E.
A new user connects using nick B and would get the usual warning from
services. However, before they have the opportunity to choose a new
nickname, A who is identified and has the password for B issues /ns ghost B
password either manually or from a script which kills that user from the
network. I didn't highlight a problem with the way services checks a users
right to issue the command, merely in the way that the command is open to
abuse.
> Have you modified Services?
No.
Mark.
>
> --Andrew Church
> achurch at achurch.org
> http://achurch.org/
>
> >Something I recently became aware of was users "abusing" the
> ghost command.
> >
> >When the ghost command is issued, Services will SVSKILL the
> user from the
> >network. However, the new trend appears to be setting up a
> notify script,
> >which will automatically ghost any user trying to use a
> given nickname.
> >This quickly became popular. How this came to my attention
> is that a new
> >user was trying to access the network but was repeatedly
> killed by the
> >ghost command.
> >
> >Use of "kill immediate" should be sufficient for those users
> who do not
> >want people using their nicknames and can be handled by
> services with a
> >nick change so I do not see use of the command in this manner as
> >beneficial.
> >
> >One way to remove this exploit which seems the least complex
> to actually
> >manage is to only trigger the ghost if the target is
> currently identified.
> >
> >This would mean that in the event a user got disconnected
> before they were
> >able to identify, they would be unable to remove a real 'ghost' on
> >reconnect with the ghost command, but they could use 'recover'
> >and 'release' instead. I believe that the 'recover' will
> "guest" a user
> >where NSForceNickChange is enabled.
> >
> >--
> >Mark.
--
Mark.