sábado, 17 de junio de 2000

"LifeStages", un gusano en un presunto fichero TXT

El paulatino incremento de informes de actividad vírica por parte
de diversos usuarios delatando la presencia de los síntomas de
infección típicos producidos por la irrupción de "LifeStages" en
los sistemas ha requerido una rápida intervención por parte del
Laboratorio de Hispasec, que se ha empleado a fondo a la hora de
analizar este complejo gusano y poder así ofrecer información de
primera mano en primicia a todos los lectores de "una-al-día".
Se trata, sin duda alguna, del espécimen programado en Visual
Basic Script (VBS) de mayor elaboración conocido por el momento,
debido a la interminable lista de características y mecanismos
de inteligencia pseudoartificial que han sido dispuestos por los
autores del gusano, así como, en gran parte, por lo intrincado
del código y por el novedoso formato en el que se presenta este
peculiar patógeno: el inusual SHS ('SHell Scrap'), diseñado por
los desarrolladores de Microsoft con el fin de permitir el
empaquetado de ficheros de proceso por lotes en un solo archivo,
facilitando así su distribución. Demasiadas ventajas como para
que los inquietos programadores de virus no se decidieran a la
experimentación en un nuevo campo que, a juzgar por los primeros
resultados, promete dar mucho juego mientras Microsoft no tome
cartas en el asunto o, lo que parece todavía más difícil, que
los usuarios se conciencien de las características comunes de
los peligros que les acechan en la Red.
[ Características básicas ]

"LifeStages" es un gusano con capacidad de propagación por medio
de Internet, para lo cual se vale de cuatro posibles vías: la
existencia de unidades compartidas accesibles por la máquina
infectada, el ya por todos conocido envío de autocopias a los
destinatarios cuyas direcciones se encuentran disponibles por
medio de la libreta personal del usuario, y la difusión del
código maligno por medio de los populares clientes de charlas
en directo, mIRC y PIRCH.

La vía más habitual de recepción es la del correo electrónico,
por medio del cual a las futuribles víctimas se les ofrece un
fichero adjunto aparentemente llamado "LIFE_STAGES.TXT", que en
realidad oculta una segunda extensión, "SHS", independientemente
de que el usuario haya especificado de modo explícito, en la
configuración del sistema, su deseo de que Windows muestre la
extensión de cualquier fichero, sea ésta conocida o no. Esta
grave vulnerabilidad es la que permite a "LifeStages" pasar
desapercibido a los ojos de los usuarios más concienciados, dado
que, en condiciones normales, resulta imposible infectarse con
sólo abrir un fichero de texto con el "Bloc de notas".

El origen del problema se halla en una de las llaves fijadas por
defecto en el registro de configuraciones del sistema, que es
la que especifica, a modo de excepción, que la extensión de los
ficheros de tipo "SHS" debe ser ocultada. Aquellos usuarios que
se sientan suficienemente familiarizados con la herramienta de
edición del registro pueden corregir este error con tan solo
acceder a la llave "HKCR\ShellScrap\NeverShowExt" y renombrarla
a "HKCR\ShellScrap\AlwaysShowExt".
[ Funcionamiento ]

Como en la inmensa mayoría de los casos análogos, el ciclo
vital de este espécimen puede estudiarse, desde un punto de
vista analítico, en tres fases: llegada, asentamiento y, una
vez que todos los mecanismos de autodefensa se encuentran en
disposición, expansión a otros ordenadores. Precisamente uno
de los puntos fuertes de "LifeStages" es su capacidad de
supervivencia y de adaptación al medio, factores que, con
respecto a otros elmentos de la misma especie, dificulta
sobremanera la desinfección manual del patógeno sin ayuda de
un profesional, algo que resultaba perfectamente factible en
casos ya estudiados anteriormente como "I love you" o, más
recientemente, "Timofónica".

La etapa de llegada a nuevos ordenadores resulta mucho menos
problemática que en los casos de gusanos de características
similares; así, es posible comprobar que la confianza que a
cualquier usuario le inspira un fichero de texto (extensión
TXT) es casi un factor de inducción inmediato a la posterior
ejecución de un doble clic sobre el fichero cuando llega por
medio de correo electrónico o IRC, mientras que en aquellas
máquinas cuyas unidades compartidas son accesibles por medio
de un ordenador infectado se copia directamente a la carpeta
de inicio del sistema, provocando la inminente ejecución del
código maligno, de forma automática, en el siguiente arranque.

