|
Boletín técnico: virus en
sectores de arranque
Por Jose Luis Lopez
Este artículo, publicado por primera vez
en setiembre de 2001 (*), con el título "FDISK /MBR y los
virus", originalmente solo pretendía dar algunas explicaciones
sobre la recuperación de ciertas infecciones en el sector
maestro de arranque (MBR), con el uso del comando FDISK /MBR.
Ante las diversas consultas recibidas, hemos ampliado esta
descripción, para dar algunas pautas de recuperación en sistemas
que utilizan también NTFS, y que no tienen un acceso desde
MS DOS.
Sobre FDISK /MBR y los virus
Tal vez, si sufrió alguna vez la acción de un virus de sector de
booteo, o de arranque, haya utilizado la orden FDISK /MBR para
su remoción. Sin embargo, es importante conocer un poco más de
este comando, antes de usarlo tan abiertamente.
El comando FDISK /MBR (Windows 95, 98 y Me), se limita a
sobrescribir lo que se conoce como Master Boot Record (MBR) o
sector maestro de arranque.
El MBR no es otra cosa que un pequeño programa (en assembler)
que el sistema operativo utiliza para iniciarse, y que está
presente en el primer sector de las particiones primarias, y en
cualquier sector de particiones extendidas de arranque.
El Master Boot Record es cargado automáticamente por el BIOS
cuando se inicia el sistema desde C:. Este pequeño programa se
encarga de recorrer la tabla de particiones (contenida dentro
del MBR) y determinar cuál es la partición preparada para
arrancar (booteable), pasar de disco a memoria el sector de
arranque de ésta (boot sector), y darle a éste el control para
que se ejecute y cargue el sistema operativo.
Como todo programa, el MBR puede ser modificado por un virus, de
modo que éste último tome el control cada vez que se inicie la
computadora, (quedando en memoria), y luego continúe con el
comportamiento aparentemente normal del sistema.
El comando FDISK /MBR, es una opción no documentada que vuelve a
crear un Master Boot Record (MBR) en el disco duro (vuelve a
colocar allí el programa de arranque original).
Pero deben tomarse ciertas precauciones antes de usarlo. Y
además, es recomendable hacerlo desde un disquete de arranque,
para no darle al virus la oportunidad de que se ejecute y se
cargue en memoria. Además el virus pudo haber modificado la
"Tabla de Particiones" (los datos necesarios para encontrar y
manejar la información guardada en el duro) y tomar el control
una vez iniciado.
Cómo dijimos, debemos arrancar la computadora desde un disquete
limpio (creado anteriormente a cualquier infección, o en otra
máquina limpia). Es conveniente también realizar en este punto,
un escaneo con un antivirus de DOS, como el F PROT por ejemplo.
Si luego de esto, podemos acceder al disco C:\ con un simple DIR
C: desde A: (solo si el sistema es FAT o FAT32), entonces
podemos aplicar el comando FDISK /MBR.
Debemos tener muy en cuenta que un virus puede desviar las
llamadas de escritura al MBR infectado y redireccionarlas al
sector que contiene el MBR original. Así, al hacer un FDISK /MBR
estaríamos sobrescribiendo el MBR original pero el virus
quedaría intacto.
Algunas nociones
El sector de partición del disco duro en una partición primaria,
se localiza en su primer sector físico (0,0,1). En ese sector se
encuentran "normalmente" dos elementos esenciales para el buen
funcionamiento de nuestra computadora. Uno de ellos es el MBR o
Sector de Partición (código ejecutable). El otro es la Tabla de
Particiones (que son datos).
El problema surge cuando por alguna razón el formato de dicho
sector no corresponde al estándar establecido ya sea por
infección viral, corrupción o simplemente porque ese sector se
escribió bajo otro estándar por un programa análogo al FDISK de
un tercero o bien por otro sistema operativo.
Analicemos el caso de infección por algún virus, como por
ejemplo el bastante veterano "Monkey". El sector de partición
será reemplazado completamente por el código del virus quien
habrá encriptado dicho sector y lo habrá escrito en otro lugar
del disco. En otras palabras, el virus se ha "robado" la
información esencial del disco y sólo dejará que el usuario vea
el disco duro cuando el virus esté presente, es decir cuando
arranca con el disco duro. ¿Qué pasaría entonces si en este caso
usamos FDISK /MBR?. Estaríamos borrando la primera parte del
virus sin restaurar la partición, por lo que ahora no podríamos
ver el disco duro, ¡ni con virus ni sin él!.
En otras palabras, si luego de los pasos mencionados (booteo con
disquete limpio, hacer un DIR desde, antivirus, leer disco C:\)
no han habido errores, haciendo FDISK /MBR volvemos a escribir
un Master Boot Record LIMPIO. Si es un virus el que modificó
esto, podremos limpiarlo con este comando de FDISK, SOLAMENTE si
podemos leer el disco C: arrancando desde un disquete LIMPIO y
sin virus EN MEMORIA.
En Windows 95, 98 y Me, el FDISK /MBR regenera automáticamente
el Master Boot Record del disco duro sin pedir confirmación.
Usarlo es una manera rápida de eliminar los virus que hayan
infectado el registro de arranque.
Ahora bien, si el disco fue particionado usando la herramienta
FDISK en esos sistemas operativos, que es lo mas recomendable,
no existe ningún riesgo en usar la opción FDISK con los
parámetros /MBR (además de lo ya explicado). Pero si el disco
fue particionado por alguna utilería como DISK MANAGER, EZ etc.
que montan un OVERLAY para que las bios de máquinas mas viejas
puedan ser engañadas y reconocer discos duros mayores a 512Mb,
8Gb, 30 Gb, etc., entonces usando el FDISK /MBR estaremos
borrando este OVERLAY y el disco puede quedar inaccesible o con
un tamaño menor.
Un OVERLAY es un programa que interpreta los datos reales que no
puede ver el BIOS, para dárselos (interceptando los pedidos que
el Sistema Operativo hace al BIOS), de modo que el SO pueda
manejar adecuadamente el tamaño real del duro, etc.
Si iniciamos desde un disquete, y no vemos el disco duro con un
DIR C:, también podría deberse al uso de un OVERLAY, o a que se
está utilizando un tipo de sistema de archivos diferente a FAT
(por ejemplo NTFS en Linux, Windows NT, 2000, XP o 2003).
Finalmente, recuerde que existen virus como el CIH que no se
cargan en el MBR. El CIH es un virus que infecta archivos
ejecutables de 32 bit (todos los Windows superiores al ya 3.x),
y cuando un programa infectado se ejecuta, el virus infectará la
memoria de la computadora y luego otros archivos. Luego, entre
sus rutinas destructivas (las que se activan ciertos días como
el 26 de abril), están las de borrar el disco duro (el MBR y un
área determinada de datos).
Sobre Windows NT, 2000, XP y Server 2003 con NTFS
NTFS es un tipo de sistema de archivos propietario de Windows NT
(utilizado también en Windows 2000, XP y 2003), del mismo modo
que FAT y FAT32 lo son de Windows 9x y Me. NTFS implementa
seguridad a nivel de archivo. Cada archivo o directorio posee su
lista de control de acceso (ACL) conociéndose en todo momento
quien tiene derechos sobre él, lo que permite especificar
claramente los permisos para el uso de cualquier archivo.
Por el contrario un sistema bajo particiones FAT o FAT32, carece
totalmente de este tipo de protección en los archivos, siendo
estos accesibles por cualquier usuario que use el sistema.
Aunque el MBR (Master Boot Record), no es ni FAT ni NTFS (es
solo un código ejecutable grabado en un sector especial del
disco), existen comandos diferentes para recuperarlo.
Acerca de la Consola de Recuperación
Cuando se tienen problemas en una partición NTFS bajo Windows
NT, 2000 y XP, se requiere el uso de la consola de recuperación,
para acceder a estas particiones desde un disco de inicio.
Se aconseja que usted se familiarice con ésta, mientras su
sistema está aún sano.
Existen varias formas de iniciar la consola de recuperación,
aquí le mostramos dos de ellas.
1. Iniciar desde disquetes de inicio, utilizar el CD de
instalación y ejecutar /I386/WINNT.EXE (desde el DOS), o
/I386/WINNT32.EXE (desde Windows).
2. Arrancar desde el CD, si el CD es booteable, y su BIOS lo
soporta (en instalaciones con Windows XP esta suele ser la mejor
opción, porque este sistema requiere hardware que suele estar
preparado para ello). En ese caso seleccione la opción REPARAR
(generalmente pulsando "R" cuando se le pregunte).
Qué hacer ante un virus en el sector de booteo
Recuperar MBR en Windows 95, 98, Me
Para empezar, configure su computadora (BIOS) para que inicie
desde un disquete. Esto puede estar como "1st Boot Device" (hay
que poner Floppy y en "2nd Boot Device" hay que poner IDE 0), o
como "Boot Sequence" o similar, y debe estar como: A: > C:.
Luego, con un disco de inicio, del mismo sistema operativo del
instalado en su PC (Windows 95, 98, 98 Segunda Edición, Me,
etc.), creado en una máquina LIMPIA de virus, inicie la
computadora con dicho disquete insertado en la disquetera A:.
Eso haría que se iniciara en A: y no en C:
Desde allí, pruebe a hacer un DIR C:
Si el disco C: se ve (sale el listado de los directorios en C:),
teclee lo siguiente (siempre desde A:):
FDISK /MBR
Para crear un disquete de inicio
en una máquina limpia con Windows 95/98, lo más fácil es hacerlo
desde Panel de Control, Agregar o quitar programas, lengüeta
"Disco de inicio".
Luego de todo esto, recomendamos pasar desde un par de disquetes
preparados anteriormente (también en una máquina limpia), el
antivirus F PROT.
Windows NT, 2000, XP, 2003
En Windows NT, 2000, XP y Server 2003, arranque desde un
disquete o CD de inicio, seleccione la opción RECUPERAR para
entrar a la consola de recuperación cómo se explicó antes, y
cuando ésta se inicie, ejecute el comando FIXMBR para reparar el
Master Boot Record. Escriba HELP para obtener la ayuda de los
comandos (se le requerirá la contraseña de administrador).
Recuperar sector de arranque (Boot Sector)
El sector de arranque es un código ejecutable que informa al
sistema que archivo se deberá cargar al iniciar el proceso de
arranque. Es lo que el MBR ejecuta en primer término.
Por ejemplo, en Windows 95, 98, Me, el sector de arranque le
dice al sistema que comience la ejecución del archivo IO.SYS,
mientras que en NT, 2000, XP, ese primer archivo es NTLDR.
Cómo el sector de arranque es un programa, puede ser infectado
por un virus. Un virus de sector de arranque (boot sector
virus), puede reemplazar el programa original por uno propio,
tomando el control.
Algunos virus realizan un respaldo del sector de arranque
original en el momento de la infección. Para limpiar una
infección, el uso de un antivirus es lo más recomendable, ya que
éste suele saber donde almacena cada virus el sector de arranque
original y reponerlo, siempre que no haya sido modificado
(evidentemente, no todos los virus tienen el mismo
comportamiento).
Un método sugerido de limpieza se da al final del artículo.
En el caso de que desee (o necesite) recuperar el sector de
arranque manualmente, siga estos pasos.
Windows 95, 98 y Me
Inicie desde un disquete de inicio, creado previamente en una
máquina limpia.
Desde la línea de comandos (A:\), ejecute esta orden:
SYS C:
¡¡¡MUY IMPORTANTE!!!, antes de
esto, DEBE estar MUY SEGURO que el disquete de inicio es del
MISMO SISTEMA OPERATIVO INSTALADO EN C:\
Para crear un disquete de inicio en una máquina limpia con
Windows 95/98, lo más fácil es hacerlo desde Panel de Control,
Agregar o quitar programas, lengüeta "Disco de inicio".
Windows NT, 2000, XP, 2003
Arranque la computadora desde un disquete o CD de inicio,
seleccione la opción RECUPERAR para entrar a la consola de
recuperación, y cuando esta se inicie, ejecute el comando
FIXBOOT para reparar el Boot Sector o sector de arranque (se le
requerirá la contraseña de administrador).
Cómo proteger el sector de arranque contra virus.
El sistema de archivos NTFS no es reconocido hasta que Windows
no arranca su servicio de reconocimiento de archivos, del mismo
modo que tampoco lo es el FAT hasta que el sistema se inicia.
Por lo tanto, cualquier disquete infectado que quede en la
disquetera al iniciarse Windows, puede infectar el Master Boot
Record.
Cualquier protección a ese nivel, solo ocurrirá cuando Windows
esté cargado (protección de escritura en el "boot sector" por
ejemplo), pero no cuando arranca el PC.
De allí que se deban tomar precauciones para evitar que un
equipo se infecte por ese descuido.
El mejor consejo al respecto, es eliminar la disquetera de la
secuencia de arranque, configurando el BIOS del sistema para
desactivarla o cambiando el orden de arranque para que se
procese el disco duro antes.
En las opciones de Setup del BIOS, debe buscar y habilitar (si
no lo estuviera), la opción "Boot Sequence" o similar como "C,
A..." etc. o "C: > A:", o "1st Boot Device" como "IDE 0", "2nd
Boot Device" como "Floppy", o la que corresponda en su caso.
Deberá grabar los cambios y salir para reiniciar la computadora.
Generalmente podrá hacerlo pulsando F10, o siguiendo las
instrucciones en pantalla.
Comentario final
Existen muchos virus de arranque antiguos que a pesar de
infectar el MBR o el sector de arranque, no podrán funcionar en
Windows, porque están designados para ejecutarse en modo real
(DOS) y no protegido.
Método sugerido de limpieza para algunos virus de arranque
Descargar (en una máquina limpia), la siguiente herramienta
gratuita de McAfee (1.08 Mb):
http://download.nai.com/products/mcafee avert/em dats/emscan.zip
Copiar el contenido del .ZIP a un disquete:
internet.dat
Bootscan.exe
License.dat
Messages.dat
clean.dat
names.dat
scan.dat
emergency.txt
VALIDATE
Iniciar la computadora infectada
con un disquete de inicio limpio y protegido, creado en una
computadora limpia. Luego que aparezca el símbolo de sistema
(A:\), siga estos procedimientos:
Windows 95, 98, Me:
Desde el símbolo de sistema (A:\), teclee lo siguiente más
Enter:
BOOTSCAN C: /BOOT /CLEAN
/NOMEM
Windows NT, 2000, XP:
BOOTSCAN C: /boot /clean
Saque el disquete y reinicie su
computadora.
Nota:
Con un antivirus actualizado, limpie todos los disquetes que
haya utilizado en la computadora infectada.
Examine todos sus discos duros con uno o más antivirus
actualizados.
(*) Publicado originalmente como "Boletín
técnico: FDISK /MBR y los virus" en VSantivirus No. 448 Año 5 Sábado 29 de setiembre 2001. |