|
|
by Nicolas Jombart (29/11/2000)
IRC et sécurité
L'IRC est un espace public, et est souvent considéré comme un repère de
pirates... Bien loin de cette rumeur (encore que ...), une machine connectée
et visible sur l'internet peut attirer plus facilement les convoitises des
petits malins, d'autant qu'il est facile d'avoir des informations sur une
éventuelle victime.
1. la recherche d'information
Sur l'IRC comme un peu partout ailleurs, il n'est pas facile d'être
incognito. Un simple /whois donne déjà beaucoup d'informations sur un
utilisateur :
*** ecureuil is ~nicolas@adsl-rde-1-150.pops.monisp.fr (nicolas)
*** on channels: #lille #paris
*** on IRC via server *.fr.ircnet.net (French H.u.B IRCNet - Grolier/Club-Internet)
*** ecureuil has been 17 hours, 46 minutes and 1 seconds idle
Il est donc aisé d'obtenir plusieurs informations :
- mon vrai nom, enfin, celui que j'ai entré.
- mon adresse IP, éventuellement résolue
- le serveur par lequel je suis connecté
- mon temps d'inactivité ... souvent très long :-)
- la liste des canaux sur lesquels je suis (sauf s'ils sont en mode secret)
Pour parfaire le tout, il est possible d'obtenir le type et la version du
client utilisé avec un CTCP VERSION. Ainsi, on sait si on a affaire à un
client sous windows ou sous un autre système, et la version utilisée.
Avec toutes ces informations, un attaquant pourra s'intéresser directement à
votre machine client. Certains serveurs cachent l'adresse IP en la
remplaçant par un hash. C'est souvent le cas des "chats" des "portails" sur
le web, utilisant un client Java mais c'est toujours un serveur IRC
derrière.
2. les vulnérabilités
Les clients et les serveurs sont vulnérables comme tout programme. Pour ce
qui est des serveurs, il n'est pas possible d'y faire grand chose : c'est
aux IRCops qui sont les administrateurs de serveurs de faire le nécessaire
et ils le font en général très bien et très rapidement.
En ce qui concerne les clients, il faut bien sûr mettre à jour soi-même :
- mIRC : http://www.mirc.co.uk/
- xchat : http://www.xchat.org/
- BitchX : http://www.bitchx.org/
etc.
Etre abonné aux listes de diffusion de votre client est une bonne idée. En
effet, on ne compte plus les dénis de service et les débordements de buffer
dans mIRC ou ircII (ce ne sont que des exemples ...), utilisant souvent le
DCC (le serveur contrôlant la connection a de toute façon une meilleure
bande passante). En règle générale, il faudrait éviter d'utiliser le DCC.
3. les dénis de service
C'est le gros problème avec l'IRC. Des petits malin peuvent s'amuser à
flooder les machines des clients. En général, ça arrive aux
"grandes-gueules". Ces attaques s'appelent le plus souvent sur l'IRC
``Nuke''.
Les attaques les plus courantes sur les systèmes d'exploitation et sur le
réseau dont disponibles (Ping flood, etc.) qui sont même disponibles en kits
(scripts pour le clients, programmes de dénis de service complémentaires).
Le système même de l'IRC permettait aussi de faire déconnecter du serveur un
client contre son gré. Il suffisait de lui envoyer beaucoup de requêtes CTCP
en peu de temps. Le client de la victime répondait aussi rapidement, mais de
ce fait envoyait trop de données et se voyait déconnecté du serveur (le
fameux message de quit ``Excess flood''). Tout ceci est au passé car les
serveurs acceptent maintenant une charge plus importante et tous les clients
sont protégés basiquement contre ce type d'attaque. De plus, il n'est pas
facile d'envoyer un grand nombre de requêtes CTCP sans être victime soi-même
d'un "excess flood". Dans le même registre, envoyer des dizaines de demandes
de chat DCC vers un client qui utilise un mIRC configuré par défaut peut
viter lui ennuyer l'existence, enfin, lui remplir sa fenêtre et lui obliger
à cliquer 50 fois sur une petite croix.
4. Portes dérobées ("Backdoors")
Les clients peuvent être victimes de portes dérobées. Celles-ci peuvent être
volontaires par leur auteur (euh ... quel client utilisez-vous ?) ou plus
sérieusement téléchargés sur des sites non-officiels. Se retrouver avec une
telle porte dans son client est de plus très facile après coup si on n'y fait
pas attention : Par exemple, un gentil garçon vous envoie un petit fichier
par DCC que vous vous empressez d'exécuter car il fait de jolis choses... et
c'était un script ouvrant une porte. Joignez des canaux monstrueusement
fréquentés comme #france, #italia, etc. et on s'en voit proposer plusieurs
rien qu'en arrivant (ils font ça au moyens de scripts automatiques).
5. L'IRC-War
Un channel avec beaucoup d'utilisateurs, ses opérateurs, ses robots
constitue souvent un défi quand il s'agit de vouloir devenir le chef.
Des petits pirates tentent alors un "take-over". Ils y arrivent en général
difficilement car les robots savent bien gérer cela. Cela peut consister à
être très gentil et à gagner l'op, puis de faire un mass-deop sur tout le
monde. Un robot sera plus rapide et puniera sévèrement fautif, en général.
Il est possible également de tirer parti des "splits" ou de faire des dénis
de service sur les robots et les opérateurs pour pouvoir perturber tranquil-
lement les discussions.
6. Chercher à se protéger
Bien se protéger sur l'IRC commence déjà par ne pas chercher les ennuis, et
ne pas accepter les fichiers qu'on vous envoie, ce sont des scripts, des
virus ou des chevaux de Troie pour Windows. Ne pas utiliser mIRC, même s'il
est très pratique est également un bon point. En effet, c'est le client le
plus utilisé, de loin, et donc le plus sujet aux attaques.
On peut également utiliser un ``bouncer'', c'est à dire un simple relais qui
se connecte au serveur et auquel on connecte son client. Rien d'exceptionnel
mais il faut une autre machine. Il est possible aussi d'utiliser un shell
chez un fournisseur de shells Unix, mais ça sera de la console (ircii...)
Il est possible de vous mettre aussi en +i (invisible), vous n'apparaîtrez
pas dans les recherches de type /who. Mais cela ne résoud pas tout.
La seule solution valable est d'être à jour et d'utiliser un système
d'exploitation que vous connaissez bien et qui est sécurisé.
des questions ? tips@hsc.fr
|