Se trata, por tanto, de un gusano poco necesitado de los
complicados métodos de ingeniería social tan manidos por
algunos de sus congéneres, lo cual se traduce en un factor
decisivo de cara a la rápida expansión de un espécimen cuya
fulgurante actividad ha acabado por desatar una vez más las
cada vez más gastadas alarmas de compañías antivirus, casas
especializadas y demás medios de comunicación, que empiezan
a temer el hecho de poder convertirse en protagonistas de la
conocida fábula del "pastorcillo mentiroso".

"LifeStages" es, además, un nuevo integrante del selecto grupo
de i-worms que ofrecen lo que realmente prometen ser, aparte
de, por supuesto, las actividades que ejecutan en lo que se
podría denominar la "trastienda" del sistema. Así, igual que
"Happy99", "Haiku" y "Melting" -los más populares del género-
cumplen con su palabra y regalan el tan esperado espectáculo
que dicen poder representar, "LifeStages" no se queda atrás y,
para el deleite de los aficionados a los chascarrillos con los
que miles de usuarios inundan los buzones de familiares y
amigos en la Red, el gusano simula la verdadera apertura del
fichero de texto en el que aparenta viajar y muestra a su
víctima el siguiente texto:
- The male stages of life:

Age. Seduction lines.
17 My parents are away for the weekend.
25 My girlfriend is away for the weekend.
35 My fiancee is away for the weekend.
48 My wife is away for the weekend.
66 My second wife is dead.

Age. Favorite sport.
17 Sex.
25 Sex.
35 Sex.
48 Sex.
66 Napping.

Age. Definiton of a successful date.
17 Tongue.
25 Breakfast.
35 She didn't set back my therapy.
48 I didn't have to meet her kids.
66 Got home alive.

- The female stages of life:

Age. Favourite fantasy.
17 Tall, dark and hansome.
25 Tall, dark and hansome with money.
35 Tall, dark and hansome with money and a brain.
48 A man with hair.
66 A man.

Age. Ideal date.
17 He offers to pay.
25 He pays.
35 He cooks breakfast next morning.
48 He cooks breakfast next morning for the kids.
66 He can chew his breakfast.
El primer paso que este espécimen, cuyo código se presenta en
forma cifrada a los ojos de los usuarios más curiosos, consiste
en ubicar el fichero desde el que ha sido ejecutado. Cualquier
otro gusano programado en VBS se limita a emplear una conocida
variable, "WScript.ScriptFullName", para obtener este dato. El
problema al que se enfrenta "LifeStages" radica en el hecho de
que, al encontrarse embebido en un paquete "SHS", el código VBS
es descomprimido y ejecutado desde un directorio temporal del
sistema, una ubicación distinta a la del "dropper" desde el que
el patógeno ha sido ejecutado, que es la que realmente necesita
para poder generar copias suyas en el sistema y reproducirse.
Para este proceso se vale de dos métodos: uno que ingeniosamente
se vale de Microsoft Word para localizar los ficheros de tipo
"SHS" presentes en el ordenador y otro que, en caso de que el
primero falle, efectúa búsquedas específicas por determinadas
carpetas, comparando nombres, extensiones y hasta longitudes de
ficheros con los datos originales del portador original.

