Copy Link
Add to Bookmark
Report
Chaos Digest Volume 01 Numero 55
Chaos Digest Jeudi 17 Juin 1993 Volume 1 : Numero 55
ISSN 1244-4901
Editeur: Jean-Bernard Condat (jbcondat@attmail.com)
Archiviste: Yves-Marie Crabbe
Co-Redacteurs: Arnaud Bigare, Stephane Briere
TABLE DES MATIERES, #1.55 (17 Juin 1993)
File 1--_GenVirus_, premier geneur de virus francais [#2] (manuel)
Chaos Digest is a weekly electronic journal/newsletter. Subscriptions are
available at no cost by sending a message to:
linux-activists-request@niksula.hut.fi
with a mail header or first line containing the following informations:
X-Mn-Admin: join CHAOS_DIGEST
The editors may be contacted by voice (+33 1 47874083), fax (+33 1 47877070)
or S-mail at: Jean-Bernard Condat, Chaos Computer Club France [CCCF], B.P.
155, 93404 St-Ouen Cedex, France. He is a member of the EICAR and EFF (#1299)
groups.
Issues of ChaosD can also be found from the ComNet in Luxembourg BBS (+352)
466893. Back issues of ChaosD can be found on the Internet as part of the
Computer underground Digest archives. They're accessible using anonymous FTP:
* kragar.eff.org [192.88.144.4] in /pub/cud/chaos
* uglymouse.css.itd.umich.edu [141.211.182.53] in /pub/CuD/chaos
* halcyon.com [192.135.191.2] in /pub/mirror/cud/chaos
* ftp.cic.net [192.131.22.2] in /e-serials/alphabetic/c/chaos-digest
* cs.ubc.ca [137.82.8.5] in /mirror3/EFF/cud/chaos
* ftp.ee.mu.oz.au [128.250.77.2] in /pub/text/CuD/chaos
* nic.funet.fi [128.214.6.100] in /pub/doc/cud/chaos
* orchid.csv.warwick.ac.uk [137.205.192.5] in /pub/cud/chaos
CHAOS DIGEST is an open forum dedicated to sharing French information among
computerists and to the presentation and debate of diverse views. ChaosD
material may be reprinted for non-profit as long as the source is cited.
Some authors do copyright their material, and they should be contacted for
reprint permission. Readers are encouraged to submit reasoned articles in
French, English or German languages relating to computer culture and
telecommunications. Articles are preferred to short responses. Please
avoid quoting previous posts unless absolutely necessary.
DISCLAIMER: The views represented herein do not necessarily represent
the views of the moderators. Chaos Digest contributors
assume all responsibility for ensuring that articles
submitted do not violate copyright protections.
----------------------------------------------------------------------
Date: THU JUN 17 15:15:40 -0400 1993
From: Jacques.Struss@email.teaser.com (Jacques Struss )
Subject: File 1--_GenVirus_, premier geneur de virus francais [#2] (manuel)
* ECRITURE REUSSIE: le programme a constate en lisant le secteur concerne
qu'il a bien ete modifie. Aucune protection d'ecriture n'a joue.
* ECRITURE REUSSIE MAIS SECTEUR DETRUIT: idem que ci-dessus mais le
programme est incapable de remettre le secteur dans son etat
initial. Si votre logiciel de protection en est la cause,
(faites l'essai avec et sans) changez en, c'est plus sur!
* FICHIER NON TROUVE: le programme n'a pu trouver les fichiers caches ou
l'interpreteur de commande COMMAND.COM. Il s'agit certainement
d'une disquette non-systeme. Ces fichiers doivent se trouver
dans le repertoire principal.
* DISQUE PROTEGE CONTRE L'ECRITURE: le petit autocollant de protection
est encore le moyen de protection le plus sur contre
l'ecriture!
* LECTEUR NON PRET (PORTE OUVERTE): il n'y a pas de disquette dans le
lecteur ou la porte est restee ouverte.
* SECTEUR NON TROUVE: provient d'une erreur de calcul surement due a un
secteur BOOT incoherent ou a un formatage special.
* ERREUR D'ECRITURE: erreur du controleur de disque sur operation
d'ecriture.
* ERREUR DE LECTURE: erreur du controleur de disque sur operation de
lecture. Mauvaise disquette ou secteur detruit.
* ERREUR GENERALE (DISQUE NON FORMATE): le disque est vierge.
* INSTALLATION DU DRIVER IMPOSSIBLE: aucun point d'entree coherent n'a pu
etre trouve dans la ROM du BIOS ou celle du controleur de
disque / disque dur.
Si c'est votre cas et si vous disposez d'un XT, il n'est
probablement pas compatible a 100% avec le standard. S'il s'agit
d'un AT, son BIOS doit egalement s'en ecarter quelque peut.
ATTENTION: cela ne signifie nullement que vous etes a l'abri de ce
type d'attaque, il suffit simplement de s'adapter a votre type
de machine et d'en concevoir un virus specifique !!!
Il est de toute facon impossible de tenir compte de toutes les
versions des BIOS de la planete pour ce test. Mais sachez
qu'une simple recopie sur disquette de votre BIOS permettra
des lors a un programmeur mal intentionne la conception d'un
driver adapte a votre machine.
* SECTEUR BOOT INCOHERENT: le secteur BOOT presente des anomalies en ce
qui concerne le nombre d'octets par secteur, le nombre de FAT,
le nombre de secteurs par piste, de secteurs par cluster, de
secteurs reserves, etc.
DOCUMENTATION de GENVIRUS V2.00 Page : 12
--
L'OPTION RETOUR
---------------
Cette option referme la fenetre courante et retourne aux choix precedents.
L'appui sur la touche <ESC> effectue la meme action.
LE MENU GENERATEUR
==================
ATTENTION: Pour des raisons de securite, ce menu est volontairement bride
dans la version SHAREWARE de GENVIRUS (voir le menu ENREGISTREMENT, option
SHAREWARE et IDENTIFICATION). Toutefois, les differentes rubriques peuvent
etre consultees librement, seule la partie generation est desactivee.
Le menu GENERATEUR de GENVIRUS est capable de creer des modules
entierement parametrables par l'utilisateur en agissant sur:
- l'action du module;
- la strategie du module;
- le declenchement du module;
- le camouflage du module;
- la reproduction du module;
- la fabrication du module.
Le programme affiche l'ecran suivant:
+-------------------------------------------------------------------+
| Fin Test +------ GENERATEUR ------+ Enregistrement |
+--------------------| |---------------------+
| Avertissement |
| acTion du module |
| Strategie du module |
| Declenchement du module|
| Camouflage du module |
| reProduction du module |
| Fabrication |
| Retour |
+------------------------+
IMPORTANT: pour toutes les actions disque suivantes, la reaction du
module NE PORTERA QUE sur le drive contenant, au moment du lancement, le
programme infeste et ceci, meme si le drive courant ou actuel n'est plus
identique. Par exemple, si le programme contamine se trouve dans le
lecteur A:, il est donc lance a partir de celui-ci. Lors du declenchement,
l'utilisateur travaille sur le disque C:. Ce sera alors le lecteur A: qui
se mettra en route et qui sera la cible des agissements du module.
EXPLICATIONS DES RUBRIQUES:
---------------------------
Pour toutes les rubriques suivantes, la selection ou deselection d'un
choix se fait par appui sur <ENTER>. Certaines options sont exclusives et
dans ce cas, leur selection efface automatiquement celles qui seraient
incompatibles.
DOCUMENTATION de GENVIRUS V2.00 Page : 13
--
----> AVERTISSEMENT
-------------
Affiche un texte d'avertissement.
----> ACTION DU MODULE
----------------
Permet de choisir le type d'action que va effectuer le module lors de son
declenchement.
-----------------------------------------------------------------------+
Test +----- GENERATEUR ------+ Enregistrement Aide |
--------------| |--------------------------------+
| Avertissement |
| acTion du mo+----------- ACTION du MODULE -----------+
| Strategie du| |
| Declenchemen| Blocage clavier |
| Camouflage d| Blocage controleur de disque |
| reProduction| Defaut controleur video |
| Fabrication | Defaut de memoire |
| Retour | Effacement d'un fichier |
+-------------| Effacement des fichiers .EXE et .COM |
| Effacement de tous les fichiers |
| Effacement d'une piste |
| Effacement total du disque |
| Destruction de la table FAT |
| Destruction du repertoire |
| Destruction du secteur BOOT |
| Retour |
+----------------------------------------+
* BLOCAGE CLAVIER: provoque le detournement de l'interruption clavier
INT 09 directement sur l'INT 11 (determination de la configuration du PC).
Aucun traitement n'etant effectue, les appuis touches restent sans effet.
* BLOCAGE CONTROLEUR DE DISQUE: provoque le detournement de
l'interruption disque INT 13 directement sur l'INT 11 (determination de la
configuration du PC). Aucun traitement n'etant effectue, les acces au
disque en lecture ou en ecriture restent sans effet.
* DEFAUT CONTROLEUR VIDEO: provoque le detournement de l'interruption
video INT 10 directement sur l'INT 11 (determination de la configuration
du PC). Aucun traitement n'etant effectue, les acces a la video par le
BIOS ou le DOS ne se font plus. Dans ces conditions, un DIR au clavier
allumera la LED d'acces disque, mais aucun affichage ne se produira. Par
contre, un programme ecrivant directement en RAM video ne sera pas
perturbe.
* DEFAUT DE MEMOIRE: provoque l'affichage du message suivant
Erreur de parite memoire
Systeme bloque.
et procede au blocage du CPU. Faire un RESET par <CTRL><ALT><DEL>.
DOCUMENTATION de GENVIRUS V2.00 Page : 14
--
* EFFACEMENT D'UN FICHIER: le programme demande le nom du fichier a
effacer ainsi que son extension MAIS sans le chemin. Le moment venu, le
module effectuera une recherche de fichier UNIQUEMENT sur le repertoire
principal du disque (ROOT). Dans le cas ou le fichier serait absent, rien
ne se passera. Les caracteres 'JOCKERS' * ou ? ne sont pas autorises. Si
le nom du fichier a supprimer correspond a un sous-repertoire, il sera
efface ainsi que les programmes contenus dans celui-ci. L'effacement d'un
fichier s'effectue en substituant la premiere lettre de son nom par le
code 0E5h.
* EFFACEMENT DES FICHIERS .EXE ET .COM: au declenchement du module, tous
les fichiers programmes .EXE et .COM presents dans le repertoire principal
(ROOT) seront supprimes (y compris COMMAND.COM). Seront egalement effaces
les fichiers caches, systemes ou a lecture seule. L'effacement d'un
fichier s'effectue en substituant la premiere lettre de son nom par le
code 0E5h.
* EFFACEMENT DE TOUS LES FICHIERS: au declenchement du module, tous les
fichiers presents dans le repertoire principal (ROOT) seront supprimes
(ceci concerne les programmes, les fichiers de donnees et les
repertoires). Seront egalement effaces les fichiers caches, systemes ou a
lecture seule. L'effacement d'un fichier s'effectue en substituant la
premiere lettre de son nom par le code 0E5h.
* EFFACEMENT D'UNE PISTE: effectue l'effacement de la piste situe a 75%
de la capacite du support. Tous les secteurs de la piste sont forces avec
des zeros.
* EFFACEMENT TOTAL DU DISQUE: au declenchement du module, tous les
secteurs du disque sont forces avec des zeros.
* DESTRUCTION DE LA TABLE FAT: au declenchement du module, tous les
octets constituant le premier secteur de la FAT (512 octets) sont inverses
deux a deux (le premier octet devient le second, le deuxieme le premier).
* DESTRUCTION DU REPERTOIRE: au declenchement du module, tous les octets
constituant le premier secteur du repertoire principal ROOT (512 octets)
sont inverses deux a deux (le premier octet devient le second, le deuxieme
le premier).
* DESTRUCTION DU SECTEUR BOOT: au declenchement du module, tous les
octets constituant le premier secteur du BOOT (512 octets) sont inverses
deux a deux (le premier octet devient le second, le deuxieme le premier).
* RETOUR: Cette option referme la fenetre courante et retourne au choix
precedent. L'appui sur la touche <ESC> effectue la meme action.
DOCUMENTATION de GENVIRUS V2.00 Page : 15
--
----> STRATEGIE DU MODULE
-------------------
-------------------------------------------------------------------+
Test +----- GENERATEUR ------+ Enregistrement Aide |
----------| |--------------------------------+
| Avertissement |
| acTion du module |
| Strategie du module |
| Declenchement+------- STRATEGIE du MODULE -------+
| Camouflage du| |
| reProduction | infiltration par DOS (INT 21) |
| Fabrication | infiltration par BIOS (INT 13) |
| Retour | infiltration par driver Special |
+--------------| Retour |
+-----------------------------------+
* INFILTRATION PAR DOS (INT 21): toutes les actions disques utiliseront
les services de l'interruption DOS INT 21 pour acceder aux secteurs ou aux
fichiers du support concerne. Le choix de cette option aura egalement une
incidence sur le declenchement du module pour une date ou une heure
donnee. L'apparition de cet evenement ne suffira pas a autoriser le
declenchement de la partie action du module. En effet, il faudra egalement
que le DOS ne soit pas deja occupe (verification de l'activite du DOS par
consultation du flag 'INDOS'). Cela veut dire que le module ne se
declenchera pas tout seul a l'invite du DOS mais dans un programme ou
immediatement apres un acces disque.
Il faut donc noter qu'un eventuel acces malhonnete au disque sera tres
difficile a remarquer puisque la LED du drive concerne indiquera deja une
activite en cours. Mais par ailleurs, comme ces actions utilisent
l'interruption 21 du DOS, elles seront facilement controlables par
n'importe quel programme de protection.
* INFILTRATION PAR BIOS (INT 13): toutes les actions disques utiliseront
les services de l'interruption BIOS INT 13 pour acceder aux secteurs ou
aux fichiers du support concerne. Comme pour l'interruption 21, le choix
de cette option aura une incidence sur le declenchement du module pour une
date ou une heure donnee. L'apparition de cet evenement suffira
generalement pour declencher la partie action du module qui aura donc lieu
au beau milieu d'un programme ou a l'invite du DOS (le flag 'INDOS' n'est
pas teste). Toutefois, certains programmes retardent ou bloquent ce
declenchement, ce dernier aura alors lieu des la sortie du programme
concerne.
En resume, pour les infiltrations par l'interruption 13, on remarque une
moins grande discretion qu'au declenchement par l'INT 21 et comme ces
dernieres, elles seront facilement controlables par un quelconque
programme interceptant cette interruption.
DOCUMENTATION de GENVIRUS V2.00 Page : 16
--
* INFILTRATION PAR DRIVER SPECIAL: toutes les actions disque utiliseront
les services de l'interruption BIOS inscrite en ROM pour acceder aux
secteurs ou aux fichiers du support concerne. Le module va donc effectuer
une recherche dynamique du point d'entree des routines de gestion disque
soit dans la ROM du BIOS pour un lecteur de disque souple, soit dans la
ROM disque dur pour un disque fixe. Cette recherche est du type dynamique
car le point d'entree est fonction de la marque de votre BIOS ou de celle
du disque dur. Une verification de coherence est effectuee mais il se peut
que votre machine s'eloigne par trop du standard PC (la fameuse
compatibilite) et dans ce cas, le module restera a jamais inactif (lire
toutefois page 12 la rubrique concernant le message: INSTALLATION DU
DRIVER IMPOSSIBLE).
Les caracteristiques de ce type de driver sont donc identiques a celles
indiquees pour l'interruption 13 avec cependant une difference de taille,
l'impossibilite d'empecher l'acces au disque par un programme de
surveillance puisqu'aucun appel a une interruption situee dans la table
des vecteurs d'interruption en RAM n'est effectuee.
DANS CE CAS, AUCUNE PROTECTION LOGICIELLE N'EST PLUS A ESPERER !!!
* RETOUR: Cette option referme la fenetre courante et retourne aux choix
precedents. L'appui sur la touche <ESC> effectue la meme action.
----> DECLENCHEMENT DU MODULE
-----------------------
-------------------------------------------------------------------+
Test +----- GENERATEUR -------+ Enregistrement Aide |
---------| |--------------------------------+
| Avertissement |
| acTion du module |
| Strategie du module |
| Declenchement du module|
| Camouflage du +-- DECLENCHEMENT du MODULE ---+
| reProduction d| |
| Fabrication | des Execution du programme |
| Retour | pour une Date donnee |
+---------------| pour une Heure donnee |
| sur action Clavier |
| Retour |
+------------------------------+
* DES EXECUTION DU PROGRAMME: le module action devient actif des le
lancement du programme. Il n'effectuera plus aucune intervention par la
suite.
DOCUMENTATION de GENVIRUS V2.00 Page : 17
--
* POUR UNE DATE DONNEE: le programme ouvre une fenetre et vous demande
la date de declenchement souhaitee ainsi que le format de la reponse:
JJ/MM/AAAA (ne pas oublier les '/'). Si votre date est valide, l'option
est conservee. Dans le cas contraire, un message d'erreur apparait a
l'ecran et l'option declenchement par date est desactivee (les dates
programmables vont bien au-dela de l'esperance de vie des PC). Le
declenchement aura lieu le jour meme a 0H00 ou des le lancement du
programme si la date est depassee.
* POUR UNE HEURE DONNEE: le programme ouvre une fenetre et vous demande
l'heure de declenchement souhaitee ainsi que le format de la reponse:
HH:MM (attention au ':'). Si votre heure est valide, l'option est
conservee. Dans le cas contraire, un message d'erreur apparait a l'ecran
et l'option declenchement par heure est desactivee. Le declenchement aura
lieu journellement a la coincidence de l'horloge interne et de l'heure
programmee ou des le lancement du programme si l'horloge interne indique
une heure plus grande que celle memorisee et ce, jusqu'a minuit.
* SUR ACTION CLAVIER : le declenchement du noyau action aura lieu sur
appui de la barre espace a condition que le DOS ne soit pas en activite
(flag 'INDOS' a 0). Le declenchement n'aura donc pas lieu a l'invite du
DOS mais dans un programme ou dans une application lors d'une saisie au
clavier. Pour plus de details, voir la rubrique INFILTRATION PAR DOS
(INT 21).
* RETOUR: Cette option referme la fenetre courante et retourne aux choix
precedents. L'appui sur la touche <ESC> effectue la meme action.
----> CAMOUFLAGE DU MODULE
--------------------
-------------------------------------------------------------------+
Test +------ GENERATEUR ------+ Enregistrement Aide |
---------| |--------------------------------+
| Avertissement |
| acTion du module |
| Strategie du module |
| Declenchement du module|
| Camouflage du module |
| reProd+------------- CAMOUFLAGE du MODULE --------------+
| Fabrib| |
| Retour| module ecrasant le programme hote |
+-------| module s'inserant dans le programme hote |
| module code ecrasant le programme hote |
| module code s'inserant dans le programme hote |
| Retour |
+-------------------------------------------------+
DOCUMENTATION de GENVIRUS V2.00 Page : 18
--
* MODULE ECRASANT LE PROGRAMME HOTE: le module recouvre les codes du
programme hote par son propre code. Il garde le nom, les attributs, la
date de creation et la taille de celui-ci (a la condition que le programme
hote soit au moins aussi grand que le module genere sinon sa taille sera
augmentee d'autant). Le module ayant remplace le code du programme
original par le sien, ce programme ne fonctionnera plus et au lancement de
celui-ci vous retournerez directement au DOS, mais le noyau attente du
module sera desormais en place.
MODULE ECRASANT AVANT L'INFECTION :
-----------------------------------
+-------------------+
| MODULE |
+-------------------+
+-----------------------------------+
| PROGRAMME HOTE |
+-----------------------------------+
APRES L'INFECTION :
-------------------
+-------------------+---------------+
| MODULE | FIN PRG HOTE |
+-------------------+---------------+
* MODULE S'INSERANT DANS LE PROGRAMME HOTE: ce genre de module possede la
particularite de ne pas detruire le programme hote, celui-ci pourra
fonctionner normalement mais a la suite du module. Il gardera le nom, les
attributs, la date de creation mais sa taille augmentera. Il sera donc
detecte par les logiciels calculant les checksums des fichiers. Pour ce
faire, l'installation du module s'effectue en 2 temps:
- la portion de code du programme source correspondant a la taille du
module est transferee a la fin du programme source.
- le module s'insere ensuite au debut du programme source dans la
partie devenue inutile.
MODULE INSERANT AVANT L'INFECTION :
-----------------------------------
+-------------------+
| MODULE |
+-------------------+
+----------------------------------+
| PROGRAMME HOTE |
+----------------------------------+
PREMIER TEMPS DE L'INFECTION (transfert debut programme a sa fin):
----------------------------
+--------------+-------------------+
| FIN PRG HOTE | DEBUT PRG HOTE |
+--------------+-------------------+
DOCUMENTATION de GENVIRUS V2.00 Page : 19
--
DEUXIEME TEMPS DE L'INFECTION (mise en place du module) :
-----------------------------
+-------------------+--------------+-------------------+
| MODULE | FIN PRG HOTE | DEBUT PRG HOTE |
+-------------------+--------------+-------------------+
De cette maniere, la partie de code du module sera executee avant celle du
programme hote et donc des le lancement du programme contamine. Neanmoins,
avant de transferer le controle au programme original, le module doit
effectuer la remise en condition initiale dans le bon ordre des portions
de code de celui-ci.
* MODULE CODE ECRASANT LE PROGRAMME HOTE: les parties actives du module
sont codees. De cette facon, les utilitaires d'analyse de programme qui
recherchent les appels aux routines d'interruptions comprenant des
ecritures sur disque ne detecteront pas celles du module et vous
assureront de sa parfaite inocuite. Les autres caracteristiques sont
identiques a celles du module ecrasant le programme hote (voir plus haut).
* MODULE CODE S'INSERANT DANS LE PROGRAMME HOTE: les parties actives du
module sont codees. De cette facon, les utilitaires d'analyse de programme
qui recherchent les appels aux routines d'interruption comprenant des
ecritures sur disque ne detecteront pas celles du module et vous
assureront de sa parfaite inocuite. Les autres caracteristiques sont
identiques a celles du virus s'inserant dans le programme hote (voir plus
haut).
* RETOUR : Cette option referme la fenetre courante et retourne aux choix
precedents. L'appui sur la touche <ESC> effectue la meme action.
----> REPRODUCTION DU MODULE
----------------------
-------------------------------------------------------------------+
Test +------ GENERATEUR ------+ Enregistrement Aide |
---------| |--------------------------------+
| Avertissement |
| acTion du module |
| Strategie du module |
| Declenchement du module|
| Camouflage du module |
| reProduction du module |
| Fabrication +------- REPRODUCTION du MODULE --------+
| Retour | |
+---------------| le module ne doit Pas se reproduire |
| le module Doit se reproduire |
| Retour |
+---------------------------------------+
* LE MODULE NE DOIT PAS SE REPRODUIRE: le module restera dans le
programme que vous aurez designe et ne se reproduira pas.
DOCUMENTATION de GENVIRUS V2.00 Page : 20
--
* LE MODULE DOIT SE REPRODUIRE: le module comprendra une partie
reproduction qui se declenchera a chaque lancement du premier programme
contamine ou d'un des programmes qui aura lui-meme deja ete contamine. La
partie reproduction repond aux regles suivantes:
- seuls les programmes .COM seront contamines.
- le module ne se reproduira jamais dans COMMAND.COM ainsi que
dans les fichiers SYSTEMES, que ce soient des .SYS ou des
.COM. Par contre, il sera possible de contaminer manuellement
COMMAND.COM en indiquant son nom comme fichier devant
contenir le module dans le menu FABRICATION DU VIRUS.
- tous les autres programmes .COM qui ne seraient pas des
fichiers systemes seront contamines, meme s'ils possedent le
flag 'FICHIER CACHE' ou 'FICHIER A LECTURE SEULE'.
- un fichier ne pourra etre contamine qu'une seule fois.
- chaque lancement d'un programme contamine devant se multiplier
declenche la contamination d'UN SEUL autre programme. Aucune
autre tentative de reproduction ne sera effectuee durant le
deroulement du programme hote.
Pour cela, au moins un programme sain doit se trouver dans
le repertoire courant.
- la contamination ne s'etend qu'a l'interieur du repertoire
courant.
- s'il n'existe plus de fichier a contaminer, la reproduction
sera simplement ignoree.
- pour des raisons evidentes de securite, la reproduction des
modules n'utilise QUE les services de l'INT 21 afin de
rester facilement contenable et reperable par les logiciels
de detection. La non-contamination des fichiers systemes
repond aux memes imperatifs.
* RETOUR: Cette option referme la fenetre courante et retourne aux choix
precedents. L'appui sur la touche <ESC> effectue la meme action.
DOCUMENTATION de GENVIRUS V2.00 Page : 21
------------------------------
End of Chaos Digest #1.55
************************************