Voici un exemple de hack très particulier qui je suis sûr
va vous plaire. Je vous recommande de lire d'abord l'article précédent
car les deux articles appartiennent à une seule et même histoire.
Afin de savoir si les autres logiciels de chez Kiriasse utilisaient des
protections similaires, je me suis attaqué à Mini Ftp 4.7
(ya en grande partie du cracking dans l'article mais en fin de compte
on hack :). Voici la description donnée par le créateur
:
Version de démonstration : cette version de Mini FTP est
gratuite et complète. Elle permet à titre d'exemple de télécharger,
après saisie d'un mot de passe, les programmes d'installation de
tous les logiciels présentés sur le site Kiriasse Logiciels.
Version personnalisée : sur ce modèle, je vous propose
de développer pour vous un ou plusieurs MiniFTP personnalisés
(adaptés à votre cas personnel) qui permettront à
toute personne à qui vous aurez communiqué un mot de passe
de télécharger des fichiers de votre choix, placés
par vos soins sur un serveur FTP, à une adresse connue de vous
seul.
Et il rajoute les infos suivantes :
La version de démonstration permet, à titre d'exemple, de
télécharger les fichiers zip contenant les programmes d'installation
de mes logiciels et le mot de passe à saisir (qui est incorporé
dans un certain fichier F placé sur Internet) est "kiriasse"
: pour cette version de démonstration, l'emplacement de ces fichiers
sur Internet (et le mot de passe) ne sont donc évidemment un secret
pour personne.
Pour imaginer ce que peut être une version personnalisée,
il faut donc (en pensée) « faire comme si » l'on ignorait
l'emplacement des fichiers à télécharger. La question
à se poser est alors : « Peut-on, sans connaître aucun
mot de passe, accéder au téléchargement des fichiers
? ». Je prétends que la réponse est NON, pour 99%
des personnes qui utilisent un ordinateur. Mais je ne suis pas naïf
et je n'ignore pas que mon logiciel (qui ne coûte que 15,24 €)
n'assure pas une sécurité absolue : si vous êtes l'un
des responsables des Renseignements Généraux ou haut fonctionnaire
au ministère de la Défense, je ne vous conseille donc pas,
dans l'exercice de vos fonctions, d'utiliser MiniFTP !
A noter aussi que je place, dans les répertoires concernés
du serveur FTP, un fichier index.html, ce qui a pour effet d'interdire
l'affichage, par un navigateur WEB, de la liste des fichiers contenus
dans ces répertoires.
Donc le premier truc que je me suis dit c'est qu'il fallait que je récupère
l'emplacement de ce fichier F.
On procède comme d'habitude : lancement du logiciel et recherche
de la phrase qui va nous servir de point de repère. Une fois lancé
on choisit un fichier à télécharger parmis ceux proposés
(j'ai pris kiriasse.hlp). On clique sur télécharger et une
boite de dialogue apparait disant : "Veuillez taper votre code d'accès
(8 caractères). Pour cette version de démonstration, le
code d'accès est le mot "kiriasse" (en lettres minuscules)".
Cette fois on passe direct sous smartcheck (MiniFtp est codé en
VB5 aussi). Et on dévellope le dernier "_Click" que l'on
peut dévelloper. On tombe tout de suite sur :
InputBox("Veuillez taper..."); qui récupère le
code, en l'occurence kiriasse.
Len("kiriasse"); qui renvoie 8 (vérification simple).
Puis après ya un InternetOpenA et un InternetOpenUrlA tous les
deux dévellopables. On trouve rien de passionant dans le premier.
En revanche le second a pour argument "http://www.kiriasse.fr/zip/kiriasse.kir".
Alors la on ferme tout, on étaint son PC et on va se coucher. NON
!! Je déconne !!! Hacking rules !!!
On tape l'url dans son navigateur préféré (et plein
de bug s'il sagit de Internet Explorer). Et il nous affiche :
azertyui000208
azertyui000208
azertyui000208
azkiriasse0208
azertyui000208
azertyui000208 (j'ai pas tous mis car les azertyui000208 yen a des tas).
Le logiciel fait un tas de truc pour se connecter et le débuggage
est pas très passionant. Le prog récupère votre nom
de machine (huh?), votre marque de modem, vos préférences
internet... Il ne s'agit pas d'une fonction du programmeur mais des API
VB qui établissent la connexion.
Au bout d'un loooooong moment, il fait un InternetReadFile.
Je n'ai pas trouvé la routine de vérification mais quoi
qu'il en soit on a un "Le code d'accès que vous avez saisi
a été reconnu."
Bon qu'est-ce qu'il va faire maintenant que le code est validé
? Logiquement il va se connecter au serveur FTP.
Au bout d'un moment on tombe sur des calculs sur des chaines de caractères.
Voici les chaines qui nous intéressent (là encore j'ai du
pas mal fouiller) :
220
USER jmariotte
331
PASS xahopowy
230
TYPE I
200
PORT
RETR /web/zip/kiriasse.hlp
Ca m'a tout l'air d'une communication FTP (voir RFC 959). Mais on n'a
pas vu quelle était l'adresse du serveur :(
En fait après avoir cherché sans succès au dessus
je l'ai trouvé en dessous. Le prog ne faisait que mettre les strings
en mémoire.
And now Ladies & Gentlemen the FTP Server is ... ftp.kiriasse.fr
A partir de là j'ai laissé tomber le débugage et
je me suis connecté au serveur (n'oubliez pas d'utilisez un serveur
SOCKS pour être anonyme). En explorant j'ai fait une grande découverte.
Mais j'aurais pu le deviner avant.
Vous vous souvenez l'adresse du fichier F : www.kiriasse.fr/zip/kiriasse.kir
? Ya donc un rep "zip" dans la racine web !
Vous vous souvenez de la commande pour obtenir le fichier kiriasse.hlp
? RETR /web/zip/kiriasse.hlp
C'est marrant dans les deux cas ya un répertoire "zip"
dis donc !!
On sait quoi ? On sait que zip est dans la racine web et on sait que au
dessus de zip ya le rep "web" accessible par FTP !!! LoL !!!
Ben oui le site web est entièrement accessible par le ftp. Ca permet
à l'admin d'uploader ses pages. Perso je considère cela
comme une faille de sécurité mais si t'es hébergé
par un truc du style Amen.fr (ce qui est le cas) tu peux pas faire autrement.
Quoi qu'il en soit on a le login, le pass, l'adrese du ftp et l'emplacement
de la racine web. Comme dirait Bigard ca c'est le meilleur moment. Quand
tu l'as devant toi et que t'es près à tirer, parce qu'après
tout les grands défaceurs te le diront, c'est juste de l'informatique
générale.
Donc je me suis déconnecté histoire de préparer mon
défacage. J'ai créé une page web avec une image.
Puis j'ai uploadé l'image, la page web et le tutorial sur FTP Rapide
sur le serveur FTP dans la racine web. Au final : une belle page web avec
un lien vers le tut de FTP Rapide & son keygen se trouvant sur le
serveur même de kiriasse (un sacré pied de nez). Et l'image
que voici :