Una vez concluido, "LifeStages" procura garantizar una larga
permanencia en el sistema por medio de diversas artimañas; la
primera consiste en esparcir copias y "reinstaladores" por el
sistema, con diversos nombres y ubicaciones, como la papelera
de reciclaje, el directorio de Windows, y el propio directorio
de inicio del conocido cliente de conversaciones en Internet,
"ICQ". Entre los nombres, algunos compuestos de manera aleatoria
a partir de sustantivos, guiones y extensiones, se encuentran
los siguientes, fijos (lista 1) y variables (lista 2):
(nombre del ordenador).acl -> Directorio Windows
MSINFO16.TLB -> Directorio Sistema
SCANREG.VBS -> Directorio Sistema
VBASET.OLB -> Directorio Sistema
DBINDEX.VBS -> Papelera de reciclaje
MSRCYCLD.DAT -> Papelera de reciclaje
RCYCLDBN.DAT -> Papelera de reciclaje
IMPORTANT+(-/_)+(0-999)+TXT.SHS
INFO+(-/_)+(0-999)+TXT.SHS
REPORT+(-/_)+(0-999)+TXT.SHS
SECRET+(-/_)+(0-999)+TXT.SHS
UNKNOWN+(-/_)+(0-999)+TXT.SHS
Posteriormente, con el fin de perfeccionar su camuflaje, el
gusano accede una vez más al registro de configuraciones, esta
vez para asociar el icono de los ficheros "TXT" a los "SHS",
asegurándose de tal manera de que todas las copias de su código
pasarán inadvertidas, al confundirse con corrientes archivos de
texto. Por último, y para concluir su proceso de asentamiento,
este patógeno busca una de sus principales bazas en el cambio de
nombre y ubicación del programa "REGEDIT.EXE", empleado por los
usuarios avanzados para efectuar modificaciones en llaves del
registro, uno de los principales flancos de ataque al gusano,
que envía esta aplicación a la papelera de reciclaje, en la que
es posible encontrar el ejecutable original renombrado a
"RECYCLED.VXD", y desde donde le es posible seguir funcionando
para el sistema, tras una pertinente y última modificación por
parte de "LifeStages".
[ Expansión ]

Este proceso sigue tres caminos; el primero, a través de las
versiones comerciales de Microsoft Outlook, envía una copia del
gusano a cada una de las entradas de la libreta de direcciones
del usuario, siempre y cuando en ella no existan más de cien;
en caso contrario, "LifeStages" selecciona esa cantidad como
tope y elige un número igual de destinatarios al azar, a los que
manda mensajes de correo electrónico variando el contenido del
asunto ("Fw: "+"Life stages"/"Funny"/"Jokes"+" text") y del
propio texto del mensaje ("> The male and the female stages of
life."+" Bye."), codificado en texto plano o en HTML.

El segundo consiste en la difusión de ficheros infectados por
medio de "scripts" automáticos para mIRC y PIRCH, mediante los
cuales envía copias suyas cuando un usuario entra o sale de un
canal (en un 50% de las ocasiones), cuando se envía o se recibe
un fichero de un determinado usuario o en el momento en que el
cliente de IRC detecta la presencia en la Red de alguna de las
personas cuyo "nickname" o apodo figura en la "notify list" o
lista de avisos del usuario infectado. Asimismo, "LifeStages"
es capaz de ocultar las ventanas de DCC (el protocolo por medio
del cual se intercambian ficheros en IRC), y posee la habilidad
de censurar las frases enviadas por personas que hablan acerca
de virus o troyanos y de aquéllas que se encuentran en canales
de ayuda de IRC, así como de modificar las direcciones o URL's
facilitadas por este medio, con el fin de evitar la posibilidad
de que un determinado usuario que se ha percatado de la presencia
del gusano pueda llegar a adivinar cómo puede desinfectarlo.

Por último, "LifeStages" es capaz de enumerar todas las unidades
compartidas a las que un ordenador afectado tenga acceso, y
entonces copiarse al directorio de inicio de Windows de cada
una de las nuevas máquinas disponibles o, en caso de no estar
disponible dicho directorio, a la raíz de la unidad, esperando
a que algún usuario descubra el fichero y se decida a abrirlo
e inspeccionar sus contenidos, activando así la infección.
[ Más información ]

"Stages.worm" -- A new worm with .txt extension that can shut
down e-mail servers (ZD Net/MSNBC)

http://www.zdnet.com/zdnn/stories/news/0,4586,2589845,00.html?chkpt=zdhpnews01

CA posts notice of "Scrap File" or VBS/Stages Worm (Tech Web)
http://www.techweb.com/wire/story/TWB20000619S0008

IRC/Stages.worm (Network Associates)
http://vil.nai.com/villib/dispvirus.asp?virus_k=98668

VBS.Stages.A (Symantec)
http://www.sarc.com/avcenter/venc/data/vbs.stages.a.html




Giorgio Talvanti
talvanti@hispasec.com