#1 Le 10/04/2013, à 15:00
- ViKToR69
Détection & Eradication des virus de boot
Bonjour,
En théorie, quand on formate ou efface une partition, les virus sont supprimés ... mais en pratique ??
Certains virus, même après un formatage continuent d'être actif comme les virus de boot se logeant dans le secteur de boot/MBR ...
Même les antivirus ne les détectent pas ! Ces virus peuvent se loger sur tout type de support bootable.
Comment faire pour les détecter et les éradiquer ?
Cordialement,
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#2 Le 10/04/2013, à 15:06
- cep
Re : Détection & Eradication des virus de boot
dd ou shred sur tout le disque ou au moins les premiers secteurs du disque et si besoin, avant de s'occuper du mbr, passer dd ou shred sur les débuts des partitions. Bien sûr il faudra réinstaller une table de partition ensuite et toutes les données seront perdues.
Hors ligne
#3 Le 10/04/2013, à 15:16
- Brunod
Re : Détection & Eradication des virus de boot
Évidemment, pas de formatage sous windows avec un os infecté, sinon tu peux recommencer non-stop...
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#4 Le 10/04/2013, à 15:38
- Nasman
Re : Détection & Eradication des virus de boot
On peut imaginer que ce problème peut exister sous Linux (virus qui "protégerait" l'écriture du mbr) mais grâce à la magie du LiveCD il est possible d'écrire sur le disque sans que l'OS installé (et peut être vérolé) n'ait son mot à dire.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#5 Le 11/04/2013, à 10:53
- ViKToR69
Re : Détection & Eradication des virus de boot
merci pour ces commentaires mais pouvez-vous être plus précis et développer vos réponses svp ...
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#6 Le 11/04/2013, à 11:08
- Brunod
Re : Détection & Eradication des virus de boot
linux livecd, formatage du disque -> certain qu'il n'y a plus rien.
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#7 Le 11/04/2013, à 11:15
- ViKToR69
Re : Détection & Eradication des virus de boot
linux livecd, formatage du disque -> certain qu'il n'y a plus rien.
le formatage ne modifie en rien le MBR seule la table des partitions primaires est modifiée
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#8 Le 11/04/2013, à 11:27
- Brunod
Re : Détection & Eradication des virus de boot
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#9 Le 11/04/2013, à 11:36
- moko138
Re : Détection & Eradication des virus de boot
dd a été mentionné plus haut : as-tu regardé sa doc ?
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#10 Le 11/04/2013, à 11:38
- voxpopuli
Re : Détection & Eradication des virus de boot
quand as un nouveau pc que tu estimes sain, fait une sauvegarde de la table des partitions via CloneZilla. Ca te sauvera la vie en cas de crash généralisé et non désiré et si tu te retrouve avec un windobe verolé et que tu ne peux le formater sans utiliser un crack dans lequel il y a 9 chances sur 10 qu'il y aille un virus.
Bien entendu si tu n'as pas envie/besoin de réavoir windows, rien ne t'empêche comme cité plus haut de passer par un cd-live (http://doc.ubuntu-fr.org/live_cd) de supprimer la table de partition puis de recréer une nouvelle, d'installer un nouveau MBR (automatique en installant ubuntu faut juste zieuter l'option "installer le secteur d'amorçage sur ..." et un nouvel OS.
J'ai entendu dire que des virus hight tech plus rare pouvaient aussi se cacher dans la ROM du bios (soucis réglable via flashage du bios (dangereux) voir en enlevant la pile sur la carte mère pendant 2 min => testé sur une vieille machine qui refusait de démarrer)
« Si la destinée ne nous aide pas, nous l'aiderons nous même à se réaliser ! »
$Wold.Action.Boot();
Hors ligne
#11 Le 11/04/2013, à 12:32
- Nasman
Re : Détection & Eradication des virus de boot
dd permet d'écrire directement sur le disque, indépendamment de la présense (ou non) d'une table des partitions et des systèmes de fichiers existants. C'est une fonction très dangereuse à utiliser si on ne sait pas exactement ce que l'on fait. En effet une erreur sur :
- le disque ou la partition à traiter
- l'emplacement précis de la zone modifiée
- le contenu de ce qui est écrit
induira un grand risque de perdre toutes tes données, des OS existants (et parfois la possibilité de le réinstaller).
Par contre dans le cas d'un effacement souhaité du contenu du disque (attention à débrancher les disques physiques qui pourraient par erreur être effacés) dd est approprié (ou mieux dcfldd qui affiche une barre de progression durant l'opération).
Et bien connaitre la différence entre disques et partitions, partitions principales, étendue, logiques...
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#12 Le 11/04/2013, à 14:32
- ViKToR69
Re : Détection & Eradication des virus de boot
dd ... C'est une fonction très dangereuse à utiliser si on ne sait pas exactement ce que l'on fait. En effet une erreur sur :
- le disque ou la partition à traiter
- l'emplacement précis de la zone modifiée
- le contenu de ce qui est écrit
induira un grand risque de perdre toutes tes données, des OS existants (et parfois la possibilité de le réinstaller).
ok mais mon but est de tout effacer, formater et repartir sur une base saine avec disons, "des disques durs touts neufs" !
Donc, je risque rien ... ?
la table de partition puis de recréer une nouvelle, d'installer un nouveau MBR (automatique en installant ubuntu faut juste zieuter l'option "installer le secteur d'amorçage sur ..." et un nouvel OS.
est-il possible de récréer une table de partition, un nouveau MBR manuellement ? ou c'est seulement les installateurs des OS qui peuvent réaliser ces opérations ?
J'ai entendu dire que des virus hight tech plus rare pouvaient aussi se cacher dans la ROM du bios
en théorie, on ne peut pas venir écrire dans une ROM ! à coté de la ROM tu as la mémoire CMOS qui contient la configuration de ton BIOS. Ces informations sont maintenus par la pile, donc effectivement, si tu enlèves la pile le CMOS perd ses données ... ces virus devraient donc se loger dans la CMOS ?? Je sais pas trop, à voir ?
dd a été mentionné plus haut : as-tu regardé sa doc ?
non, mais ça ne saurait tarder
ça à l'air intéressant, merci !
J'ai pas tout fini de lire, mais existe-t-il un utilitaire qui scan (automatiquement) le MBR (les différents secteurs etc ...) et qui détecterait les éventuels virus ou tout autre problème, au même titre que le ferait un antivirus ?
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#13 Le 11/04/2013, à 14:55
- Brunod
Re : Détection & Eradication des virus de boot
[... existe-t-il un utilitaire qui scan (automatiquement) le MBR (les différents secteurs etc ...) et qui détecterait les éventuels virus ou tout autre problème, au même titre que le ferait un antivirus ?
Je suppose qu'un anti virus (clamav ?) devrait le faire, mais je te laisse chercher car je n'en ai jamais eu besoin tant qu'à présent.
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#14 Le 11/04/2013, à 14:58
- Nasman
Re : Détection & Eradication des virus de boot
Si tu veux juste effacer le mbr du premier disque physique (/dev/sda) il faut taper dans un terminal (en mode LiveCD ou LiveUSB)
sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
Attention cette commande est très dangereuse. Explication :
sudo: te fait passer en mode superutilisateur, ce qui te donne tous les droits (pour tout casser)
dd: nom de la commande
if=/dev/zero : flux de données en entrée ; ici un générateur de zéros (pour effacer) - alternative /dev/urandom qui génère des caractères aléatoires
of=/dev/sda : destination des données ; /dev/sda est le premier disque dur physique
bs=512 : taille du bloc transféré ; ici 512 octets, soit un secteur
count=1 : 1 seul bloc de 512 octets est transféré.
Globalement la commande efface les 512 premiers octets du disque dur qui correspondent au mbr.
Les 440 premiers octets sont réservés au code présent dans le mbr (en général une routine chargée en mémoire vive lors du démarrage sur disque dur et qui vérifie la cohérence de la table des partitions ; c'est là qu'un virus de mbr peut s'installer)
Vient ensuite l'identifiant du disque (4 octets) puis à l'octet 446 (&be en hexa) commence la table des partitions (si type de partition msdos)
Chacune des partitions principales fait 16 octets, soit 4 partitions principales possibles.
Enfin la signature "média bootable" se trouve au deux derniers octets (signature aa55 en 510-511)
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#15 Le 11/04/2013, à 15:37
- ViKToR69
Re : Détection & Eradication des virus de boot
ViKToR69 a écrit :[... existe-t-il un utilitaire qui scan (automatiquement) le MBR (les différents secteurs etc ...) et qui détecterait les éventuels virus ou tout autre problème, au même titre que le ferait un antivirus ?
Je suppose qu'un anti virus (clamav ?) devrait le faire, mais je te laisse chercher car je n'en ai jamais eu besoin tant qu'à présent.
J'ai déjà utilisé Clamav mais on ne peut pas sélectionner le MBR pour scan, on peut juste scaner dossiers et fichiers !
sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
Globalement la commande efface les 512 premiers octets du disque dur qui correspondent au mbr.
Donc, on pourrait imaginer venir écrire des zéros sur tout un disque dur en remplaçant bs=512 par le nombre de secteurs que contient le disque dur ? et donc ne pas utiliser la commande FDISK ou FORMAT ou un utilitaire comme Gparted pour effacer ses partitions ?
Les 440 premiers octets sont réservés au code présent dans le mbr (en général une routine chargée en mémoire vive lors du démarrage sur disque dur et qui vérifie la cohérence de la table des partitions ; c'est là qu'un virus de mbr peut s'installer)
Vient ensuite l'identifiant du disque (4 octets) puis à l'octet 446 (&be en hexa) commence la table des partitions (si type de partition msdos)
Chacune des partitions principales fait 16 octets, soit 4 partitions principales possibles.
Enfin la signature "média bootable" se trouve au deux derniers octets (signature aa55 en 510-511)
un virus ne pourrait-il pas s'implanter dans la zone "media bootable" justement ?
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#16 Le 11/04/2013, à 15:45
- Nasman
Re : Détection & Eradication des virus de boot
La zone "média bootable" ne fait que deux octets, ça va être dur pour y coder un virus fonctionnel. Si ces octets sont modifiés, je pense que le processus de chargement va s'arrêter très vite.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#17 Le 11/04/2013, à 18:56
- cep
Re : Détection & Eradication des virus de boot
La zone "média bootable" ne fait que deux octets, ça va être dur pour y coder un virus fonctionnel. Si ces octets sont modifiés, je pense que le processus de chargement va s'arrêter très vite.
oui.
Autant passer dd sur les premiers 2048.
Et autant qu'à faire passer avant le mbr dd sur les débuts de chaque fs, il sera plus simple ainsi si besoin de retrouver une table détruite. Et enfin, s'il s'agit de recréer une table autant prendre une table gpt.
Si on veut s'amuser on peut aussi s'inspirer de ceci en adaptant ensuite à gparted et des tables gpt :
http://forum.ubuntu-fr.org/viewtopic.ph … 43#p436843
Bonne continuation.
cep
Hors ligne
#18 Le 14/04/2013, à 16:55
- ViKToR69
Re : Détection & Eradication des virus de boot
Autant passer dd sur les premiers 2048.
et comme je disais plus haut :
Nasman a écrit :sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
Globalement la commande efface les 512 premiers octets du disque dur qui correspondent au mbr.Donc, on pourrait imaginer venir écrire des zéros sur tout un disque dur en remplaçant bs=512 par le nombre de secteurs que contient le disque dur ? et donc ne pas utiliser la commande FDISK ou FORMAT ou un utilitaire comme Gparted pour effacer ses partitions ?
commentaires ?
s'il s'agit de recréer une table autant prendre une table gpt.
Je pense laisser la table gpt de coté pour l'instant
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#19 Le 14/04/2013, à 20:07
- cep
Re : Détection & Eradication des virus de boot
cep a écrit :Autant passer dd sur les premiers 2048.
et comme je disais plus haut :
ViKToR69 a écrit :Nasman a écrit :sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
Globalement la commande efface les 512 premiers octets du disque dur qui correspondent au mbr.Donc, on pourrait imaginer venir écrire des zéros sur tout un disque dur en remplaçant bs=512 par le nombre de secteurs que contient le disque dur ? et donc ne pas utiliser la commande FDISK ou FORMAT ou un utilitaire comme Gparted pour effacer ses partitions ?
commentaires ?
Tu peux en effet utiliser dd pour effacer la totalité du disque, oui. Mais ce sera très long sur la totalité du disque, suivant la taille du périphérique. Remplacer bs=512 par le nombre de secteurs du dique ? non, cela ne fonctionne aps ainsi. À la rigueur tu peux donner une valeur de x Mo pour légèrement augmenter la vitesse de traitement, mais dd sera de toute manière très long.
Par contre il te faudra de toute façon utiliser gparted pour recréer une table et des partitions. Concernant gpt c'est dommage de s'en priver.
Bonne installation.
cep
Hors ligne
#20 Le 15/04/2013, à 11:15
- ViKToR69
Re : Détection & Eradication des virus de boot
Salut à tous,
Je vais bien relire et digérer tout ça ! Merci pour ces explications ...
a+
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#21 Le 17/04/2013, à 10:26
- ViKToR69
Re : Détection & Eradication des virus de boot
J'ai entendu dire que des virus hight tech plus rare pouvaient aussi se cacher dans la ROM du bios (soucis réglable via flashage du bios (dangereux) voir en enlevant la pile sur la carte mère pendant 2 min => testé sur une vieille machine qui refusait de démarrer)
J'ai lu ceci : rootkit - Pour info, les rootkits résistent au formatage en résidant dans le BIOS !
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#22 Le 22/04/2013, à 16:40
- ViKToR69
Re : Détection & Eradication des virus de boot
Bonjour,
Quelques petites questions:
- comment est-on infecté par un virus de boot ?
- quels sont les symptômes ? que font-ils ?
- quand on est infecté par un virus de boot, est-il possible qu'il contamine les autres disques durs internes mais aussi externes en USB ?
- peut-il contaminer également les gravures CD ?
- existe-il un logiciel qui permette de les détecter ?
Merci,
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#23 Le 13/05/2013, à 15:04
- ViKToR69
Re : Détection & Eradication des virus de boot
Salut,
J'ai effectué un sudo fdisk -l et voici le résultat:
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 têtes, 63 secteurs/piste, 19457 cylindres, total 312581808 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x013fbc26
Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 2048 19531775 9764864 83 Linux
/dev/sda2 19531776 42969087 11718656 83 Linux
/dev/sda3 42969088 46874623 1952768 82 partition d'échange Linux / Solaris
Disk /dev/sdb: 40.0 GB, 40020664320 bytes
255 têtes, 63 secteurs/piste, 4865 cylindres, total 78165360 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0xf920f920
Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 2048 78163967 39080960 b W95 FAT32
Disk /dev/sdc: 1000.2 GB, 1000202043392 bytes
255 têtes, 63 secteurs/piste, 121600 cylindres, total 1953519616 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x0002846e
Périphérique Amorce Début Fin Blocs Id Système
/dev/sdc1 2048 1953519615 976758784 b W95 FAT32
NOTA: Ce partionnement a été réalisé avec Gparted du DesktopCD d'Ubuntu 12.04.1 "Prescice Pangolin" en session Live ...
la commande dd n'a pas été utilisé ...
A la lecture nous pouvons constater que toutes les partitions débutent au 2048 ème secteur soit, 2048*512=1048576 octets=1Mio de perdus ... Je ne le plains pas de perdre 1Mio mais je me pose plutôt la question "Qui a-t-il dans ces 1Mio ?" et pourquoi 2048 ? pourquoi pas 4096 ?
Avant, mes disques ne débutaient pas à 2048 mais à une autre valeur, je crois 63 mais je n'en suis pas sûr !
Donc, qu'est-ce qui conditionne la valeur de début de partion ? Est-il possible d'agir sur cette valeur ?
Autre chose aussi, si nous prenons le disque /dev/sdb: 40.0 GB, 40020664320 bytes et que nous prenions le nombre total de secteurs soient 78165360*512=40020664320 octets, on retrouve bien les 40020664320 bytes, ça c'est ok !
Mais, si on prend la valeur de la fin de partition égale à 78163967 secteurs*512 on devrait retrouver la même valeur calculée juste avant mais il n'en est rien puisque on trouve 78163967 secteurs*512=40019951104 octets, différence 40020664320-40019951104=713216 octets=696,5Kio.
Bien sûr, cette perte est négligeable ! Mais, pourquoi je ne retombe pas sur mes pieds ... Rien ne doit se perdre, ni se créer ...
Qui a-t-il sur ces 696,5Kio ?
Enfin, à quoi correspond Blocs ?
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne
#24 Le 13/05/2013, à 15:22
- Nasman
Re : Détection & Eradication des virus de boot
Les 63 premiers secteurs correspondaient à l'ancienne taille d'une piste. Un disque dur était virtuellement constitué de :
255 têtes
63 secteurs par piste
un nombre de cylindre.
Le premier secteur de la première piste est le mbr, la première partition commençait au début de la deuxième tête du premier cylindre.
Un cylindre faisait 63 secteurs/piste x 255 têtes = 16065 secteurs (de 512 octets)
La deuxième partition commençait au début d'un cylindre (donc à un multiple de 16065 secteurs).
Comme 16065 est impair (et n'est pas un multiple de 2) il y a un souci de performances car les données ne sont pas alignées. De plus avec l'avènement des ssd, l'antique géométrie des disques a vécu.
Les partitions sont désormais alignées au niveau du Mio, soit 2048 secteurs de 512 octets.
Autre chose qui doit aussi influer :
Avec des secteurs de 512 octets, la taille maximale d'un disque est de 256x256x256x256x512 octets, soit 2 Tio (car l'emplacement des partition est codé sur 4 octets). Je pense que la taille standard des secteurs passera bientôt vers un multiple de 512 (comme 2048) et avoir des tailles des partitions multiples de 2048 facilite la compatibilité future (pour disques > 2 Tio)
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#25 Le 16/05/2013, à 15:27
- ViKToR69
Re : Détection & Eradication des virus de boot
merci pour ces infos ...
Mes disques durs ont des âges différents:
- le 40Go a 10ans,
- le 160Go 3ans,
- et le 1To quelques mois seulement
Les 2048octects soient 1Mio sont fixés par le logiciel de partitionnement que l'on utilise et en aucun cas par l'âge du disque dur ... non ? Quand j'utilise MSDOS/FDISK pour partitionner, je n'obtenais pas 2048 !
et concernant mes autres interrogations ... ?
Autre chose aussi, si nous prenons le disque /dev/sdb: 40.0 GB, 40020664320 bytes et que nous prenions le nombre total de secteurs soient 78165360*512=40020664320 octets, on retrouve bien les 40020664320 bytes, ça c'est ok !
Mais, si on prend la valeur de la fin de partition égale à 78163967 secteurs*512 on devrait retrouver la même valeur calculée juste avant mais il n'en est rien puisque on trouve 78163967 secteurs*512=40019951104 octets, différence 40020664320-40019951104=713216 octets=696,5Kio.
Bien sûr, cette perte est négligeable ! Mais, pourquoi je ne retombe pas sur mes pieds ... Rien ne doit se perdre, ni se créer ...
Qui a-t-il sur ces 696,5Kio ?Enfin, à quoi correspond Blocs ?
Cordialement,
Lubuntu 14.04 "The Trusty Tahr"
ConfigPC: Athlon XP 2000+|DFI AD77|1Go DDR|RADEON 7000 AGP
Hors ligne