La historia se repite, una vez más nos encontramos ante un espécimen muy simple, como vamos a poder ver en detalle, que consigue una gran propagación. En esta ocasión se presenta en un fichero con el nombre
"homepage.HTML.vbs" y se autoenvía adjunto en un e-mail con el asunto "Homepage". El gusano no merece atención alguna por sus características. Similar al archiconocido "ILoveYou", ha sido creado a partir de un kit de desarrollo automático del mismo autor que el utilizado en el caso del gusano "Kournikova".

La pregunta es evidente, ¿fallan los antivirus?

En esta ocasión muchas de las sofisticadas técnicas de detección y módulos heurísticos de los antivirus no pueden con un algoritmo de cifrado que "esconde" su código original. Gracias a esta técnica el gusano cambia el aspecto más superficial para no ser reconocido a primera vista como una variante más de los típicos gusanos escritos en VBS que utilizan Outlook para autoenviarse.

¿Cómo de complicado es el algoritmo de "cifrado"?

Es de lo más simple, suma 2 al código ASCII del carácter que quiere cifrar (una "a" se convertiría en "c"). Para volver a su estado original le basta con ir restando 2 a los caracteres que componen la cadena cifrada. Ante tanta simpleza, que evidencia una debilidad de los actuales sistemas de detección, no es de extrañar que este detalle haya pasado "desapercibido" en las descripciones que las casas antivirus han realizado de este gusano.

¿Cualquier virus puede modificarse en apariencia y burlar las
protecciones antivirus?


Si. Una de las pruebas de la Comparativa Antivirus 2001, que en unos días estará disponible en Hispasec, consistía en tratar un troyano, conocido por todos los antivirus, con utilidades que devuelven un ejecutable comprimido. El resultado era un EXE, distinto y de menor tamaño, que llevaba a cabo las mismas acciones. Todos los antivirus fallaron de forma generalizada al no reconocer el ejecutable comprimido que contenía al troyano y permitir su ejecución. Tan sólo un motor antivirus tuvo una actuación notable, detectando 6 de los 8 formatos de compresión ejecutables que utilizamos.

¿Algún antivirus fue capaz de reconocer a "HomePage" desde el
primer momento?


Si, las soluciones de McAfee son capaces de detectar este gusano desde febrero, en este caso concreto sus técnicas para reconocer virus genéricos en VBS se han mostrado efectivas. Hay que felicitar a McAfee en esta ocasión, si bien no está libre de sufrir problemas similares (0 de 8 en los formatos de compresión ejecutables utilizados en la comparativa 2001).

Análisis del virus

En la primera línea del virus nos encontramos una llamada a la función que descodifica el gusano pasando como argumento una cadena que contiene el código cifrado:

Execute DeCode("QpGttqtTguwogPgzvUgvYU?Et [...]

La función "DeCode" es muy simple, recorre a través de un bucle toda la cadena restando 2 al código ASCII de cada carácter, teniendo en cuenta algunas excepciones de caracteres especiales:

Function DeCode(Coded)
For I = 1 To Len(Coded)
CurChar= Mid(Coded, I, 1)
If Asc(CurChar) = 15 Then
CurChar= Chr(10)
[...]
Else
CurChar = Chr(Asc(CurChar) - 2)
End If

DeCode = DeCode & CurChar
[...]

Si aplicamos el algoritmo de descifrado obtenemos el código original del gusano y podemos observar cuales son sus intenciones. En primer lugar vemos que hace uso de funciones Windows Sripting Host (WSH), que se encuentra instalado por defecto en Windows 98 y 2000, por lo que el gusano tal vez no funcione en otros sistemas:

On Error Resume Next
Set WS = CreateObject("WScript.Shell")
Set FSO= Createobject("scripting.filesystemobject")
[...]

Estas funciones la utiliza para leer el código del virus y escribirlo en la carpeta temporal del sistema en el fichero homepage.HTML.vbs:

[...]
Set OutF=FSO.OpenTextFile(Folder&"\homepage.HTML.vbs",2,true)
OutF.write ScriptBuffer
[...]

Después observamos que el gusano comprueba si el valor de una variable en el registro es distinto a 1, en tal caso lanza el procedimiento encargado de autoenviar el fichero infectado a toda la libreta de direcciones. Esta comprobación le permite no enviarse repetidamente desde una misma máquina:

[...]
If WS.regread ("HKCU\software\An\mailed") <> "1" then
Mailit()
[...]

La rutina de autoenvío es prácticamente calcada a la de otros especímenes similares, como ILoveYou, recorriendo toda la libreta de direcciones de Outlook a cuyos contactos se envía el mensaje con el fichero infectado "homepage.HTML.vbs", asunto "Homepage" y cuerpo "Hi! You've got to see this page! It's really cool ;O)". Al final de ella pone la variable del registro anteriormente comentada a 1, marcando el sistema para que no vuelva a realizar el envío:

[...]
Set Outlook = CreateObject("Outlook.Application")
If Outlook = "Outlook" Then
Set Mapi=Outlook.GetNameSpace("MAPI")
Set Lists=Mapi.AddressLists
For Each ListIndex In Lists
[...]

Por último contiene un efecto que envía al usuario de forma aleatoria una de las cuatro direcciones web de contenido pornográfico que contiene en su código:

[...]
Randomize
r=Int((4*Rnd)+1)
If r=1 then
WS.Run("http://********.pornbillboard.net/shannon/1.htm")
elseif r=2 Then
WS.Run("http://members.nbci.com/_XMCM/prinzje/1.htm")
elseif r=3 Then
[...]

El gusano no contiene ningún otro efecto.
  • Más Información:


AnnaKournikova: ¿fracaso de la comunidad antivirus?
http://www.hispasec.com/unaaldia.asp?id=842

AVP
http://www.kav.ch/avpve/worms/email/homepage.stm

CAi
http://www3.ca.com/press/PressRelease.asp?id=1581

F-Secure
http://www.f-secure.com/news/2001/news_2001050900.shtml

McAfee
http://www.mcafeeb2b.com/other/jump/homepage-virus.asp
Norman
http://www.norman.com/virus_info/vbs_vbswg_x.shtml

Norton
http://www.sophos.com/virusinfo/analyses/vbsvbswgx.html

Panda
http://service.pandasoftware.es/enci...?Virus=VBSWG.X

Trend Micro
http://www.antivirus.com/vinfo/virus...VBS_HOMEPAGE.A

Sophos
http://www.sophos.com/virusinfo/analyses/vbsvbswgx.html