Muhstik, ou comment tester la securité de votre reseau irc.
* Ce tutorial est destiné aux utilisateurs de Windows(c)
Muhstik est un logiciel pratique pour les proprietaires de reseau irc, afin de tester la securité de ce dernier. Il permet de mener des attaques de clones. Cet outil va donc pouvoir vous permettre de tester la resistance de votre reseau, ou la capacité de vos IRCops a faire face a ce genre de problemes. Bien sur, ce type de tests ne doit etre effectué QUE sur votre propre reseau... Il est interdit par la loi de faire des attaques de clones, en l'utilisant, vous engagez votre responsabilité et devrez en assumer les consequences si vous en abusez. Je decline toute responsabilité quand a l'usage que vous en ferez. Ce logiciel et ce tutorial sont des outils destinés à permettre à des proprietaires de reseau IRC de prendre conscience des risques que peuvent representer les attaques de clones, et a leur montrer ou sont les faiblesse pour pouvoir en tenir compte dans la configuration de leur serveur.
1 Cygwin
1.1 Pourquoi Cygwin ?
Cygwin permet à des programmes écrits pour Linux d'être compilés et exécutés sous Windows. Ainsi muhstik requiert la librairie cygwin1.dll de Cygwin pour fonctionner sous Windows.
De plus, muhstik vient avec une série de scripts nécessitant le shell Bash. Ce dernier est disponible pour Windows via la distribution Cygwin.
1.2 Installation
Lancez le fichier d'installation récupérable à l'URL suivante : http://www.cygwin.com/setup.exe.
Choose A Download Source : sélectionnez l'option "Install from Internet".
Select Root Install Directory : spécifiez le répertoire où Cygwin sera installé. Laissez les autres options à leur valeur par défaut.
-
Select Local Package Directory : spécifiez le répertoire où les paquets Cygwin seront téléchargés.
Remarque : si jamais vous deviez réinstaller Cygwin, il peut être utile de le faire à partir de ce répertoire plutôt que de télécharger à nouveau tous les paquets. Dans ce cas, sélectionnez l'option "Install from Local Directory" à l'étape b.
Select Your Internet Connection : rien à changer normalement.
Choose A Download Site : sélectionnez un serveur FTP proche de chez vous. La liste des paquets installables va ensuite s'afficher.
-
Select Packages : dans la rubrique "Shells", vérifiez que bash est sélectionné (normalement il l'est par défaut).

Cliquer sur Suivant commencera le téléchargement, suivi directement par l'installation.
Remarque 1 : chez moi (ligne à 4 Mbps down), l'opération a pris une bonne minute pour le téléchargement et une petite autre pour l'installation des fichiers.
Remarque 2 : si une erreur de téléchargement est signalée, retournez à l'étape 6 et choisissez dans la joie et la bonne humeur un autre serveur FTP. Sachez toutefois que ftp://ftp-stud.fht-esslingen.de m'a bien réussi.
2 muhstik
2.1 Installation
-
Avant de commencer, lancez d'abord un shell avec Cygwin afin de créer votre répertoire utilisateur. C'est là que vous installerez muhstik.
Normalement l'installateur de Cygwin aura créé une entrée dans le Menu Démarrer : Programmes -> Cygwin -> Cygwin Bash Shell. Cliquez dessus pour lancer le shell. S'il n'y a rien dans le Menu Démarrer, lancez simplement le script
cygwin.batprésent dans le répertoire de Cygwin.En supposant que vous ayez installé Cygwin sur
C:\et que votre login soit "tartempion", cela créera le répertoireC:\cygwin\home\tartempion\. -
Récupérez l'archive
muhstik-<version>-cygwin.zipsur http://sourceforge.net/projects/muhstik/ et décompressez-la dans votre répertoire utilisateur Cygwin. Vous devriez aboutir à une arborescence de fichiers semblable à ceci :Le projet muhstik a ete supprimé de Sourceforge, peut-etre parce qu'il n'est plus maintenu, toutefois vous pouvez quand meme trouver les sources de ce logiciel ici : Muhstik pour Linux Muhstik pour Windows Attention toutefois, il m'a ete signalé pour la version windows qu'il contiendrait un virus... Je ne sais pas si c'est le logiciel lui meme qui est reconnu comme tel, mais n'ayant plus windows (Linux est tellement mieux...), je n'ai pas pu verifier personnellement. J'ai donc demandé a deux personnes, une sous XP avec Antivir qui a detecté un virus, et l'autre sous vista avec kapersky, qui n'a rien detecté. Le second a changé le format d'archive en ZIP (C'etait un RAR a l'origine). Normalement, il n'y a aucun soucis, toutefois vous le telechargez a vos risques et perils, je vous ai prévenu et je decline toute responsabilité en cas de probleme. Si vous avez plus d'information a ce sujet, n'hesitez pas a nous en faire part dans les commentaires.

2.2 Configuration
Avant de pouvoir utiliser muhstik, il faut d'abord établir les listes de proxys à utiliser et la liste des serveurs IRC cibles. Tous ces fichiers devront se trouver dans le répertoire de muhstik.
2.2.1 Proxys
Créez un fichier texte par type de proxy utilisé : proxys.txt, socks4.txt, socks5.txt, ... Placez-y ensuite les adresses des proxys à raison d'une ligne par proxy, chaque ligne étant de la forme <hote>:<port>. Exemple :
socks4.txt :
85.130.149.222:22157 62.204.144.207:1080 82.224.83.56:52840
proxys.txt :
128.134.184.92:8080 194.165.130.93:8080 201.44.216.23:6588
2.2.2 Serveurs IRC
Les serveurs IRC sont définis dans un fichier servers.txt. Chaque ligne du fichier sera de la forme <hote>:<port> <nb_max_de_clones>. Exemple :
irc.mon_serveur.com:6667 10 irc.mon-autre-serveur.com:6667 50
2.2.3 Fichier de configuration
Ouvrez muhstik.conf avec un éditeur et décommentez les lignes (en enlevant les dièses au début) correspondant aux types de proxy que vous allez utiliser.
Pour chaque type de proxy, spécifiez la liste de proxys à utiliser, la liste des serveurs IRC auxquels vont se connecter ces proxys et le nom du fichier dans lequel seront sauvegardés les "bons" proxys (ceux qui ont permis de créer des clones). Exemple :
# Uncomment the following lines if you wish to use SOCKS4 sock4_list socks4.txt sock4_server_list servers.txt sock4_save good_socks4.txt # Uncomment the following lines if you wish to use SOCKS5 sock5_list socks5.txt sock5_server_list servers.txt sock5_save good_socks5.txt # Uncomment the following lines if you wish to use PROXYS proxy_list proxys.txt proxy_server_list servers.txt proxy_save good_proxys.txt
Parmi d'autres paramètres utiles :
- clones <nombre> : permet plusieurs connexions à partir d'un même proxy ;
- chan <canal> : permet de spécifier un canal rejoint par les clones à leur connexion.
Encore beaucoup d'autres choses sont paramétrables. RTFM
2.3 Exécution
-
Lancez le shell de Cygwin si ce n'est déjà fait.
-
Lancez muhstik via les commandes
cd muhstik ./muhstik muhstik.conf

Tapez
helpou?pour obtenir la liste des commandes disponibles.
2.4 Utilisation des scripts
muhstik fournit des scripts shell permettant d'effectuer des opérations à intervalles réguliers : requêtes CTCP, messages, changer le nick des clones, etc. Ces scripts se trouvent dans le sous-répertoire script de muhstik.
2.4.1 Configuration
Un script s'exécute séparément de muhstik, dans un autre shell. Pour que muhstik reçoive les commandes du script, il faut le configurer en mode serveur, les connexions étant acceptées sur base d'un mot de passe.
-
Décommentez le paramètre link_pass à la fin du fichier
muhstik.confet choisissez un mot de passe. Exemple :################################################################### # [ADVANCED] LINK SETTINGS # ################################################################### # Password to authenticate muhstiks (required) link_pass 1mot2passe # To set the port of the link server # [default=7777] #link_port 7777
-
Editez le fichier
script\common.shet mettez le même mot de passe. Exemple :###################################### # hostname of the server HOST=localhost # port of the server PORT=7777 # The botnet password PASS="1mot2passe"
2.4.2 Exécution
Je montre ici comment utiliser le script msg.sh qui permet d'envoyer un message à un utilisateur ou un canal de manière périodique.
-
Lancez d'abord muhstik dans un shell.
Remarque : votre pare-feu vous demandera peut-être de permettre à
muhstik.exed'écouter sur le port 7777. -
Ouvrez un autre shell et entrez-y les commandes suivantes :
cd muhstik/script ./msg.sh
Remarque : de nouveau, votre pare-feu pourrait vous avertir d'une tentative de connexion de
telnet.exevers 127.0.0.1:7777. La raison est que le scriptmsg.shutilise le programme telnet pour envoyer ses commandes à muhstik.Si tout se passe bien, "connected" est affiché. Rentrez alors les paramètres du script.

Arrêtez le script en appuyant sur Ctrl-C.
2.4.3 Un script à ajouter
Voilà un autre script qui permettra d'écrire des lignes aléatoirement à partir d'un fichier texte
Pour cela il suffit de copier ce qui suit dans un nouveau fichier, de l'enregistrer avec n'importe quel nom dans le répertoire script/ et d'y mettre un fichier texte qui doit obligatoirement s'appeler "lignes.txt" (ou alors faut modifier le script)Ce script marche de la façon suivante ./script.sh NOMBRE_DE_LIGNES_ALEATOIRES NOM_DU_SALON_SANS_#_DEVANT
#!/bin/sh #./script.sh <NOMBRE_DE_LIGNES_RANDOMS> <SALON_SANS_#> # Nom NAME="[msg]" . ./common.sh function readalea() { nb=$(cat lignes.txt | wc -l) if [ $1 -le $nb ] then a=1 while [ $a -le $1 ] do i=$[($RANDOM % nb) + 1] ln=$(head -n $i lignes.txt | tail -n 1) echo "privmsg #$2 :$ln" a=$(($a+1)) done fi } msg () { init while true do readalea "$1" "$2" xsleep 4 done } msg "$1" "$2" | telnet $HOST $PORT
Last modified : Mon Jul 3 15:14:37 CEST 2006

4 commentaires:
Sa a l'air bien pour tester notre serveur mais sa marche pas...
Pas tout jeune ce Muhstik =)
Les personnes qui l'ont dev avaient déjà pondu un autre cloner bien plus basique.
Mais ... bonne nouvelle : ils ont lancé un nouveau forum pour participer à l'évolution de la prochaine generation de cloners.
Google et une paire de mains suffira pour trouver ;o)
Quel dommage, prendre la peine de dire tout ca et ne meme pas donner le lien :s
Enregistrer un commentaire